Home Gallery Resources The Team Rules chat Login Register
Pages:  1 ... 3 4 5 [6] 7 8 9 ... 25
Author Topic: Bone Tree Editor- development thread : Version 1.1 released  (Read 105716 times)
0 Members and 1 Guest are viewing this topic.
TheShyGuy
Holy Kitten
*
Offline Offline

Posts: 1003


  • Awards Super Saiyan Topic KCMM Veteran Heart Container Dedicated Hacker

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


    not done with the new editor lol... but sure i can help you out wherever i can...after a bit more coding lol
    Logged

    DarkPikachu
    Angel Kitten
    ***
    Offline Offline

    Posts: 3069


    complexity == fun

  • Awards Super Saiyan Topic Heart Container KCMM Veteran Tutorial Writer

  • View Profile Awards
    « Reply #76 on: December 08, 2010, 08:29:57 PM »


    HMMM...
    I've just found an undescribed data

    did you know that unknown6 in materials1 is an offset  Cool
    where it goes is just directly after the "decal textures" used by the material
    (when it's not 0)

    but, like P5 offset, is just nothing but bare data at the start -_-

    EDIT:
    sry bout dragging this thread off topic Tongue
    « Last Edit: December 08, 2010, 08:32:35 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.

    TheShyGuy
    Holy Kitten
    *
    Offline Offline

    Posts: 1003


  • Awards Super Saiyan Topic KCMM Veteran Heart Container Dedicated Hacker

  • View Profile Awards
    « Reply #77 on: December 08, 2010, 08:42:06 PM »


    lol..
    -your looking at brawl lib lol....kyral and bero are the people to ask if you need help on it...Most of the things you probably are wanting to know are probably explained(atleast to the point where you know what hes really doing) in different classes...which i don't feel like going through..If you can't figure it out tonight then ill search it tomorow...


    edit2:...i checked and only figured out the frame and inverse bind matrix(except for the last one for some reason stays 0...) ->(x,x,x,0)

    also where is the inverse frame matrix data at?(or do you not need?)
    « Last Edit: December 08, 2010, 08:59:06 PM by theshyguy » Logged

    DarkPikachu
    Angel Kitten
    ***
    Offline Offline

    Posts: 3069


    complexity == fun

  • Awards Super Saiyan Topic Heart Container KCMM Veteran Tutorial Writer

  • View Profile Awards
    « Reply #78 on: December 09, 2010, 01:07:41 PM »


    lol..
    -your looking at brawl lib lol....kyral and bero are the people to ask if you need help on it...Most of the things you probably are wanting to know are probably explained(atleast to the point where you know what hes really doing) in different classes...which i don't feel like going through..If you can't figure it out tonight then ill search it tomorow...
    that was them!... Cheesy
    Pharrox, Kryal, and Bero
    they havn't been active enough to help me lately :/

    edit2:...i checked and only figured out the frame and inverse bind matrix(except for the last one for some reason stays 0...) ->(x,x,x,0)
    O.o
    wait, wut??

    also where is the inverse frame matrix data at?(or do you not need?)
    it should be just stacked below the transform (frame) matrix

    my template could've told you that Tongue

    also about my template,
    well, more like findings...
    the 'data offset' in 'Materials1' points to the 'Materials2' offsets

    unknown6 (which I've renamed to P6) points to the same location as P5 however,
    P6 is for Pachi while P5 is for Pika

    I think Pachi's P5 and P6 are switched :/

    still got more to look into though Tongue

    EDIT:
    BTW:
    Materials1 == Shaders
    Materials2 == Materials
    « Last Edit: December 09, 2010, 01:11:53 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.

    TheShyGuy
    Holy Kitten
    *
    Offline Offline

    Posts: 1003


  • Awards Super Saiyan Topic KCMM Veteran Heart Container Dedicated Hacker

  • View Profile Awards
    « Reply #79 on: December 09, 2010, 02:02:31 PM »


    not home...
    -for some reason I can't changethe fourth value of the frame or inverse bind matrices
    -oh lol...
    -nice
    -i would be done with the new editor but I'm having a problem(prob n easy fix) which I'll fix when I get bak.
    Logged

    DarkPikachu
    Angel Kitten
    ***
    Offline Offline

    Posts: 3069


    complexity == fun

  • Awards Super Saiyan Topic Heart Container KCMM Veteran Tutorial Writer

  • View Profile Awards
    « Reply #80 on: December 09, 2010, 02:12:17 PM »


    hmm...
    so wait...
    you figured out how the values work for the matrices?? :/

    also, if there was a forth set, the matrix would look like this:

    3F 80 00 00 80 00 00 00 00 00 00 00 00 00 00 00
    80 00 00 00 3F 80 00 00 80 00 00 00 00 00 00 00
    00 00 00 00 80 00 00 00 3F 80 00 00 00 00 00 00

    00 00 00 00 00 00 00 00 80 00 00 00 3F 80 00 00

    I think it may use the first 3 floats to figure out the 4th...
    but I'm not sure... (don't go by that as I've never looked at it) :/
    « Last Edit: December 09, 2010, 02:13:34 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.

    DarkPikachu
    Angel Kitten
    ***
    Offline Offline

    Posts: 3069


    complexity == fun

  • Awards Super Saiyan Topic Heart Container KCMM Veteran Tutorial Writer

  • View Profile Awards
    « Reply #81 on: December 09, 2010, 02:35:08 PM »


    Template UD:
    Code:
    <?xml version="1.0"?>
    <!DOCTYPE binary_file_format SYSTEM "BinaryFileFormat.dtd">
    <binary_file_format name="MDL0" type_name="" comment="" expr="" default_byte_order="big" default_read_only="false" default_char_set="ansi">
    <define_struct type_name="offset_name" comment="" expr="">
    <data type="int" name="str_len" format="unsigned" len="1" display=""/>
    <data type="string" name="name" format="ascii" len="str_len" display=""/>
    </define_struct>
    <define_struct type_name="bounds" comment="" expr="">
    <data type="int" name="min_X" format="unsigned" len="4" display=""/>
    <data type="int" name="min_Y" format="unsigned" len="4" display=""/>
    <data type="int" name="min_Z" format="unsigned" len="4" display=""/>
    <data type="int" name="max_X" format="unsigned" len="4" display=""/>
    <data type="int" name="max_Y" format="unsigned" len="4" display=""/>
    <data type="int" name="max_Z" format="unsigned" len="4" display=""/>
    <data type="none" name="pad" len="8"/>
    </define_struct>
    <define_struct type_name="relocation_group" comment="" expr="">
    <data type="int" name="block_len" format="unsigned" len="4" display=""/>
    <data type="int" name="num_offsets" format="unsigned" len="4" display=""/>
    <data type="int" name="tag" format="unsigned" len="4" display="hex"/>
    <data type="int" name="unk1" format="unsigned" len="2" display="hex"/>
    <data type="int" name="unk2" format="unsigned" len="2" display="hex"/>
    <data type="int" name="pad" format="unsigned" len="8" display="hex"/>
    </define_struct>
    <define_struct type_name="relocation_offset" comment="" expr="">
    <data type="int" name="ID" format="unsigned" len="2" display=""/>
    <data type="int" name="unk1" format="unsigned" len="2" display="hex"/>
    <data type="int" name="unk2" format="unsigned" len="2" display="hex"/>
    <data type="int" name="unk3" format="unsigned" len="2" display="hex"/>
    <data type="int" name="string_offset" format="unsigned" len="4" display=""/>
    <data type="int" name="data_offset" format="unsigned" len="4" display=""/>
    </define_struct>
    <define_struct type_name="Definitions" comment="" expr="">
    <struct name="definition_header" type_name="" comment="" expr="">
    <data type="none" name="tmp" len="4"/>
    </struct>
    </define_struct>
    <define_struct type_name="Bones" comment="" expr="">
    <struct name="bone_header" type_name="" comment="" expr="">
    <data type="int" name="header_len" len="4" format="unsigned" display=""/>
    <data type="int" name="MDL0_offset" len="4" format="signed" display=""/>
    <data type="int" name="string_offset" len="4" format="unsigned" display=""/>
    <data type="int" name="bone_index" len="4" format="unsigned" display=""/>
    <data type="int" name="node_ID" len="4" format="unsigned" display=""/>
    <data type="int" name="flags" len="4" format="unsigned" display=""/>
    <data type="int" name="pad" len="8" format="unsigned" display=""/>
    <struct name="loc_rot_sca" type_name="" comment="" expr="">
    <data type="int" name="sca_X" format="unsigned" len="4" display=""/>
    <data type="int" name="sca_Y" len="4" format="unsigned" display=""/>
    <data type="int" name="sca_Z" len="4" format="unsigned" display=""/>
    <data type="int" name="rot_X" len="4" format="unsigned" display=""/>
    <data type="int" name="rot_Y" len="4" format="unsigned" display=""/>
    <data type="int" name="rot_Z" len="4" format="unsigned" display=""/>
    <data type="int" name="loc_X" len="4" format="unsigned" display=""/>
    <data type="int" name="loc_Y" len="4" format="unsigned" display=""/>
    <data type="int" name="loc_Z" len="4" format="unsigned" display=""/>
    </struct>
    <struct name="bound" type_name="" comment="" expr="">
    <data type="int" name="min_X" len="4" format="unsigned" display=""/>
    <data type="int" name="min_Y" len="4" format="unsigned" display=""/>
    <data type="int" name="min_Z" len="4" format="unsigned" display=""/>
    <data type="int" name="max_X" len="4" format="unsigned" display=""/>
    <data type="int" name="max_Y" len="4" format="unsigned" display=""/>
    <data type="int" name="max_Z" len="4" format="unsigned" display=""/>
    </struct>
    <data type="int" name="parent" len="4" format="signed" display=""/>
    <data type="int" name="child" len="4" format="unsigned" display=""/>
    <data type="int" name="next" len="4" format="unsigned" display=""/>
    <data type="int" name="prev" len="4" format="unsigned" display=""/>
    <data type="int" name="part2" len="4" format="unsigned" display=""/>
    </struct>
    <struct name="frame_matrix" type_name="" comment="" expr="">
    <data type="int" name="s_1_1" format="signed" len="4" display=""/>
    <data type="int" name="s_2_1" format="signed" len="4" display=""/>
    <data type="int" name="s_3_1" format="signed" len="4" display=""/>
    <data type="int" name="s_4_1" format="signed" len="4" display=""/>
    <data type="int" name="s_1_2" format="signed" len="4" display=""/>
    <data type="int" name="s_2_2" format="signed" len="4" display=""/>
    <data type="int" name="s_3_2" format="signed" len="4" display=""/>
    <data type="int" name="s_4_2" format="signed" len="4" display=""/>
    <data type="int" name="s_1_3" format="signed" len="4" display=""/>
    <data type="int" name="s_2_3" format="signed" len="4" display=""/>
    <data type="int" name="s_3_3" format="signed" len="4" display=""/>
    <data type="int" name="s_4_3" format="signed" len="4" display=""/>
    </struct>
    <struct name="inverse_matrix" type_name="" comment="" expr="">
    <data type="int" name="s_1_1" format="signed" len="4" display=""/>
    <data type="int" name="s_2_1" format="signed" len="4" display=""/>
    <data type="int" name="s_3_1" format="signed" len="4" display=""/>
    <data type="int" name="s_4_1" format="signed" len="4" display=""/>
    <data type="int" name="s_1_2" format="signed" len="4" display=""/>
    <data type="int" name="s_2_2" format="signed" len="4" display=""/>
    <data type="int" name="s_3_2" format="signed" len="4" display=""/>
    <data type="int" name="s_4_2" format="signed" len="4" display=""/>
    <data type="int" name="s_1_3" format="signed" len="4" display=""/>
    <data type="int" name="s_2_3" format="signed" len="4" display=""/>
    <data type="int" name="s_3_3" format="signed" len="4" display=""/>
    <data type="int" name="s_4_3" format="signed" len="4" display=""/>
    </struct>
    </define_struct>
    <define_struct type_name="Vertices" comment="" expr="">
    <struct name="vertice_header" type_name="" comment="" expr="">
    <data type="int" name="block_size" len="4" format="unsigned" display=""/>
    <data type="int" name="MDL0_offset" len="4" format="signed" display=""/>
    <data type="int" name="data_offset" len="4" format="unsigned" display=""/>
    <data type="int" name="string_offset" len="4" format="unsigned" display=""/>
    <data type="int" name="ID" len="4" format="unsigned" display=""/>
    <data type="int" name="isXYZ" len="4" format="unsigned" display=""/>
    <data type="int" name="type" len="4" format="unsigned" display=""/>
    <data type="int" name="modifier" len="1" format="unsigned" display=""/>
    <data type="int" name="entry_stride" len="1" format="unsigned" display=""/>
    <data type="int" name="num_vertices" len="2" format="unsigned" display=""/>
    <if test="isXYZ == 1" comment="">
    <use_struct name="bounds" expr="" type_name="bounds" comment=""/>
    </if>
    </struct>
    <data type="string" name="vertices" len="vertice_header.entry_stride * vertice_header.num_vertices" format="default" display="vert structures" comment="I could've put a 'FOR' here,
    but it'd take too long when loading the file"/>
    <data type="none" name="pad" len="vertice_header.block_size - (vertice_header.entry_stride*vertice_header.num_vertices) - vertice_header.data_offset"/>
    </define_struct>
    <define_struct type_name="Normals" comment="" expr="">
    <struct name="normal_header" type_name="" comment="" expr="">
    <data type="int" name="block_size" len="4" format="unsigned" display=""/>
    <data type="int" name="MDL0_offset" len="4" format="signed" display=""/>
    <data type="int" name="data_offset" len="4" format="unsigned" display=""/>
    <data type="int" name="string_offset" len="4" format="unsigned" display=""/>
    <data type="int" name="ID" len="4" format="unsigned" display=""/>
    <data type="int" name="isXYZ" len="4" format="unsigned" display=""/>
    <data type="int" name="type" len="4" format="unsigned" display=""/>
    <data type="int" name="modifier" len="1" format="unsigned" display=""/>
    <data type="int" name="entry_stride" len="1" format="unsigned" display=""/>
    <data type="int" name="num_normals" len="2" format="unsigned" display=""/>
    <if test="isXYZ == 1" comment="">
    <use_struct name="bounds" expr="" type_name="bounds" comment=""/>
    </if>
    </struct>
    <data type="string" name="normals" format="default" display="normal structures" len="normal_header.entry_stride*normal_header.num_normals" comment="I could've put a 'FOR' here,
    but it'd take too long when loading the file"/>
    <data type="none" name="pad" len="normal_header.block_size - (normal_header.entry_stride*normal_header.num_normals) - normal_header.data_offset"/>
    </define_struct>
    <define_struct type_name="Colors" comment="" expr="">
    <struct name="color_header" type_name="" comment="" expr="">
    <data type="int" name="block_size" len="4" format="signed" display=""/>
    <data type="int" name="MDL0_offset" len="4" format="signed" display=""/>
    <data type="int" name="data_offset" len="4" format="signed" display=""/>
    <data type="int" name="string_offset" len="4" format="signed" display=""/>
    <data type="int" name="ID" len="4" format="signed" display=""/>
    <data type="int" name="isRGBA" len="4" format="signed" display=""/>
    <data type="int" name="type" len="4" format="signed" display=""/>
    <data type="int" name="entry_stride" len="1" format="signed" display=""/>
    <data type="int" name="modifier" len="1" format="signed" display=""/>
    <data type="int" name="num_colors" len="2" format="signed" display=""/>
    </struct>
    <for name="color" count="color_header.num_colors || color_header.num_colors - 1" stop_test="color_header.num_colors == 0" type_name="" comment="">
    <data type="none" name="color" len="color_header.entry_stride"/>
    </for>
    <data type="none" name="pad" len="color_header.block_size - (color_header.num_colors*color_header.entry_stride) - 32"/>
    </define_struct>
    <define_struct type_name="UV_Points" comment="" expr="">
    <struct name="UV_header" type_name="" comment="" expr="">
    <data type="int" name="block_size" len="4" format="unsigned" display=""/>
    <data type="int" name="MDL0_offset" len="4" format="signed" display=""/>
    <data type="int" name="data_offset" len="4" format="unsigned" display=""/>
    <data type="int" name="string_offset" len="4" format="unsigned" display=""/>
    <data type="int" name="ID" len="4" format="unsigned" display=""/>
    <data type="int" name="isXY" len="4" format="unsigned" display=""/>
    <data type="int" name="type" len="4" format="unsigned" display=""/>
    <data type="int" name="modifier" len="1" format="unsigned" display=""/>
    <data type="int" name="entry_stride" len="1" format="unsigned" display=""/>
    <data type="int" name="num_UVs" len="2" format="unsigned" display=""/>
    <if test="isXY == 1" comment="">
    <struct name="bounds" expr="" type_name="" comment="">
    <data type="int" name="min_X" format="unsigned" len="4" display=""/>
    <data type="int" name="min_Y" format="unsigned" len="4" display=""/>
    <data type="int" name="max_X" format="unsigned" len="4" display=""/>
    <data type="int" name="max_Y" format="unsigned" len="4" display=""/>
    <data type="none" name="pad" len="16"/>
    </struct>
    </if>
    </struct>
    <data type="string" name="UVs" len="UV_header.entry_stride * UV_header.num_UVs" format="default" display="uv structures" comment="I could've put a 'FOR' here,
    but it'd take too long when loading the file"/>
    <data type="none" name="pad" len="UV_header.block_size - (UV_header.entry_stride*UV_header.num_UVs) - UV_header.data_offset"/>
    </define_struct>
    <define_struct type_name="Shaders" comment="" expr="">
    <struct name="header" type_name="" comment="" expr="">
    <data type="int" name="block_size" len="4" format="unsigned" display=""/>
    <data type="int" name="MDL0_offset" len="4" format="signed" display=""/>
    <data type="int" name="string_offset" len="4" format="unsigned" display=""/>
    <data type="int" name="ID" len="4" format="unsigned" display=""/>
    <data type="int" name="unk1" len="4" format="unsigned" display=""/>
    <data type="int" name="textures" len="1" format="unsigned" display=""/>
    <data type="int" name="num_layers" len="1" format="unsigned" display=""/>
    <data type="int" name="Flag3" len="1" format="unsigned" display=""/>
    <data type="int" name="Flag4" len="1" format="unsigned" display=""/>
    <data type="int" name="type" len="4" format="unsigned" display=""/>
    <data type="int" name="Flag5" len="1" format="unsigned" display=""/>
    <data type="int" name="Flag6" len="1" format="unsigned" display=""/>
    <data type="int" name="Flag7" len="1" format="unsigned" display=""/>
    <data type="int" name="Flag8" len="1" format="unsigned" display=""/>
    <data type="int" name="unk3" format="unsigned" len="4" display=""/>
    <data type="int" name="unk4" format="signed" len="4" display=""/>
    <data type="int" name="material_offset" format="signed" len="4" display=""/>
    <data type="int" name="num_textures" format="signed" len="4" display=""/>
    <data type="int" name="textures_offset" format="signed" len="4" display=""/>
    <data type="int" name="P4_offset" format="signed" len="4" display=""/>
    <data type="int" name="P5_offset" format="signed" len="4" display=""/>
    <data type="int" name="P6_offset" format="signed" len="4" display=""/>
    </struct>
    <jump offset="header.material_offset+(header.MDL0_offset*-1)" comment="" origin="start">
    <use_struct name="Material_Reference" expr="" type_name="Materials" comment=""/>
    </jump>
    <if test="header.textures_offset != 0" comment="">
    <jump offset="header.textures_offset+(header.MDL0_offset*-1)" comment="" origin="start">
    <for name="texture" count="header.textures || header.textures -1" stop_test="header.textures == 0" type_name="" comment="">
    <struct name="texture" type_name="" comment="" expr="{this.offset_name.name}">
    <data type="int" name="string_offset" format="signed" len="4" display=""/>
    <data type="int" name="pad" len="4" format="signed" display=""/>
    <data type="int" name="unk1" format="signed" len="4" display=""/>
    <data type="int" name="unk2" format="signed" len="4" display=""/>
    <data type="int" name="unk3" format="signed" len="4" display=""/>
    <data type="int" name="unk4" format="signed" len="4" display=""/>
    <data type="int" name="layerID1" format="signed" len="4" display=""/>
    <data type="int" name="layerID2" format="signed" len="4" display=""/>
    <data type="int" name="unk5" format="signed" len="4" display=""/>
    <data type="int" name="unk6" format="signed" len="4" display=""/>
    <data type="int" name="float" format="unsigned" len="4" display=""/>
    <data type="int" name="unk7" format="signed" len="4" display=""/>
    <data type="int" name="unk8" format="signed" len="4" display=""/>
    <jump offset="string_offset -53" comment="" origin="current">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </jump>
    </if>
    <if test="header.P4_offset != 0" comment="">
    <jump offset="header.P4_offset+(header.MDL0_offset*-1)" comment="" origin="start">
    <struct name="P4" type_name="" comment="" expr="">
    <data type="int" name="tmp" format="signed" len="4" display=""/>
    </struct>
    </jump>
    </if>
    <if test="header.P5_offset != 0" comment="">
    <jump offset="header.P5_offset+(header.MDL0_offset*-1)" comment="" origin="start">
    <struct name="P5" type_name="" comment="" expr="">
    <data type="none" name="tmp" len="384"/>
    </struct>
    </jump>
    </if>
    <if test="header.P6_offset != 0" comment="">
    <jump offset="header.P6_offset+(header.MDL0_offset*-1)" comment="" origin="start">
    <struct name="P6" type_name="" comment="" expr="">
    <data type="none" name="tmp" len="384"/>
    </struct>
    </jump>
    </if>
    </define_struct>
    <define_struct type_name="Materials" comment="" expr="">
    <struct name="header" type_name="" comment="" expr="">
    <data type="int" name="block_length" format="signed" len="4" display=""/>
    <data type="int" name="MDL0_offset" format="signed" len="4" display=""/>
    <data type="int" name="ID" format="signed" len="4" display=""/>
    <data type="int" name="unk" format="unsigned" len="1" display=""/>
    </struct>
    <data type="none" name="tmp" len="header.block_length - 13"/>
    </define_struct>
    <define_struct type_name="Polygons" comment="" expr="">
    <struct name="header" type_name="" comment="" expr="">
    <data type="none" name="tmp" len="4"/>
    </struct>
    </define_struct>
    <define_struct type_name="Textures1" comment="" expr="">
    <data type="int" name="testures" format="signed" len="4" display=""/>
    <for name="texture" count="testures || testures - 1" stop_test="testures == 0" type_name="" comment="">
    <struct name="texture" type_name="" comment="" expr="X: {this.X}, Y: {this.Y}">
    <data type="int" name="X" format="unsigned" len="4" display=""/>
    <data type="int" name="Y" format="unsigned" len="4" display=""/>
    </struct>
    </for>
    </define_struct>
    <define_struct type_name="Textures2" comment="" expr="">
    <struct name="header" type_name="" comment="" expr="">
    <data type="none" name="tmp" len="4"/>
    </struct>
    </define_struct>
    <struct name="header" type_name="" comment="" expr="">
    <data type="string" name="magic" len="4" format="ascii" display=""/>
    <data type="int" name="filesize" format="unsigned" len="4" display=""/>
    <data type="int" name="sections" format="unsigned" len="4" display=""/>
    <data type="int" name="nodes" format="signed" len="4" display=""/>
    <struct name="lists" type_name="" comment="" expr="">
    <data type="int" name="Definitions" format="unsigned" len="4" display=""/>
    <data type="int" name="Bones" format="unsigned" len="4" display=""/>
    <data type="int" name="Vertices" format="unsigned" len="4" display=""/>
    <data type="int" name="Normals" format="unsigned" len="4" display=""/>
    <data type="int" name="Colors" format="unsigned" len="4" display=""/>
    <data type="int" name="UV_Points" format="unsigned" len="4" display=""/>
    <data type="int" name="Shaders" format="unsigned" len="4" display=""/>
    <data type="int" name="Materials" format="unsigned" len="4" display=""/>
    <data type="int" name="Polygons" format="unsigned" len="4" display=""/>
    <data type="int" name="Textures1" format="unsigned" len="4" display=""/>
    <data type="int" name="Textures2" format="unsigned" len="4" display=""/>
    </struct>
    <data type="int" name="name_offset" format="unsigned" len="4" display=""/>
    <data type="int" name="header_len" format="unsigned" len="4" display=""/>
    <data type="int" name="header_offset" format="signed" len="4" display=""/>
    <data type="int" name="unk1" format="unsigned" len="4" display=""/>
    <data type="int" name="unk2" format="unsigned" len="4" display=""/>
    <data type="int" name="num_verticies" format="unsigned" len="4" display=""/>
    <data type="int" name="num_faces" format="unsigned" len="4" display=""/>
    <data type="int" name="unk3" format="unsigned" len="4" display=""/>
    <data type="int" name="num_nodes" format="unsigned" len="4" display=""/>
    <data type="int" name="version" format="unsigned" len="4" display=""/>
    <data type="int" name="unk4" format="unsigned" len="2" display=""/>
    <data type="int" name="unk5" format="unsigned" len="2" display=""/>
    <struct name="bounds" type_name="" comment="" expr="">
    <data type="int" name="min_X" format="unsigned" len="4" display=""/>
    <data type="int" name="min_Y" format="unsigned" len="4" display=""/>
    <data type="int" name="min_Z" format="unsigned" len="4" display=""/>
    <data type="int" name="max_X" format="unsigned" len="4" display=""/>
    <data type="int" name="max_Y" format="unsigned" len="4" display=""/>
    <data type="int" name="max_Z" format="unsigned" len="4" display=""/>
    </struct>
    </struct>
    <jump offset="header.nodes * -1" comment="" origin="start">
    <struct name="nodes" type_name="" comment="" expr="">
    <data type="int" name="num_nodes" format="signed" len="4" display=""/>
    <for name="node" count="num_nodes || num_nodes - 1" stop_test="num_nodes == 0" type_name="" comment="">
    <data type="int" name="node" format="signed" len="4" display=""/>
    </for>
    </struct>
    </jump>
    <if test="header.sections >= 0 && header.lists.Definitions != 0" comment="">
    <jump offset="header.lists.Definitions" comment="" origin="start">
    <struct name="Definitions" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.Definitions" comment="" origin="start">
    <use_struct name="Definitions" expr="" type_name="Definitions" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Definitions - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <if test="header.sections >= 1 && header.lists.Bones != 0" comment="">
    <jump offset="header.lists.Bones" comment="" origin="start">
    <struct name="Bones" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.Bones" comment="" origin="start">
    <use_struct name="Bone_data" expr="" type_name="Bones" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Bones - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <if test="header.sections >= 2 && header.lists.Vertices != 0" comment="">
    <jump offset="header.lists.Vertices" comment="" origin="start">
    <struct name="Vertices" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.Vertices" comment="" origin="start">
    <use_struct name="Vertices" expr="" type_name="Vertices" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Vertices - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <if test="header.sections >= 3 && header.lists.Normals != 0" comment="">
    <jump offset="header.lists.Normals" comment="" origin="start">
    <struct name="Normals" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.Normals" comment="" origin="start">
    <use_struct name="Normals" expr="" type_name="Normals" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Normals - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <if test="header.sections >= 4 && header.lists.Colors != 0" comment="">
    <jump offset="header.lists.Colors" comment="" origin="start">
    <struct name="Colors" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.Colors" comment="" origin="start">
    <use_struct name="Colors" expr="" type_name="Colors" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Colors - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <if test="header.sections >= 5 && header.lists.UV_Points != 0" comment="">
    <jump offset="header.lists.UV_Points" comment="" origin="start">
    <struct name="UV_Points" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.UV_Points" comment="" origin="start">
    <use_struct name="UV_Points" expr="" type_name="UV_Points" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.UV_Points - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <if test="header.sections >= 6 && header.lists.Shaders != 0" comment="">
    <jump offset="header.lists. Shaders" comment="" origin="start">
    <struct name="Shaders" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.Shaders" comment="" origin="start">
    <use_struct name="Shaders" expr="" type_name="Shaders" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Shaders - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <if test="header.sections >= 7 && header.lists.Materials != 0" comment="">
    <jump offset="header.lists.Materials" comment="" origin="start">
    <struct name="Materials" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.Materials" comment="" origin="start">
    <use_struct name="Materials" expr="" type_name="Materials" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Materials - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <if test="header.sections >= 8 && header.lists.Polygons != 0" comment="">
    <jump offset="header.lists.Polygons" comment="" origin="start">
    <struct name="Polygons" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.Polygons" comment="" origin="start">
    <use_struct name="Polygons" expr="" type_name="Polygons" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Polygons - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <if test="header.sections >= 9 && header.lists.Textures1 != 0" comment="">
    <jump offset="header.lists.Textures1" comment="" origin="start">
    <struct name="Textures1" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.Textures1" comment="" origin="start">
    <use_struct name="Textures1" expr="" type_name="Textures1" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Textures1 - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <if test="header.sections >= 10 && header.lists.Textures2 != 0" comment="">
    <jump offset="header.lists.Textures2" comment="" origin="start">
    <struct name="Textures2" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.Textures2" comment="" origin="start">
    <use_struct name="Textures2" expr="" type_name="Textures2" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Textures2 - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <data type="none" name="none"/>
    </binary_file_format>


    I had to go through quite a bit in order to find out what was what :/
    but until I get any further info, this is where I stand now...

    enjoy Smiley
    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.

    TheShyGuy
    Holy Kitten
    *
    Offline Offline

    Posts: 1003


  • Awards Super Saiyan Topic KCMM Veteran Heart Container Dedicated Hacker

  • View Profile Awards
    « Reply #82 on: December 09, 2010, 02:40:48 PM »


    nice ill look at it when/if i can get this done before i gotta go again lol...
    Logged

    DarkPikachu
    Angel Kitten
    ***
    Offline Offline

    Posts: 3069


    complexity == fun

  • Awards Super Saiyan Topic Heart Container KCMM Veteran Tutorial Writer

  • View Profile Awards
    « Reply #83 on: December 09, 2010, 03:13:39 PM »


    KK...

    note: there's alot of 'unk' and 'tmp'

    the tmp is for temporary (for what is known, but not entirely figured out)
    the unk is unknown... just like the P4, 5, and 6 offsets Tongue

    EDIT:
    heh...
    nother UD coming soon Tongue
    Textures1 == Textures
    Textures2 == Pallets

    although, tex2 has an XY position :/
    gonna have to look into that...

    EDIT2:
    and Definitions
    « Last Edit: December 09, 2010, 04:21:07 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.

    ??_?
    Attention. I have your Attention.
    Holy Kitten
    *
    Offline Offline

    Posts: 1618


    PM me or something

  • Awards KCMM Old Timer Super Saiyan Topic Sniper Pin Collector

  • View Profile Awards
    « Reply #84 on: December 09, 2010, 06:04:11 PM »


    Tcll do you have any thing to add to this? http://forums.kc-mm.com/index.php?topic=14690.0
    I was planning on labeling all of them in brawlbox and sending it to Bero but it might be awhile
    Logged


    DarkPikachu
    Angel Kitten
    ***
    Offline Offline

    Posts: 3069


    complexity == fun

  • Awards Super Saiyan Topic Heart Container KCMM Veteran Tutorial Writer

  • View Profile Awards
    « Reply #85 on: December 09, 2010, 08:04:00 PM »


    update:
    Code:
    <?xml version="1.0"?>
    <!DOCTYPE binary_file_format SYSTEM "BinaryFileFormat.dtd">
    <binary_file_format name="MDL0" type_name="" comment="" expr="" default_byte_order="big" default_read_only="false" default_char_set="ansi">
    <define_struct type_name="offset_name" comment="" expr="">
    <data type="int" name="str_len" format="unsigned" len="1" display=""/>
    <data type="string" name="name" format="ascii" len="str_len" display=""/>
    </define_struct>
    <define_struct type_name="bounds" comment="" expr="">
    <data type="int" name="min_X" format="unsigned" len="4" display=""/>
    <data type="int" name="min_Y" format="unsigned" len="4" display=""/>
    <data type="int" name="min_Z" format="unsigned" len="4" display=""/>
    <data type="int" name="max_X" format="unsigned" len="4" display=""/>
    <data type="int" name="max_Y" format="unsigned" len="4" display=""/>
    <data type="int" name="max_Z" format="unsigned" len="4" display=""/>
    <data type="none" name="pad" len="8"/>
    </define_struct>
    <define_struct type_name="relocation_group" comment="" expr="">
    <data type="int" name="block_len" format="unsigned" len="4" display=""/>
    <data type="int" name="num_offsets" format="unsigned" len="4" display=""/>
    <data type="int" name="tag" format="unsigned" len="4" display="hex"/>
    <data type="int" name="unk1" format="unsigned" len="2" display="hex"/>
    <data type="int" name="unk2" format="unsigned" len="2" display="hex"/>
    <data type="int" name="pad" format="unsigned" len="8" display="hex"/>
    </define_struct>
    <define_struct type_name="relocation_offset" comment="" expr="">
    <data type="int" name="ID" format="unsigned" len="2" display=""/>
    <data type="int" name="unk1" format="unsigned" len="2" display="hex"/>
    <data type="int" name="unk2" format="unsigned" len="2" display="hex"/>
    <data type="int" name="unk3" format="unsigned" len="2" display="hex"/>
    <data type="int" name="string_offset" format="unsigned" len="4" display=""/>
    <data type="int" name="data_offset" format="unsigned" len="4" display=""/>
    </define_struct>
    <define_struct type_name="Definitions" comment="" expr="">
    <for name="type" count="" stop_test="this.type == 1" type_name="" comment="">
    <struct name="" type_name="" comment="" expr="type{this.type}">
    <data type="int" name="type" format="unsigned" len="1" display=""/>
    <if test="type == 2" comment="">
    <struct name="t2" type_name="" comment="" expr="({this.ID1},{this.ID2})">
    <data type="int" name="ID1" format="unsigned" len="2" display=""/>
    <data type="int" name="ID2" format="unsigned" len="2" display=""/>
    </struct>
    </if>
    <if test="type == 4" comment="">
    <struct name="t4" type_name="" comment="" expr="({this.ID1},{this.ID2},{this.ID3},{this.ID4})">
    <data type="int" name="ID1" format="unsigned" len="2" display=""/>
    <data type="int" name="ID2" format="unsigned" len="2" display=""/>
    <data type="int" name="ID3" format="unsigned" len="2" display=""/>
    <data type="int" name="ID4" format="unsigned" len="1" display=""/>
    </struct>
    </if>
    </struct>
    </for>
    </define_struct>
    <define_struct type_name="Bones" comment="" expr="">
    <struct name="bone_header" type_name="" comment="" expr="">
    <data type="int" name="header_len" len="4" format="unsigned" display=""/>
    <data type="int" name="MDL0_offset" len="4" format="signed" display=""/>
    <data type="int" name="string_offset" len="4" format="unsigned" display=""/>
    <data type="int" name="bone_index" len="4" format="unsigned" display=""/>
    <data type="int" name="node_ID" len="4" format="unsigned" display=""/>
    <data type="int" name="flags" len="4" format="unsigned" display=""/>
    <data type="int" name="pad" len="8" format="unsigned" display=""/>
    <struct name="loc_rot_sca" type_name="" comment="" expr="">
    <data type="int" name="sca_X" format="unsigned" len="4" display=""/>
    <data type="int" name="sca_Y" len="4" format="unsigned" display=""/>
    <data type="int" name="sca_Z" len="4" format="unsigned" display=""/>
    <data type="int" name="rot_X" len="4" format="unsigned" display=""/>
    <data type="int" name="rot_Y" len="4" format="unsigned" display=""/>
    <data type="int" name="rot_Z" len="4" format="unsigned" display=""/>
    <data type="int" name="loc_X" len="4" format="unsigned" display=""/>
    <data type="int" name="loc_Y" len="4" format="unsigned" display=""/>
    <data type="int" name="loc_Z" len="4" format="unsigned" display=""/>
    </struct>
    <struct name="bound" type_name="" comment="" expr="">
    <data type="int" name="min_X" len="4" format="unsigned" display=""/>
    <data type="int" name="min_Y" len="4" format="unsigned" display=""/>
    <data type="int" name="min_Z" len="4" format="unsigned" display=""/>
    <data type="int" name="max_X" len="4" format="unsigned" display=""/>
    <data type="int" name="max_Y" len="4" format="unsigned" display=""/>
    <data type="int" name="max_Z" len="4" format="unsigned" display=""/>
    </struct>
    <data type="int" name="parent" len="4" format="signed" display=""/>
    <data type="int" name="child" len="4" format="unsigned" display=""/>
    <data type="int" name="next" len="4" format="unsigned" display=""/>
    <data type="int" name="prev" len="4" format="unsigned" display=""/>
    <data type="int" name="part2" len="4" format="unsigned" display=""/>
    </struct>
    <struct name="frame_matrix" type_name="" comment="" expr="">
    <data type="int" name="s_1_1" format="signed" len="4" display=""/>
    <data type="int" name="s_2_1" format="signed" len="4" display=""/>
    <data type="int" name="s_3_1" format="signed" len="4" display=""/>
    <data type="int" name="s_4_1" format="signed" len="4" display=""/>
    <data type="int" name="s_1_2" format="signed" len="4" display=""/>
    <data type="int" name="s_2_2" format="signed" len="4" display=""/>
    <data type="int" name="s_3_2" format="signed" len="4" display=""/>
    <data type="int" name="s_4_2" format="signed" len="4" display=""/>
    <data type="int" name="s_1_3" format="signed" len="4" display=""/>
    <data type="int" name="s_2_3" format="signed" len="4" display=""/>
    <data type="int" name="s_3_3" format="signed" len="4" display=""/>
    <data type="int" name="s_4_3" format="signed" len="4" display=""/>
    </struct>
    <struct name="inverse_matrix" type_name="" comment="" expr="">
    <data type="int" name="s_1_1" format="signed" len="4" display=""/>
    <data type="int" name="s_2_1" format="signed" len="4" display=""/>
    <data type="int" name="s_3_1" format="signed" len="4" display=""/>
    <data type="int" name="s_4_1" format="signed" len="4" display=""/>
    <data type="int" name="s_1_2" format="signed" len="4" display=""/>
    <data type="int" name="s_2_2" format="signed" len="4" display=""/>
    <data type="int" name="s_3_2" format="signed" len="4" display=""/>
    <data type="int" name="s_4_2" format="signed" len="4" display=""/>
    <data type="int" name="s_1_3" format="signed" len="4" display=""/>
    <data type="int" name="s_2_3" format="signed" len="4" display=""/>
    <data type="int" name="s_3_3" format="signed" len="4" display=""/>
    <data type="int" name="s_4_3" format="signed" len="4" display=""/>
    </struct>
    </define_struct>
    <define_struct type_name="Vertices" comment="" expr="">
    <struct name="vertice_header" type_name="" comment="" expr="">
    <data type="int" name="block_size" len="4" format="unsigned" display=""/>
    <data type="int" name="MDL0_offset" len="4" format="signed" display=""/>
    <data type="int" name="data_offset" len="4" format="unsigned" display=""/>
    <data type="int" name="string_offset" len="4" format="unsigned" display=""/>
    <data type="int" name="ID" len="4" format="unsigned" display=""/>
    <data type="int" name="isXYZ" len="4" format="unsigned" display=""/>
    <data type="int" name="type" len="4" format="unsigned" display=""/>
    <data type="int" name="modifier" len="1" format="unsigned" display=""/>
    <data type="int" name="entry_stride" len="1" format="unsigned" display=""/>
    <data type="int" name="num_vertices" len="2" format="unsigned" display=""/>
    <if test="isXYZ == 1" comment="">
    <use_struct name="bounds" expr="" type_name="bounds" comment=""/>
    </if>
    </struct>
    <data type="string" name="vertices" len="vertice_header.entry_stride * vertice_header.num_vertices" format="default" display="vert structures" comment="I could've put a 'FOR' here,
    but it'd take too long when loading the file"/>
    <data type="none" name="pad" len="vertice_header.block_size - (vertice_header.entry_stride*vertice_header.num_vertices) - vertice_header.data_offset"/>
    </define_struct>
    <define_struct type_name="Normals" comment="" expr="">
    <struct name="normal_header" type_name="" comment="" expr="">
    <data type="int" name="block_size" len="4" format="unsigned" display=""/>
    <data type="int" name="MDL0_offset" len="4" format="signed" display=""/>
    <data type="int" name="data_offset" len="4" format="unsigned" display=""/>
    <data type="int" name="string_offset" len="4" format="unsigned" display=""/>
    <data type="int" name="ID" len="4" format="unsigned" display=""/>
    <data type="int" name="isXYZ" len="4" format="unsigned" display=""/>
    <data type="int" name="type" len="4" format="unsigned" display=""/>
    <data type="int" name="modifier" len="1" format="unsigned" display=""/>
    <data type="int" name="entry_stride" len="1" format="unsigned" display=""/>
    <data type="int" name="num_normals" len="2" format="unsigned" display=""/>
    <if test="isXYZ == 1" comment="">
    <use_struct name="bounds" expr="" type_name="bounds" comment=""/>
    </if>
    </struct>
    <data type="string" name="normals" format="default" display="normal structures" len="normal_header.entry_stride*normal_header.num_normals" comment="I could've put a 'FOR' here,
    but it'd take too long when loading the file"/>
    <data type="none" name="pad" len="normal_header.block_size - (normal_header.entry_stride*normal_header.num_normals) - normal_header.data_offset"/>
    </define_struct>
    <define_struct type_name="Colors" comment="" expr="">
    <struct name="color_header" type_name="" comment="" expr="">
    <data type="int" name="block_size" len="4" format="signed" display=""/>
    <data type="int" name="MDL0_offset" len="4" format="signed" display=""/>
    <data type="int" name="data_offset" len="4" format="signed" display=""/>
    <data type="int" name="string_offset" len="4" format="signed" display=""/>
    <data type="int" name="ID" len="4" format="signed" display=""/>
    <data type="int" name="isRGBA" len="4" format="signed" display=""/>
    <data type="int" name="type" len="4" format="signed" display=""/>
    <data type="int" name="entry_stride" len="1" format="signed" display=""/>
    <data type="int" name="modifier" len="1" format="signed" display=""/>
    <data type="int" name="num_colors" len="2" format="signed" display=""/>
    </struct>
    <for name="color" count="color_header.num_colors || color_header.num_colors - 1" stop_test="color_header.num_colors == 0" type_name="" comment="">
    <data type="none" name="color" len="color_header.entry_stride"/>
    </for>
    <data type="none" name="pad" len="color_header.block_size - (color_header.num_colors*color_header.entry_stride) - 32"/>
    </define_struct>
    <define_struct type_name="UV_Points" comment="" expr="">
    <struct name="UV_header" type_name="" comment="" expr="">
    <data type="int" name="block_size" len="4" format="unsigned" display=""/>
    <data type="int" name="MDL0_offset" len="4" format="signed" display=""/>
    <data type="int" name="data_offset" len="4" format="unsigned" display=""/>
    <data type="int" name="string_offset" len="4" format="unsigned" display=""/>
    <data type="int" name="ID" len="4" format="unsigned" display=""/>
    <data type="int" name="isXY" len="4" format="unsigned" display=""/>
    <data type="int" name="type" len="4" format="unsigned" display=""/>
    <data type="int" name="modifier" len="1" format="unsigned" display=""/>
    <data type="int" name="entry_stride" len="1" format="unsigned" display=""/>
    <data type="int" name="num_UVs" len="2" format="unsigned" display=""/>
    <if test="isXY == 1" comment="">
    <struct name="bounds" expr="" type_name="" comment="">
    <data type="int" name="min_X" format="unsigned" len="4" display=""/>
    <data type="int" name="min_Y" format="unsigned" len="4" display=""/>
    <data type="int" name="max_X" format="unsigned" len="4" display=""/>
    <data type="int" name="max_Y" format="unsigned" len="4" display=""/>
    <data type="none" name="pad" len="16"/>
    </struct>
    </if>
    </struct>
    <data type="string" name="UVs" len="UV_header.entry_stride * UV_header.num_UVs" format="default" display="uv structures" comment="I could've put a 'FOR' here,
    but it'd take too long when loading the file"/>
    <data type="none" name="pad" len="UV_header.block_size - (UV_header.entry_stride*UV_header.num_UVs) - UV_header.data_offset"/>
    </define_struct>
    <define_struct type_name="Shaders" comment="" expr="">
    <struct name="header" type_name="" comment="" expr="">
    <data type="int" name="block_size" len="4" format="unsigned" display=""/>
    <data type="int" name="MDL0_offset" len="4" format="signed" display=""/>
    <data type="int" name="string_offset" len="4" format="unsigned" display=""/>
    <data type="int" name="ID" len="4" format="unsigned" display=""/>
    <data type="int" name="unk1" len="4" format="unsigned" display=""/>
    <data type="int" name="textures" len="1" format="unsigned" display=""/>
    <data type="int" name="num_layers" len="1" format="unsigned" display=""/>
    <data type="int" name="Flag3" len="1" format="unsigned" display=""/>
    <data type="int" name="Flag4" len="1" format="unsigned" display=""/>
    <data type="int" name="type" len="4" format="unsigned" display=""/>
    <data type="int" name="Flag5" len="1" format="unsigned" display=""/>
    <data type="int" name="Flag6" len="1" format="unsigned" display=""/>
    <data type="int" name="Flag7" len="1" format="unsigned" display=""/>
    <data type="int" name="Flag8" len="1" format="unsigned" display=""/>
    <data type="int" name="unk3" format="unsigned" len="4" display=""/>
    <data type="int" name="unk4" format="signed" len="4" display=""/>
    <data type="int" name="material_offset" format="signed" len="4" display=""/>
    <data type="int" name="num_textures" format="signed" len="4" display=""/>
    <data type="int" name="textures_offset" format="signed" len="4" display=""/>
    <data type="int" name="P4_offset" format="signed" len="4" display=""/>
    <data type="int" name="P5_offset" format="signed" len="4" display=""/>
    <data type="int" name="P6_offset" format="signed" len="4" display=""/>
    </struct>
    <jump offset="header.material_offset+(header.MDL0_offset*-1)" comment="" origin="start">
    <use_struct name="Material_Reference" expr="" type_name="Materials" comment=""/>
    </jump>
    <if test="header.textures_offset != 0" comment="">
    <jump offset="header.textures_offset+(header.MDL0_offset*-1)" comment="" origin="start">
    <for name="texture" count="header.textures || header.textures -1" stop_test="header.textures == 0" type_name="" comment="">
    <struct name="texture" type_name="" comment="" expr="{this.offset_name.name}">
    <data type="int" name="string_offset" format="signed" len="4" display=""/>
    <data type="int" name="pad" len="4" format="signed" display=""/>
    <data type="int" name="unk1" format="signed" len="4" display=""/>
    <data type="int" name="unk2" format="signed" len="4" display=""/>
    <data type="int" name="unk3" format="signed" len="4" display=""/>
    <data type="int" name="unk4" format="signed" len="4" display=""/>
    <data type="int" name="layerID1" format="signed" len="4" display=""/>
    <data type="int" name="layerID2" format="signed" len="4" display=""/>
    <data type="int" name="unk5" format="signed" len="4" display=""/>
    <data type="int" name="unk6" format="signed" len="4" display=""/>
    <data type="int" name="float" format="unsigned" len="4" display=""/>
    <data type="int" name="unk7" format="signed" len="4" display=""/>
    <data type="int" name="unk8" format="signed" len="4" display=""/>
    <jump offset="string_offset -53" comment="" origin="current">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </jump>
    </if>
    <if test="header.P4_offset != 0" comment="">
    <jump offset="header.P4_offset+(header.MDL0_offset*-1)" comment="" origin="start">
    <struct name="P4" type_name="" comment="" expr="">
    <data type="int" name="tmp" format="signed" len="4" display=""/>
    </struct>
    </jump>
    </if>
    <if test="header.P5_offset != 0" comment="">
    <jump offset="header.P5_offset+(header.MDL0_offset*-1)" comment="" origin="start">
    <struct name="P5" type_name="" comment="" expr="">
    <data type="none" name="tmp" len="384"/>
    </struct>
    </jump>
    </if>
    <if test="header.P6_offset != 0" comment="">
    <jump offset="header.P6_offset+(header.MDL0_offset*-1)" comment="" origin="start">
    <struct name="P6" type_name="" comment="" expr="">
    <data type="none" name="tmp" len="384"/>
    </struct>
    </jump>
    </if>
    </define_struct>
    <define_struct type_name="Materials" comment="" expr="">
    <struct name="header" type_name="" comment="" expr="">
    <data type="int" name="block_length" format="signed" len="4" display=""/>
    <data type="int" name="MDL0_offset" format="signed" len="4" display=""/>
    <data type="int" name="ID" format="signed" len="4" display=""/>
    <data type="int" name="unk" format="unsigned" len="1" display=""/>
    </struct>
    <data type="none" name="tmp" len="header.block_length - 13"/>
    </define_struct>
    <define_struct type_name="Polygons" comment="" expr="">
    <struct name="header" type_name="" comment="" expr="">
    <data type="none" name="tmp" len="4"/>
    </struct>
    </define_struct>
    <define_struct type_name="Textures" comment="" expr="">
    <data type="int" name="textures" format="signed" len="4" display=""/>
    <for name="texture" count="textures || textures - 1" stop_test="textures == 0" type_name="" comment="">
    <struct name="texture" type_name="" comment="" expr="X: {this.X}, Y: {this.Y}">
    <data type="int" name="X" format="unsigned" len="4" display=""/>
    <data type="int" name="Y" format="unsigned" len="4" display=""/>
    </struct>
    </for>
    </define_struct>
    <define_struct type_name="Pallets" comment="" expr="">
    <data type="int" name="pallets" format="signed" len="4" display=""/>
    <for name="pallet" count="pallets || pallets - 1" stop_test="pallets == 0" type_name="" comment="">
    <struct name="texture" type_name="" comment="" expr="X: {this.X}, Y: {this.Y}">
    <data type="int" name="X" format="unsigned" len="4" display=""/>
    <data type="int" name="Y" format="unsigned" len="4" display=""/>
    </struct>
    </for>
    </define_struct>
    <struct name="header" type_name="" comment="" expr="">
    <data type="string" name="magic" len="4" format="ascii" display=""/>
    <data type="int" name="filesize" format="unsigned" len="4" display=""/>
    <data type="int" name="sections" format="unsigned" len="4" display=""/>
    <data type="int" name="nodes" format="signed" len="4" display=""/>
    <struct name="lists" type_name="" comment="" expr="">
    <data type="int" name="Definitions" format="unsigned" len="4" display=""/>
    <data type="int" name="Bones" format="unsigned" len="4" display=""/>
    <data type="int" name="Vertices" format="unsigned" len="4" display=""/>
    <data type="int" name="Normals" format="unsigned" len="4" display=""/>
    <data type="int" name="Colors" format="unsigned" len="4" display=""/>
    <data type="int" name="UV_Points" format="unsigned" len="4" display=""/>
    <data type="int" name="Shaders" format="unsigned" len="4" display=""/>
    <data type="int" name="Materials" format="unsigned" len="4" display=""/>
    <data type="int" name="Polygons" format="unsigned" len="4" display=""/>
    <data type="int" name="Textures" format="unsigned" len="4" display=""/>
    <data type="int" name="Pallets" format="unsigned" len="4" display=""/>
    </struct>
    <data type="int" name="name_offset" format="unsigned" len="4" display=""/>
    <data type="int" name="header_len" format="unsigned" len="4" display=""/>
    <data type="int" name="header_offset" format="signed" len="4" display=""/>
    <data type="int" name="unk1" format="unsigned" len="4" display=""/>
    <data type="int" name="unk2" format="unsigned" len="4" display=""/>
    <data type="int" name="num_verticies" format="unsigned" len="4" display=""/>
    <data type="int" name="num_faces" format="unsigned" len="4" display=""/>
    <data type="int" name="unk3" format="unsigned" len="4" display=""/>
    <data type="int" name="num_nodes" format="unsigned" len="4" display=""/>
    <data type="int" name="version" format="unsigned" len="4" display=""/>
    <data type="int" name="unk4" format="unsigned" len="2" display=""/>
    <data type="int" name="unk5" format="unsigned" len="2" display=""/>
    <struct name="bounds" type_name="" comment="" expr="">
    <data type="int" name="min_X" format="unsigned" len="4" display=""/>
    <data type="int" name="min_Y" format="unsigned" len="4" display=""/>
    <data type="int" name="min_Z" format="unsigned" len="4" display=""/>
    <data type="int" name="max_X" format="unsigned" len="4" display=""/>
    <data type="int" name="max_Y" format="unsigned" len="4" display=""/>
    <data type="int" name="max_Z" format="unsigned" len="4" display=""/>
    </struct>
    </struct>
    <jump offset="header.nodes * -1" comment="" origin="start">
    <struct name="nodes" type_name="" comment="" expr="">
    <data type="int" name="num_nodes" format="signed" len="4" display=""/>
    <for name="node" count="num_nodes || num_nodes - 1" stop_test="num_nodes == 0" type_name="" comment="">
    <data type="int" name="node" format="signed" len="4" display=""/>
    </for>
    </struct>
    </jump>
    <if test="header.lists.Definitions != 0" comment="">
    <jump offset="header.lists.Definitions" comment="" origin="start">
    <struct name="Definitions" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.Definitions" comment="" origin="start">
    <use_struct name="Definitions" expr="" type_name="Definitions" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Definitions - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <if test="header.lists.Bones != 0" comment="">
    <jump offset="header.lists.Bones" comment="" origin="start">
    <struct name="Bones" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.Bones" comment="" origin="start">
    <use_struct name="Bone_data" expr="" type_name="Bones" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Bones - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <if test="header.lists.Vertices != 0" comment="">
    <jump offset="header.lists.Vertices" comment="" origin="start">
    <struct name="Vertices" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.Vertices" comment="" origin="start">
    <use_struct name="Vertices" expr="" type_name="Vertices" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Vertices - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <if test="header.lists.Normals != 0" comment="">
    <jump offset="header.lists.Normals" comment="" origin="start">
    <struct name="Normals" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.Normals" comment="" origin="start">
    <use_struct name="Normals" expr="" type_name="Normals" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Normals - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <if test="header.lists.Colors != 0" comment="">
    <jump offset="header.lists.Colors" comment="" origin="start">
    <struct name="Colors" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.Colors" comment="" origin="start">
    <use_struct name="Colors" expr="" type_name="Colors" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Colors - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <if test="header.lists.UV_Points != 0" comment="">
    <jump offset="header.lists.UV_Points" comment="" origin="start">
    <struct name="UV_Points" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.UV_Points" comment="" origin="start">
    <use_struct name="UV_Points" expr="" type_name="UV_Points" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.UV_Points - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <if test="header.lists.Shaders != 0" comment="">
    <jump offset="header.lists. Shaders" comment="" origin="start">
    <struct name="Shaders" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.Shaders" comment="" origin="start">
    <use_struct name="Shaders" expr="" type_name="Shaders" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Shaders - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <if test="header.lists.Materials != 0" comment="">
    <jump offset="header.lists.Materials" comment="" origin="start">
    <struct name="Materials" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.Materials" comment="" origin="start">
    <use_struct name="Materials" expr="" type_name="Materials" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Materials - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <if test="header.lists.Polygons != 0" comment="">
    <jump offset="header.lists.Polygons" comment="" origin="start">
    <struct name="Polygons" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.Polygons" comment="" origin="start">
    <use_struct name="Polygons" expr="" type_name="Polygons" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Polygons - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <if test="header.lists.Textures != 0" comment="">
    <jump offset="header.lists.Textures" comment="" origin="start">
    <struct name="Textures" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.Textures" comment="" origin="start">
    <use_struct name="Textures" expr="" type_name="Textures" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Textures - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <if test="header.lists.Pallets != 0" comment="">
    <jump offset="header.lists.Pallets" comment="" origin="start">
    <struct name="Pallets" type_name="" comment="" expr="">
    <use_struct name="relocation_group" expr="" type_name="relocation_group" comment=""/>
    <for name="data" count="relocation_group.num_offsets || relocation_group.num_offsets - 1" stop_test="relocation_group.num_offsets == 0" type_name="" comment="">
    <struct name="data" type_name="" comment="" expr="{this.offset_name.name}">
    <use_struct name="relocation_offset" expr="" type_name="relocation_offset" comment=""/>
    <jump offset="relocation_offset.data_offset + header.lists.Pallets" comment="" origin="start">
    <use_struct name="Pallets" expr="" type_name="Pallets" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Pallets - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>
    <data type="none" name="none"/>
    </binary_file_format>


    Pallets and Definitions are now displayed.
    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.

    TheShyGuy
    Holy Kitten
    *
    Offline Offline

    Posts: 1003


  • Awards Super Saiyan Topic KCMM Veteran Heart Container Dedicated Hacker

  • View Profile Awards
    « Reply #86 on: December 09, 2010, 08:21:36 PM »


    havent been working on it much today..

    but im having so much trouble with this grid lol...I need to figure out a new way to assign cells the indexes...its fine until it gets to the code where the first = 0 and next is > 1...ima think of a new idea to assign em...
    Logged

    DarkPikachu
    Angel Kitten
    ***
    Offline Offline

    Posts: 3069


    complexity == fun

  • Awards Super Saiyan Topic Heart Container KCMM Veteran Tutorial Writer

  • View Profile Awards
    « Reply #87 on: December 09, 2010, 08:42:21 PM »


    havent been working on it much today..

    but im having so much trouble with this grid lol...I need to figure out a new way to assign cells the indexes...its fine until it gets to the code where the first = 0 and next is > 1...ima think of a new idea to assign em...

    lol...
    wish I knew how to use them :/
    (I know what they do, just not how they work entirely)
    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.

    TheShyGuy
    Holy Kitten
    *
    Offline Offline

    Posts: 1003


  • Awards Super Saiyan Topic KCMM Veteran Heart Container Dedicated Hacker

  • View Profile Awards
    « Reply #88 on: December 10, 2010, 01:47:58 PM »


    finally the weekend...i failed at using the grid lol but i got one more idea to use with the grid..hope it works 0.o
    Logged

    DarkPikachu
    Angel Kitten
    ***
    Offline Offline

    Posts: 3069


    complexity == fun

  • Awards Super Saiyan Topic Heart Container KCMM Veteran Tutorial Writer

  • View Profile Awards
    « Reply #89 on: December 10, 2010, 01:58:51 PM »


    heh... the weekend...

    I'm going to a tourney from today until sunday
    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.

    Pages:  1 ... 3 4 5 [6] 7 8 9 ... 25
    Print
    Jump to: