Index: trunk/src/gfx/mesh_creator.cc
===================================================================
--- trunk/src/gfx/mesh_creator.cc	(revision 529)
+++ trunk/src/gfx/mesh_creator.cc	(revision 532)
@@ -25,6 +25,6 @@
 				&& old_keys->get_channel(0)->descriptor()[0].etype == TRANSFORM ) continue;
 
-			size_t max_keys = 0;
-			for ( size_t c = 0; c < chan_count; ++c )
+			uint32 max_keys = 0;
+			for ( uint32 c = 0; c < chan_count; ++c )
 			{
 				max_keys = nv::max( max_keys, old_keys->get_channel(c)->size() );
@@ -45,5 +45,5 @@
 				for ( uint16 c = 0; c < chan_count; ++c )
 				{
-					size_t idx = nv::min( old_keys->get_channel_size(c) - 1, n );
+					uint32 idx = nv::min( old_keys->get_channel_size(c) - 1, n );
 					pkey += raw_channel_interpolator::get_raw( *old_keys->get_channel(c), idx, pkey );
 				}
@@ -66,9 +66,9 @@
 	for ( auto node : m_data->m_data )
 	{
-		for ( size_t c = 0; c < node->size(); ++c )
+		for ( uint32 c = 0; c < node->size(); ++c )
 		{
 			raw_data_channel_access channel( node, c );
-			size_t key_size = channel.element_size();
-			for ( size_t n = 0; n < channel.size(); ++n )
+			uint32 key_size = channel.element_size();
+			for ( uint32 n = 0; n < channel.size(); ++n )
 			{
 				transform_key_raw( node->get_channel( c )->descriptor(), channel.raw_data() + n * key_size, scale, r33, ri33 );
@@ -568,8 +568,8 @@
 	int och_ti = other->get_channel_index( slot::TEXCOORD );
 	if ( ch_pi == -1 || ch_ti == -1 ) return;
-	size_t size   = m_data->get_channel_size( unsigned(ch_ti) );
-	size_t osize  =  other->get_channel_size( unsigned(och_ti) );
-	size_t count  = m_data->get_channel_size( unsigned(ch_pi) );
-	size_t ocount =  other->get_channel_size( unsigned(och_pi) );
+	uint32 size   = m_data->get_channel_size( unsigned(ch_ti) );
+	uint32 osize  =  other->get_channel_size( unsigned(och_ti) );
+	uint32 count  = m_data->get_channel_size( unsigned(ch_pi) );
+	uint32 ocount =  other->get_channel_size( unsigned(och_pi) );
 	if ( count % size != 0 || ocount % osize != 0 ) return;
 	if ( count / size != ocount / osize ) return;
@@ -583,5 +583,5 @@
 		data_descriptor old_desc = old->descriptor();
 		bool old_is_index = old_size > 0 && old_desc[0].vslot == slot::INDEX;
-		size_t frame_count = ( old_is_index ? 1 : old_size / size );
+		uint32 frame_count = ( old_is_index ? 1 : old_size / size );
 		data.set_channel( c, append_channels( *old, *other->get_channel(c), frame_count ) );
 		if ( old_is_index )
