Home Gallery Resources The Team Rules chat Login Register
Pages:  1 ... 12 13 14 [15] 16 17 18 ... 25
Author Topic: Bone Tree Editor- development thread : Version 1.1 released  (Read 98862 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 #210 on: January 16, 2011, 10:45:31 PM »


    seems my mdl0 reft template has an error somewhere...can u give the updated cuz i cant even open mario or pikas mdl0 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 #211 on: January 16, 2011, 10:59:21 PM »


    seems my mdl0 reft template has an error somewhere...can u give the updated cuz i cant even open mario or pikas mdl0 lol


    alright... (next post)

    btw, your matrices are off:

    Brbx:
    (1,0,5,0)(3,1,0,0)(0,0,1,0)(0,0,2,1)

    1 3 0 0
    0 1 0 0
    5 0 1 2
    0 0 0 1

    btw, last row is always 0 0 0 1
    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 #212 on: January 16, 2011, 11:00:39 PM »


    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="geometries" comment="" expr="">
    <data type="int" name="count" format="signed" len="2" display=""/>
    <for name="point" count="count || count - 1" stop_test="count == 0" type_name="" comment="">
    <struct name="" type_name="" comment="" expr="">
    <if test="header.vtx_des2 == 2" comment="">
    <data type="none" name="vtx2" len="4"/>
    </if>
    <!--
    <if test="header.vtx_des2 == 3" comment="">
    <data type="none" name="vtx3" len="9"/>
    </if>
    -->
    </struct>
    </for>
    </define_struct>
    <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 == 3" comment="">
    <struct name="t3" type_name="" comment="" expr="({this.ID}) ({this.count})">
    <data type="int" name="ID" format="unsigned" len="2" display=""/>
    <data type="int" name="count" format="unsigned" len="1" display=""/>
    <for name="tmp" count="count || count - 1" stop_test="count == 0" type_name="" comment="">
    <data type="none" name="" len="6"/>
    </for>
    </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>
    <if test="type == 5" comment="">
    <struct name="t5" 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>
    </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="Materials" 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="config" 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>
    <data type="none" name="tmp" len="header.textures_offset - 64"/><jump offset="header.config+(header.MDL0_offset*-1)" comment="" origin="start">
    <use_struct name="Shader_Config" expr="" type_name="Shader_Config" 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="index1" format="signed" len="4" display=""/>
    <data type="int" name="index2" 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="Shader_Config" 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="flag" format="unsigned" len="1" display=""/><data type="int" name="Res0" format="signed" len="1" display=""/><data type="int" name="Res1" format="signed" len="1" display=""/><data type="int" name="Res2" format="signed" len="1" display=""/><data type="int" name="Ref0" format="signed" len="1" display=""/><data type="int" name="Ref1" format="signed" len="1" display=""/><data type="int" name="Ref2" format="signed" len="1" display=""/><data type="int" name="Ref3" format="signed" len="1" display=""/><data type="int" name="Ref4" format="signed" len="1" display=""/><data type="int" name="Ref5" format="signed" len="1" display=""/><data type="int" name="Ref6" format="signed" len="1" display=""/><data type="int" name="Ref7" format="signed" len="1" display=""/><data type="none" name="pad" len="8"/></struct>
    </define_struct>
    <define_struct type_name="Objects" comment="" expr="">
    <struct name="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="node_ID" len="4" format="signed" display=""/>
    <data type="int" name="vtx_des1" len="4" format="signed" display=""/>
    <data type="int" name="vtx_des2" len="4" format="signed" display=""/>
    <data type="int" name="vtx_addons" len="4" format="signed" display=""/>
    <data type="int" name="layout1" len="4" format="signed" display="" comment="vtx, nor, and clr"/>
    <data type="int" name="layout2" len="4" format="signed" display="" comment="uv src"/>
    <data type="int" name="shader_instr" len="4" format="signed" display=""/>
    <data type="int" name="data_len" len="4" format="signed" display=""/>
    <data type="int" name="data_len2" len="4" format="signed" display=""/>
    <data type="int" name="data_offset" len="4" format="signed" display=""/>
    <data type="int" name="layout3" len="4" format="signed" display="" comment="vtx src"/>
    <data type="int" name="unk" 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="num_verts" len="4" format="signed" display=""/>
    <data type="int" name="num_faces" len="4" format="signed" display=""/>
    <data type="int" name="pos_inp" len="2" format="signed" display=""/>
    <data type="int" name="nor_inp" len="2" format="signed" display=""/>
    <data type="int" name="clr0_inp" len="2" format="signed" display=""/>
    <data type="int" name="clr1_inp" len="2" format="signed" display=""/>
    <data type="int" name="crd0_inp" len="2" format="signed" display=""/>
    <data type="int" name="crd1_inp" len="2" format="signed" display=""/>
    <data type="int" name="crd2_inp" len="2" format="signed" display=""/>
    <data type="int" name="crd3_inp" len="2" format="signed" display=""/>
    <data type="int" name="crd4_inp" len="2" format="signed" display=""/>
    <data type="int" name="crd5_inp" len="2" format="signed" display=""/>
    <data type="int" name="crd6_inp" len="2" format="signed" display=""/>
    <data type="int" name="crd7_inp" len="2" format="signed" display=""/>
    <data type="int" name="weights" len="4" format="signed" display=""/>
    </struct>
    <!--<jump offset="(header.MDL0_offset*-1) + header.data_offset +36" comment="" origin="start">
    <for name="type" count="" stop_test="this.type == 0" type_name="" comment="">
    <struct name="" type_name="" comment="" expr="{this.type}">
    <data type="int" name="type" format="unsigned" len="1" display="hex"/>
    <if test="type == 32" comment="">
    <data type="none" name="pos_mtx" len="4"/>
    </if>
    <if test="type == 40" comment="">
    <data type="none" name="nor_mtx" len="4"/>
    </if>
    <if test="type == 48" comment="">
    <data type="none" name="tex_mtx" len="4"/>
    </if>
    <if test="type == 56" comment="">
    <data type="none" name="lit_mtx" len="4"/>
    </if>
    <if test="type == 128" comment="">
    <use_struct name="Quad" expr="" type_name="geometries" comment=""/>
    </if>
    <if test="type == 144" comment="">
    <use_struct name="Tri" expr="" type_name="geometries" comment=""/>
    </if>
    <if test="type == 152" comment="">
    <use_struct name="Tri_Strip" expr="" type_name="geometries" comment=""/>
    </if>
    <if test="type == 160" comment="">
    <use_struct name="Tri_Fan" expr="" type_name="geometries" comment=""/>
    </if>
    <if test="type == 168" comment="">
    <use_struct name="Line" expr="" type_name="geometries" comment=""/>
    </if>
    <if test="type == 176" comment="">
    <use_struct name="Line_Strip" expr="" type_name="geometries" comment=""/>
    </if>
    <if test="type == 184" comment="">
    <use_struct name="Point" expr="" type_name="geometries" comment=""/>
    </if>
    </struct>
    </for>
    </jump>-->
    </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="Materials" format="unsigned" len="4" display=""/>
    <data type="int" name="Shader_Config" format="unsigned" len="4" display=""/>
    <data type="int" name="Objects" 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.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.Shader_Config != 0" comment="">
    <jump offset="header.lists.Shader_Config" comment="" origin="start">
    <struct name="Shader_Config" 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.Shader_Config" comment="" origin="start">
    <use_struct name="Shader_Config" expr="" type_name="Shader_Config" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Shader_Config - 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.Objects != 0" comment="">
    <jump offset="header.lists.Objects" comment="" origin="start">
    <struct name="Objects" 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.Objects" comment="" origin="start">
    <use_struct name="Objects" expr="" type_name="Objects" comment=""/>
    </jump>
    <jump offset="relocation_offset.string_offset + header.lists.Objects - 1" comment="" origin="start">
    <use_struct name="offset_name" expr="" type_name="offset_name" comment=""/>
    </jump>
    </struct>
    </for>
    </struct>
    </jump>
    </if>

    there's a bit more yet...
    « Last Edit: January 16, 2011, 11:02:10 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 #213 on: January 16, 2011, 11:03:17 PM »



    here's the end:
    Code:

    <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>
    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 #214 on: January 16, 2011, 11:04:06 PM »


    seems my mdl0 reft template has an error somewhere...can u give the updated cuz i cant even open mario or pikas mdl0 lol


    alright... (next post)

    btw, your matrices are off:

    Brbx:
    (1,0,5,0)(3,1,0,0)(0,0,1,0)(0,0,2,1)

    1 3 0 0
    0 1 0 0
    5 0 1 2
    0 0 0 1

    btw, last row is always 0 0 0 1
    ? that how i did it lol... in columns..problems pile starting to grow lol
    column1 = first (), 2nd column = 2nd ()...1st row = (this one,0,0,0)...2nd row = (0,this one,0,0) and theres no 4th row...the 4-6 row are for the inverse... Andi  didnt add a 4th digit cuz i couldnt edit it so i thought itd be useless
    Logged

    DarkPikachu
    Angel Kitten
    ***
    Offline Offline

    Posts: 3069


    complexity == fun

  • Awards Super Saiyan Topic Heart Container KCMM Veteran Tutorial Writer

  • View Profile Awards
    « Reply #215 on: January 16, 2011, 11:20:32 PM »


    seems my mdl0 reft template has an error somewhere...can u give the updated cuz i cant even open mario or pikas mdl0 lol


    alright... (next post)

    btw, your matrices are off:

    Brbx:
    (1,0,5,0)(3,1,0,0)(0,0,1,0)(0,0,2,1)

    1 3 0 0
    0 1 0 0
    5 0 1 2
    0 0 0 1

    btw, last row is always 0 0 0 1
    ? that how i did it lol... in columns..problems pile starting to grow lol
    column1 = first (), 2nd column = 2nd ()...1st row = (this one,0,0,0)...2nd row = (0,this one,0,0) and theres no 4th row...the 4-6 row are for the inverse... Andi  didnt add a 4th digit cuz i couldnt edit it so i thought itd be useless

    set it as a map in a var...
    there's no defined W vector space, so 0 0 0 1 defines it as "just this"
    so yea... it makes more sence that way :/

    however,
    the way you have it set now may actually prove to be better for editing purposes :/

    also, I've added bones to Pachirisu using FW...
    (I've fixed them in a hex editor as well)
    they show up in Brbx just fine, but not in BTE... (not because I edited them)

    I edited them to fix the strings...
    their length was wrong...
    1: positioned at the next string length
    2: was a length of 5 instead of 9

    btw, I was right >:3
    FW add's to the relocation table, but somehow defines the data from the first bone...

    here's the offsets:
    00 22 00 00 00 11 00 13 | 00 00 C1 D4 00 00 14 68
    00 22 00 00 00 11 00 13 | 00 00 C2 18 00 00 15 38
    00 22 00 00 00 11 00 13 | 00 00 C2 28 00 00 16 08
    00 22 00 00 00 11 00 13 | 00 00 C2 38 00 00 16 D8
    00 22 00 00 00 11 00 13 | 00 00 C2 48 00 00 17 A8
    00 22 00 00 00 11 00 13 | 00 00 C2 58 00 00 18 78
    00 22 00 00 00 11 00 13 | 00 00 C2 68 00 00 19 48

    ^here we have 7 bones
    the first is Tail4 (the end of the original list)
    the rest are all ExtraBones...

    however...
    note, brbx deciphers the ExtraBones as index 0

    but when I followed the offsets above,
    they were actually indexes 19-24 (hex: 13-18)

    EDIT:
    oh and btw,
    you'll notice I split the hex :/
    before the split is still 4 16bit unks,
    after the split is the string and data offsets :/
    « Last Edit: January 16, 2011, 11:27:08 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 #216 on: January 16, 2011, 11:25:14 PM »


    lmao...more...ill put the dl up when i fix these...

    are you sure the extra bones dont show up right? as in you put the offset of the 2nd tree and when the topNoffset window showed, u checked off 'added bones'?
    Logged

    DarkPikachu
    Angel Kitten
    ***
    Offline Offline

    Posts: 3069


    complexity == fun

  • Awards Super Saiyan Topic Heart Container KCMM Veteran Tutorial Writer

  • View Profile Awards
    « Reply #217 on: January 16, 2011, 11:30:13 PM »


    lmao...more...ill put the dl up when i fix these...

    are you sure the extra bones dont show up right? as in you put the offset of the 2nd tree and when the topNoffset window showed, u checked off 'added bones'?

    there's only 1 bone tree :/ (first bone offset: 1864)
    and I did check off the added bones

    but they're not showing up at all...

    EDIT:
    and the TopN window shows up right after selecting the file :/
    « Last Edit: January 16, 2011, 11:34:50 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 #218 on: January 16, 2011, 11:37:49 PM »



    also...
    a little off-topic Q reguarding my converter:

    how would I use these:

                        parent = l(fr.read(4))/208
                        First_child = ui(fr.read(4))/208
                        Next_child = ui(fr.read(4))/208
                        Prev_child = l(fr.read(4))/208
                        part2 = ui(fr.read(4))

    to get me an X position from 0??
    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 #219 on: January 16, 2011, 11:38:10 PM »


    wuts wrong with the window opening after choosing the file lol...(besides the auto thing)

    and the fw bone adder creates a 2nd tree..eg. mario (nothing added) topN = 9136..added = 281116...the first 1 still exists, but the bb treeview isnt even affected by the 1st one anymore, just the 2nd.. like i said before look for 00 00 00 d0 after the last bone of the first tree to get the 2nd


    also...
    a little off-topic Q reguarding my converter:

    how would I use these:

                        parent = l(fr.read(4))/208
                        First_child = ui(fr.read(4))/208
                        Next_child = ui(fr.read(4))/208
                        Prev_child = l(fr.read(4))/208
                        part2 = ui(fr.read(4))

    to get me an X position from 0??

    uhh either do..X++ when theres a child. Or use the path eg. find the throwN -> path = TopN\\TransN\\XRot\\YRot\\HipN\\ThrowN so for each \\*bone\\ you add onto X..so the ex would = 6( or 5 if top = 0)
    « Last Edit: January 16, 2011, 11:43:57 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 #220 on: January 16, 2011, 11:41:08 PM »


    wuts wrong with the window opening after choosing the file lol...(besides the auto thing)

    and the fw bone adder creates a 2nd tree..eg. mario (nothing added) topN = 9136..added = 281116...the first 1 still exists, but the bb treeview isnt even affected by the 1st one anymore, just the 2nd.. like i said before look for 00 00 00 d0 after the last bone of the first tree to get the 2nd

    hmm...
    KK I'll check that...

    EDIT:
    hmm, so they do have their own data's...
    and yea, everything's screwed up...
    the group offset is around the center of the file O.o
    it should be close to the beginning

    EDIT2:
    hmm...
    the MDL0 is like copied or something...
    the bones list offset has been changed to the end of the file where the new list has been written...
    wow...

    I'ma have to look into this :/
    « Last Edit: January 16, 2011, 11:53:24 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 #221 on: January 16, 2011, 11:53:55 PM »


    hmm if they have their own datas,then why does editing one (in bb) affect the others? i can see why mine would cuz i just search for the name of the bone (or was it the index..cnt remember lol...dun feel like checking either)for the data, but not bb's..
    « Last Edit: January 16, 2011, 11:55:38 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 #222 on: January 16, 2011, 11:59:09 PM »


    hmm if they have their own datas,then why does editing one (in bb) affect the others? i can see why mine would cuz i just search for the name of the bone (or was it the index..cnt remember lol...dun feel like checking either)for the data, but not bb's..

    I'm looking into it :/
    I wanna see just how much FW screwed up the MDL0 :/

    you know...
    I'm using my template and highlighting the data to figure this out...

    I've already highlighted the first and last bones...
    and there's alot more data after the bones...

    it's looks like there's definitions and crap as well...
    what surprises me is the verts are still in the same position using the old string data...

    this is so messed up D:

    you know...
    you should just say screw FW...

    I'd suggest making your own adding method...
    or you know...
    maybe I will...

    FW screws EVERYTHING up...
    this file's so confusing my head's about to explode DX...

    I can see why he kept the old data though :/
    the mdl0 offsets of the rest of the file... and the data that wasn't messed with...
    « Last Edit: January 17, 2011, 12:12:09 AM 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 #223 on: January 17, 2011, 12:15:23 AM »


    I can make an  attempt at a bone adder if your too very busy with alot of things .  Ill prob start fixing up the bte tomoro cuz its past midnight and i dun feel like it lol.

    edit...still getn that error lol
    « Last Edit: January 17, 2011, 01:02:30 AM 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 #224 on: January 17, 2011, 08:02:05 AM »


    actually, I've managed to get it saved (you get a popup 'Saved' with a button 'OK')

    it took me a number of tries before I actually got it...
    but I got it  AWESOME 2.0!

    I'm redoing Pachi's entire MDL0 right now
    FW messed it up, but I figured out what he did
    he makes a copy of the entire MDL0 from the bone group header in the relocation table,
    to the end of the mdl0,
    that copy gets pasted at the end of the mdl0...

    now,
    since all the data in that block is useless,
    he redirects the bone group offset to the original file end and edits the grouplist...
    yes, each bone does have it's own data (they're not fake)  Awesome Face
    YAY!!! I was right on my assumption a long time ago :3

    so anyways,
    he copy's the last offset from the group (in the new block)
    and adds it to the group (changing the offset count and block size)
    he then edits the bone offsets and string offsets by adding the number of added bones * 16 to each offset
    for the added bones, 'D0' gets added to the new offset ('D0' + last bone offset)

    it's kinda the same for the bones (the last one gets copied and pasted at the end)

    note: almost all the strings get changed in the new string table...

    EDIT: BTW... MY SITE'S UP!!! Happy Face
    however, I expect it to cut at times :/
    « Last Edit: January 17, 2011, 08:56:53 AM 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.

    Pages:  1 ... 12 13 14 [15] 16 17 18 ... 25
    Print
    Jump to: