Changeset 539 for trunk/src/engine/animation.cc
- Timestamp:
- 01/24/17 17:55:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/engine/animation.cc
r509 r539 34 34 35 35 nv::animator_data* animator = new nv::animator_data; 36 animator->id = table .get_string64( "id");36 animator->id = table["id"].get_string64(); 37 37 animator->poses = poses; 38 38 if ( poses == nullptr ) 39 39 { 40 string128 poses_path = table .get_string128( "poses");40 string128 poses_path = table["poses"].get_string128(); 41 41 if ( !poses_path.empty() ) 42 42 { … … 59 59 nv::lua::table_guard layer_table( table, layer_idx ); 60 60 nv::animator_layer_data& layer = animator->layers[layer_idx - 1]; 61 layer.name = layer_table .get_string( "name", m_strings, 0);62 layer.mask = layer_table .get_integer( "mask",-1 );61 layer.name = layer_table["name"].get_string( m_strings ); 62 layer.mask = layer_table["mask"].get_sint32( -1 ); 63 63 layer.def_state = -1; 64 64 … … 70 70 } 71 71 72 if ( layer_table .is_table( "states") )72 if ( layer_table["states"].is_table() ) 73 73 { 74 74 nv::lua::table_guard states_table( layer_table, "states" ); … … 84 84 nv::animator_state_data& state = layer.states[state_idx - 1]; 85 85 86 state.name = state_table .get_string( "name", m_strings, 0);86 state.name = state_table["name"].get_string( m_strings ); 87 87 NV_ASSERT( state.name, "Animation state without name is invalid!" ); 88 88 state_names[state.name] = state_idx - 1; 89 state.loop = state_table .get_boolean( "loop",true );90 state.duration = state_table .get_float( "duration", 0.0f);91 state.interp = nv::interpolation( state_table.get_unsigned( "interpolation", uint32( nv::interpolation::SPHERICAL ) ));89 state.loop = state_table["loop"].get_bool( true ); 90 state.duration = state_table["duration"].get_f32(); 91 state.interp = state_table["interpolation"].get_enum( nv::interpolation::SPHERICAL ); 92 92 93 shash64 pose_set = state_table .get_string_hash_64( "pose_set");93 shash64 pose_set = state_table["pose_set"].get_shash64(); 94 94 if ( pose_set ) 95 95 { … … 98 98 uint32 pid = it->second.start; 99 99 uint32 pose_count = it->second.count; 100 uint32 start = state_table .get_unsigned( "start", 0);101 uint32 stop = state_table .get_unsigned( "stop",pose_count - 1 );100 uint32 start = state_table["start"].get_uint32(); 101 uint32 stop = state_table["stop"].get_uint32( pose_count - 1 ); 102 102 for ( nv::uint32 i = pid + start; i < pid + stop + 1; ++i ) 103 103 { … … 116 116 nv::lua::table_guard state_table( states_table, state_idx ); 117 117 118 if ( state_table .is_table( "transitions") )118 if ( state_table["transitions"].is_table() ) 119 119 { 120 120 nv::lua::table_guard transitions_table( state_table, "transitions" ); … … 125 125 { 126 126 nv::lua::table_guard transition_table( transitions_table, transition_idx ); 127 shash64 name = transition_table .get_string( "name", m_strings, 0);128 shash64 target_name = transition_table .get_string_hash_64( "target", 0);127 shash64 name = transition_table["name"].get_string( m_strings ); 128 shash64 target_name = transition_table["target"].get_shash64(); 129 129 NV_ASSERT( name, "Transition state without name is invalid!" ); 130 130 NV_ASSERT( target_name, "Transition state without name is invalid!" ); … … 134 134 nv::animator_transition_data tr_data; 135 135 tr_data.target = it->second; 136 tr_data.duration = transition_table .get_float( "duration", 0.0f);137 tr_data.interp = nv::interpolation( transition_table.get_unsigned( "interpolation", uint32( nv::interpolation::SPHERICAL ) ));136 tr_data.duration = transition_table["duration"].get_f32(); 137 tr_data.interp = transition_table["interpolation"].get_enum( nv::interpolation::SPHERICAL ); 138 138 tr_data.easing = read_easing( transition_table ); 139 139 … … 149 149 150 150 151 shash64 def_state_name = layer_table .get_string_hash_64( "default", 0);151 shash64 def_state_name = layer_table["default"].get_shash64(); 152 152 if ( def_state_name ) 153 153 { … … 164 164 { 165 165 nv::easing result; 166 result.in = nv::easing_type( table.get_integer( "easing", int( nv::easing_type::NONE ) ));167 result.in = nv::easing_type( table.get_integer( "ease_in", int( result.in ) ));168 result.out = nv::easing_type( table.get_integer( "ease_out", int( nv::easing_type::NONE ) ));166 result.in = table["easing"].get_enum( nv::easing_type::NONE ); 167 result.in = table["ease_in"].get_enum( result.in ); 168 result.out = table["ease_out"].get_enum( nv::easing_type::NONE ); 169 169 if ( table.has_field( "ease_in_out" ) ) 170 170 { 171 result.in = result.out = nv::easing_type( table.get_integer( "ease_in_out", int( nv::easing_type::NONE ) ));171 result.in = result.out = table["ease_in_out"].get_enum( nv::easing_type::NONE ); 172 172 } 173 173 if ( result.in == nv::easing_type::NONE && result.out == nv::easing_type::NONE )
Note: See TracChangeset
for help on using the changeset viewer.