Index: trunk/src/formats/assimp_loader.cc
===================================================================
--- trunk/src/formats/assimp_loader.cc	(revision 491)
+++ trunk/src/formats/assimp_loader.cc	(revision 534)
@@ -1,3 +1,3 @@
-// Copyright (C) 2014-2015 ChaosForge Ltd
+// Copyright (C) 2014-2017 ChaosForge Ltd
 // http://chaosforge.org/
 //
@@ -107,5 +107,5 @@
 	m_mesh_count = 0;
 	NV_LOG_NOTICE( "AssImp loading file..." );
-	size_t size = source.size();
+	uint32 size = static_cast< uint32 >( source.size() );
 	char* data  = new char[ size ];
 	source.read( data, size, 1 );
@@ -143,5 +143,5 @@
 }
 
-data_channel_set* nv::assimp_loader::release_mesh_data( size_t index, data_node_info& info )
+data_channel_set* nv::assimp_loader::release_mesh_data( uint32 index, data_node_info& info )
 {
 	if ( index >= m_mesh_count ) return nullptr;
@@ -149,5 +149,5 @@
 	return m_meshes[index];
 }
-void nv::assimp_loader::load_mesh_data( data_channel_set* data, size_t index, data_node_info& info )
+void nv::assimp_loader::load_mesh_data( data_channel_set* data, uint32 index, data_node_info& info )
 {
 	const aiMesh*  mesh  = m_data->scene->mMeshes[ index ];
@@ -161,5 +161,5 @@
 		desc.initialize< assimp_plain_vtx >();
 	data_channel_set_creator maccess( data );
-	string64 name( mesh->mName.data, mesh->mName.length );
+	string64 name( mesh->mName.data, static_cast< uint32 >( mesh->mName.length ) );
 	if ( mesh->mName.length == 0 )
 	{
@@ -170,5 +170,5 @@
 					if ( node->mMeshes[i] == index )
 					{
-						name.assign( node->mName.data, node->mName.length );
+						name.assign( node->mName.data, static_cast< uint32 >( node->mName.length ) );
 						if ( i != 0 )
 						{
@@ -215,9 +215,9 @@
 		{
 			aiBone* bone  = mesh->mBones[m];
-			for ( size_t w=0; w<bone->mNumWeights; w++)
+			for ( uint32 w=0; w<bone->mNumWeights; w++)
 			{
 				assimp_skinned_vtx& v = vtx[ bone->mWeights[w].mVertexId ];
 				bool found = false;
-				for ( size_t i = 0 ; i < 4; ++i )
+				for ( uint32 i = 0 ; i < 4; ++i )
 				{
 					if ( v.boneweight[i] <= 0.0f ) 
@@ -281,5 +281,5 @@
 			aiMesh* mesh = m_data->scene->mMeshes[mc];
 
-			NV_LOG_NOTICE( "Mesh #", mc, "   - ", string_view( static_cast<char*>( mesh->mName.data ), mesh->mName.length ) );
+			NV_LOG_NOTICE( "Mesh #", mc, "   - ", string_view( static_cast<char*>( mesh->mName.data ), static_cast< uint32 >( mesh->mName.length ) ) );
 			NV_LOG_NOTICE( "  bones   - ", mesh->mNumBones );
 			NV_LOG_NOTICE( "  uvs     - ", mesh->mNumUVComponents[0] );
@@ -303,10 +303,10 @@
 	for ( auto node : m_data->nodes )
 	{
-		NV_LOG_NOTICE( "Node : ", string_view( node->mName.data, node->mName.length ) );
+		NV_LOG_NOTICE( "Node : ", string_view( node->mName.data, static_cast< uint32 >( node->mName.length ) ) );
 	}
 
 	for ( auto skeleton : m_data->skeletons )
 	{
-		NV_LOG_NOTICE( "Skeleton : ", string_view( skeleton->mName.data, skeleton->mName.length ) );
+		NV_LOG_NOTICE( "Skeleton : ", string_view( skeleton->mName.data, static_cast< uint32 >( skeleton->mName.length ) ) );
 	}
 
@@ -353,5 +353,5 @@
 	}
 
-	string_view name( ainode->mName.data, ainode->mName.length );
+	string_view name( ainode->mName.data, static_cast< uint32 >( ainode->mName.length ) );
 	if ( name.starts_with( '_' ) ) return;
 
@@ -409,5 +409,5 @@
 			{
 				assimp_skinned_vtx& vertex = channel.data()[v];
-				for ( size_t i = 0; i < 4; ++i )
+				for ( uint32 i = 0; i < 4; ++i )
 				{
 					if ( vertex.boneweight[i] > 0.0f )
@@ -430,5 +430,5 @@
 			int pid = bone_data[i].parent_id;
 			if ( pid >= 0 )
-				bone_data[i].transform = tr * bone_data[ size_t( pid ) ].transform;
+				bone_data[i].transform = tr * bone_data[uint32( pid ) ].transform;
 			else
 				bone_data[i].transform = tr;
@@ -447,5 +447,5 @@
 }
 
-mesh_nodes_data* nv::assimp_loader::release_mesh_nodes_data( size_t index /*= 0*/ )
+mesh_nodes_data* nv::assimp_loader::release_mesh_nodes_data( uint32 index /*= 0*/ )
 {
 	if ( m_data->scene == nullptr ) return nullptr;
@@ -484,10 +484,10 @@
 }
 
-data_node_list* nv::assimp_loader::release_data_node_list( size_t /*= 0 */ )
+data_node_list* nv::assimp_loader::release_data_node_list( uint32 /*= 0 */ )
 {
 	return release_merged_bones();
 }
 
-bool nv::assimp_loader::is_animated( size_t /*= 0 */ )
+bool nv::assimp_loader::is_animated( uint32 /*= 0 */ )
 {
 	int this_is_incorrect;
@@ -623,5 +623,5 @@
 // 	bool has_bones = false;
 // 	data_channel_set* meshes = data_channel_set_creator::create_set_array( m_mesh_count, 2 );
-// 	for ( size_t m = 0; m < m_mesh_count; ++m )
+// 	for ( uint32 m = 0; m < m_mesh_count; ++m )
 // 	{
 // 		const aiMesh* mesh = scene->mMeshes[ m ];
@@ -635,5 +635,5 @@
 // }
 
-nv::size_t nv::assimp_loader::get_nodes_data_count() const
+uint32 nv::assimp_loader::get_nodes_data_count() const
 {
 	if ( m_data->scene == nullptr ) return 0;
Index: trunk/src/formats/nmd_loader.cc
===================================================================
--- trunk/src/formats/nmd_loader.cc	(revision 491)
+++ trunk/src/formats/nmd_loader.cc	(revision 534)
@@ -1,3 +1,3 @@
-// Copyright (C) 2014-2015 ChaosForge Ltd
+// Copyright (C) 2014-2017 ChaosForge Ltd
 // http://chaosforge.org/
 //
@@ -45,5 +45,5 @@
 }
 
-data_channel_set* nv::nmd_loader::release_mesh_data( size_t index, data_node_info& info )
+data_channel_set* nv::nmd_loader::release_mesh_data( uint32 index, data_node_info& info )
 {
 	data_channel_set* result = m_meshes[ index ];
@@ -158,10 +158,10 @@
 }
 
-mesh_nodes_data* nv::nmd_loader::release_mesh_nodes_data( size_t )
+mesh_nodes_data* nv::nmd_loader::release_mesh_nodes_data( uint32 )
 {
 	return nullptr;
 }
 
-data_node_list* nv::nmd_loader::release_data_node_list( size_t )
+data_node_list* nv::nmd_loader::release_data_node_list( uint32 )
 {
 	data_node_list* result = m_bone_data;
@@ -170,5 +170,5 @@
 }
 
-bool nv::nmd_loader::is_animated( size_t /*= 0 */ )
+bool nv::nmd_loader::is_animated( uint32 /*= 0 */ )
 {
 	return m_pose_data_set != nullptr;
Index: trunk/src/formats/obj_loader.cc
===================================================================
--- trunk/src/formats/obj_loader.cc	(revision 491)
+++ trunk/src/formats/obj_loader.cc	(revision 534)
@@ -1,3 +1,3 @@
-// Copyright (C) 2012-2015 ChaosForge Ltd
+// Copyright (C) 2012-2017 ChaosForge Ltd
 // http://chaosforge.org/
 //
@@ -52,11 +52,11 @@
 	string32 next_name;
 
-	nv::size_t size;
+	uint32 size;
 	bool   eof;
 
 	obj_reader();
 	bool read_stream( stream& str );
-	virtual nv::size_t add_face( uint32* vi, uint32* ti, uint32* ni, nv::size_t count ) = 0;
-	virtual nv::size_t raw_size() const = 0;
+	virtual uint32 add_face( uint32* vi, uint32* ti, uint32* ni, uint32 count ) = 0;
+	virtual uint32 raw_size() const = 0;
 	virtual void reset() = 0;
 	virtual const uint8* raw_pointer() const = 0;
@@ -126,5 +126,5 @@
 			string_view scan( cline );
 			scan.remove_prefix( 2 );
-			size_t pos = 0;
+			uint32 pos = 0;
 			while ( pos != string_view::npos )
 			{
@@ -176,5 +176,5 @@
 {
 	mesh_data_reader( bool normals ) : m_normals( normals ) {}
-	virtual nv::size_t add_face( uint32* vi, uint32* ti, uint32* ni, nv::size_t count )
+	virtual uint32 add_face( uint32* vi, uint32* ti, uint32* ni, uint32 count )
 	{
 		if ( count < 3 ) return 0; // TODO : report error?
@@ -182,10 +182,10 @@
 		// TODO : support if normals not present;
 		vec3 nullvec;
-		nv::size_t result = 0;
+		uint32 result = 0;
 		// Simple triangulation - obj's shouldn't have more than quads anyway
 
 		if ( m_normals )
 		{
-			for ( nv::size_t i = 2; i < count; ++i )
+			for ( uint32 i = 2; i < count; ++i )
 			{
 				result++;
@@ -197,5 +197,5 @@
 		else
 		{
-			for ( nv::size_t i = 2; i < count; ++i )
+			for ( uint32 i = 2; i < count; ++i )
 			{
 				result++;
@@ -210,5 +210,5 @@
 	vector< VTX > m_data;
 	virtual void reset() { m_data.clear(); }
-	virtual nv::size_t raw_size() const { return m_data.size() * sizeof( VTX ); }
+	virtual uint32 raw_size() const { return m_data.size() * sizeof( VTX ); }
 	virtual const uint8* raw_pointer() const { return reinterpret_cast< const uint8* >( m_data.data() ); }
 };
@@ -232,15 +232,15 @@
 	void calculate_tangents()
 	{
-		nv::size_t count = m_data.size();
-		nv::size_t tcount = count / 3;
+		uint32 count = m_data.size();
+		uint32 tcount = count / 3;
 
 		vector< vec3 > tan1( count );
 		vector< vec3 > tan2( count );
 
-		for ( nv::size_t a = 0; a < tcount; ++a )
-		{
-			nv::size_t i1 = a * 3;
-			nv::size_t i2 = a * 3 + 1;
-			nv::size_t i3 = a * 3 + 2;
+		for ( uint32 a = 0; a < tcount; ++a )
+		{
+			uint32 i1 = a * 3;
+			uint32 i2 = a * 3 + 1;
+			uint32 i3 = a * 3 + 2;
 			obj_vertex_vtnt& vtx1 = m_data[ i1 ];
 			obj_vertex_vtnt& vtx2 = m_data[ i2 ];
@@ -277,5 +277,5 @@
 		}
 
-		for ( nv::size_t a = 0; a < count; ++a )
+		for ( uint32 a = 0; a < count; ++a )
 		{
 			const vec3& nv = m_data[a].normal;
@@ -347,5 +347,5 @@
 }
 
-data_channel_set* nv::obj_loader::release_mesh_data( size_t index, data_node_info& info )
+data_channel_set* nv::obj_loader::release_mesh_data( uint32 index, data_node_info& info )
 {
 	data_channel_set* result = m_meshes[ index ];
