Ignore:
Timestamp:
07/16/15 21:21:19 (10 years ago)
Author:
epyon
Message:
  • refactoring WIP! (compiles though - warnings on purpose)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/formats/nmd_loader.cc

    r423 r424  
    3737bool nv::nmd_loader::load_mesh( stream& source, const nmd_element_header& e )
    3838{
    39         data_channel_set* mesh = data_channel_set_creator::create( e.children );
     39        data_channel_set* mesh = data_channel_set_creator::create_set( e.children );
    4040        load_channel_set( source, mesh, e );
    4141//      m_mesh_names.push_back( e.name );
     
    5555{
    5656        uint32 size = m_meshes.size();
    57         data_channel_set* meshes = data_channel_set_creator::create_array( size, 0 );
     57        data_channel_set* meshes = data_channel_set_creator::create_set_array( size, 0 );
    5858        for ( uint32 i = 0; i < size; ++i )
    5959        {
     
    119119bool nv::nmd_loader::load_node( stream& source, mesh_node_data* data, const nmd_element_header& e )
    120120{
    121         data->name = e.name;
    122         data->parent_id = e.parent_id;
    123         data->transform = e.transform;
    124         data->data = nullptr;
     121        data->data = data_channel_set_creator::create_set( e.children );
    125122        if ( e.children > 0 )
    126123        {
    127                 data->data = data_channel_set_creator::create( e.children );
    128124                load_channel_set( source, data->data, e );
    129125        }
     126        data_channel_set_creator access( data->data );
     127        access.set_name( e.name );
     128        access.set_parent_id( e.parent_id );
     129        access.set_transform( e.transform );
    130130        return true;
    131131}
     
    206206        eheader.children   = static_cast<uint16>( chan_count );
    207207        eheader.size       = chan_size;
    208         eheader.name       = node->name;
    209         eheader.parent_id  = node->parent_id;
    210         eheader.transform  = node->transform;
     208        eheader.name       = node->data->get_name();
     209        eheader.parent_id  = node->data->get_parent_id();
     210        eheader.transform  = node->data->get_transform();
    211211        eheader.attributes = 0;
    212212        stream_out.write( &eheader, sizeof( eheader ), 1 );
    213         if ( node->data ) nmd_dump_channel_set( node->data, stream_out );
     213        if ( chan_count > 0 ) nmd_dump_channel_set( node->data, stream_out );
    214214}
    215215
     
    238238        eheader.children   = static_cast<uint16>( mesh.size() );
    239239        eheader.size       = size;
    240         int uncomment;
    241 //      eheader.name       = mesh.get_name();
    242 //      eheader.transform  = mesh.get_transform();
    243 //      eheader.parent_id  = mesh.get_parent_id();
    244         eheader.name       = 0;
    245         eheader.transform  = mat4();
    246         eheader.parent_id  = -1;
     240        eheader.name       = mesh.get_name();
     241        eheader.transform  = mesh.get_transform();
     242        eheader.parent_id  = mesh.get_parent_id();
    247243        eheader.attributes = 0;
    248244        stream_out.write( &eheader, sizeof( eheader ), 1 );
Note: See TracChangeset for help on using the changeset viewer.