Index: trunk/src/formats/assimp_loader.cc
===================================================================
--- trunk/src/formats/assimp_loader.cc	(revision 454)
+++ trunk/src/formats/assimp_loader.cc	(revision 470)
@@ -350,5 +350,6 @@
 
 	uint16 frame_rate     = static_cast<uint16>( anim->mTicksPerSecond );
-	float  duration       = static_cast<float>( anim->mDuration );
+	int check_this;
+	uint16 duration       = static_cast<uint16>( anim->mDuration );
 	bool   flat           = false;
 
Index: trunk/src/formats/nmd_loader.cc
===================================================================
--- trunk/src/formats/nmd_loader.cc	(revision 454)
+++ trunk/src/formats/nmd_loader.cc	(revision 470)
@@ -98,5 +98,5 @@
 	nmd_animation_header animation_header;
 	source.read( &animation_header, sizeof( animation_header ), 1 );
-	m_node_data = new mesh_nodes_data( e.name, animation_header.frame_rate, animation_header.duration, animation_header.flat );
+	m_node_data = new mesh_nodes_data( e.name, animation_header.frame_rate, animation_header.frame_count, animation_header.flat );
 	for ( uint32 i = 0; i < e.children; ++i )
 	{
@@ -215,6 +215,6 @@
 
 	nmd_animation_header aheader;
-	aheader.frame_rate = nodes.get_frame_rate();
-	aheader.duration = nodes.get_duration();
+	aheader.frame_rate  = nodes.get_fps();
+	aheader.frame_count = nodes.get_frame_count();
 	aheader.flat = nodes.is_flat();
 	stream_out.write( &aheader, sizeof( aheader ), 1 );
