Ignore:
Timestamp:
07/21/14 02:19:34 (11 years ago)
Author:
epyon
Message:
  • full pure data model for animation
  • all loaders now use pure data model instead of the template/virtual one
File:
1 edited

Legend:

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

    r282 r285  
    407407        for ( sint32 i = 0; i < md3->header.num_tags; ++i )
    408408        {
    409                 const md3_tag_t& rtag = md3->tags[i + md3->header.num_tags];
     409                const md3_tag_t& rtag = md3->tags[i];
    410410                std::string name( (char*)(rtag.name) );
    411                 nv::key_raw_channel* keys = load_tags( name );
    412                 result->insert( name, keys );
     411
     412                key_data* data = new key_data;
     413                data->add_channel( load_tags( name ) );
     414                result->insert( name, data );
    413415        }
    414416        return result;
    415417}
    416418
     419mesh_node_data* nv::md3_loader::release_mesh_node_data( size_t index )
     420{
     421        md3_t* md3 = (md3_t*)m_md3;
     422        const md3_tag_t& rtag = md3->tags[index];
     423        std::string name( (char*)(rtag.name) );
     424
     425        mesh_node_data* result = new mesh_node_data;
     426        result->transform = mat4();
     427        result->name      = name;
     428        result->parent_id = -1;
     429        result->target_id = -1;
     430        result->data = new key_data;
     431       
     432        key_raw_channel* keys = load_tags( name );
     433        result->data->add_channel( keys );
     434        return result;
     435}
     436
     437size_t nv::md3_loader::get_node_count() const
     438{
     439        return ((md3_t*)m_md3)->header.num_tags;
     440}
     441
    417442size_t md3_loader::get_max_frames() const
    418443{
Note: See TracChangeset for help on using the changeset viewer.