Index: trunk/src/lua/lua_math.cc
===================================================================
--- trunk/src/lua/lua_math.cc	(revision 533)
+++ trunk/src/lua/lua_math.cc	(revision 534)
@@ -11,5 +11,6 @@
 #include "nv/stl/type_traits/common.hh"
 
-static size_t nlua_swizzel_lookup[256];
+using nv::uint32;
+static nv::uint32 nlua_swizzel_lookup[256];
 
 using nv::lua::detail::is_vec;
@@ -18,5 +19,5 @@
 using nv::lua::detail::push_vec;
 
-inline bool nlua_is_swizzel( const unsigned char* str, size_t max )
+inline bool nlua_is_swizzel( const unsigned char* str, nv::uint32 max )
 {
 	while (*str)
@@ -229,5 +230,5 @@
 {
 	T v = to_vec<T>( L, 1 );
-	for ( size_t i = 0; i < v.size(); ++i )
+	for ( uint32 i = 0; i < v.size(); ++i )
 	{
 		lua_pushnumber( L, v[i] );
@@ -241,7 +242,7 @@
 	T* v = to_pvec<T>( L, 1 );
 	size_t len  = 0;
-	size_t vlen = v->size();
+	uint32 vlen = v->size();
 	const unsigned char * key = reinterpret_cast<const unsigned char *>( lua_tolstring( L, 2, &len ) );
-	size_t idx = 255;
+	uint32 idx = 255;
 
 	if ( len == 1 )
@@ -279,7 +280,7 @@
 	T* v = to_pvec<T>( L, 1 );
 	size_t len  = 0;
-	size_t vlen = v->size();
+	uint32 vlen = v->size();
 	const unsigned char * key = reinterpret_cast<const unsigned char *>( lua_tolstring( L, 2, &len ) );
-	size_t idx = 255;
+	uint32 idx = 255;
 	if( len == 1 )
 	{
@@ -294,7 +295,7 @@
 	{
  		switch (len) {
-		case 2 : { vec2 v2 = to_vec<vec2>(L,3); for ( size_t i = 0; i< len; ++i) (*v)[nlua_swizzel_lookup[key[i]]] = v2[i]; } return 0;
-		case 3 : { vec3 v3 = to_vec<vec3>(L,3); for ( size_t i = 0; i< len; ++i) (*v)[nlua_swizzel_lookup[key[i]]] = v3[i]; } return 0;
-		case 4 : { vec4 v4 = to_vec<vec4>(L,3); for ( size_t i = 0; i< len; ++i) (*v)[nlua_swizzel_lookup[key[i]]] = v4[i]; } return 0;
+		case 2 : { vec2 v2 = to_vec<vec2>(L,3); for ( uint32 i = 0; i< len; ++i) (*v)[nlua_swizzel_lookup[key[i]]] = v2[i]; } return 0;
+		case 3 : { vec3 v3 = to_vec<vec3>(L,3); for ( uint32 i = 0; i< len; ++i) (*v)[nlua_swizzel_lookup[key[i]]] = v3[i]; } return 0;
+		case 4 : { vec4 v4 = to_vec<vec4>(L,3); for ( uint32 i = 0; i< len; ++i) (*v)[nlua_swizzel_lookup[key[i]]] = v4[i]; } return 0;
  		default: break;
 		}
@@ -405,5 +406,5 @@
 void nv::lua::register_math( lua::state* state )
 { 
-	for (size_t i = 0; i < 256; ++i ) nlua_swizzel_lookup[i] = 255;
+	for (uint32 i = 0; i < 256; ++i ) nlua_swizzel_lookup[i] = 255;
 	using nv::uchar8;
 	nlua_swizzel_lookup[uchar8( 'x' )] = 0;
Index: trunk/src/lua/lua_nova.cc
===================================================================
--- trunk/src/lua/lua_nova.cc	(revision 533)
+++ trunk/src/lua/lua_nova.cc	(revision 534)
@@ -91,5 +91,5 @@
 		if (lua_tointeger( L, itype ) != lua_type( L, ivalue ) && lua_tointeger( L, itype ) > 0)
 		{
-			luaL_error( L, "lua.nova - \"%s.%s\" - type mismatch, %s expected, %s found!", lua_tolstring( L, iid, 0 ), lua_tolstring( L, ifield, 0 ), lua_typename( L, lua_tointeger( L, itype ) ), lua_typename( L, lua_type( L, ivalue ) ) );
+			luaL_error( L, "lua.nova - \"%s.%s\" - type mismatch, %s expected, %s found!", lua_tolstring( L, iid, 0 ), lua_tolstring( L, ifield, 0 ), lua_typename( L, (int)lua_tointeger( L, itype ) ), lua_typename( L, lua_type( L, ivalue ) ) );
 		}
 		break;
@@ -296,5 +296,5 @@
 	lua_rawget( L, 1 );
 	int count = 0;
-	if ( !lua_isnil( L, -1 ) ) count = lua_tointeger( L, -1 );
+	if ( !lua_isnil( L, -1 ) ) count = (int)lua_tointeger( L, -1 );
 	lua_pop( L, 1 );
 	count++;
@@ -358,5 +358,5 @@
 static int nova_create_seq_function_closure( lua_State * L )
 {
-	int fc   = lua_tointeger( L, lua_upvalueindex( 1 ) );
+	int fc   = (int)lua_tointeger( L, lua_upvalueindex( 1 ) );
 	int args = lua_gettop( L );
 	for ( int fi = 1; fi <= fc; fi++ )
Index: trunk/src/lua/lua_path.cc
===================================================================
--- trunk/src/lua/lua_path.cc	(revision 533)
+++ trunk/src/lua/lua_path.cc	(revision 534)
@@ -16,5 +16,5 @@
 	string_view spath( m_elements[0].str, m_elements[0].length );
 	m_count = 0;
-	size_t point = spath.find( '.' );
+	uint32 point = spath.find( '.' );
 
 	while ( point != string_view::npos )
Index: trunk/src/lua/lua_raw.cc
===================================================================
--- trunk/src/lua/lua_raw.cc	(revision 533)
+++ trunk/src/lua/lua_raw.cc	(revision 534)
@@ -331,5 +331,5 @@
 int nlua_rawlen( lua_State* L, int index )
 {
-	return lua_objlen( L, index );
+	return static_cast<int>( lua_objlen( L, index ) );
 }
 
Index: trunk/src/lua/lua_state.cc
===================================================================
--- trunk/src/lua/lua_state.cc	(revision 533)
+++ trunk/src/lua/lua_state.cc	(revision 534)
@@ -911,5 +911,5 @@
 	if ( lua_type( state->get_raw(), index ) == LUA_TBOOLEAN )
 	{
-		*value = bool( lua_toboolean( state->get_raw(), index ) );
+		*value = lua_toboolean( state->get_raw(), index ) != 0;
 		return true;
 	}
Index: trunk/src/lua/lua_types.cc
===================================================================
--- trunk/src/lua/lua_types.cc	(revision 533)
+++ trunk/src/lua/lua_types.cc	(revision 534)
@@ -1,3 +1,3 @@
-// Copyright (C) 2016-2016 ChaosForge Ltd
+// Copyright (C) 2016-2017 ChaosForge Ltd
 // http://chaosforge.org/
 //
@@ -85,5 +85,5 @@
 		{
 			int error; // proper type instead of sint32?
-			*(sint32*)object = lua_tointeger( lstate, index );
+			*(sint32*)object = (sint32)lua_tointeger( lstate, index );
 			return true;
 		}
Index: trunk/src/lua/lua_values.cc
===================================================================
--- trunk/src/lua/lua_values.cc	(revision 533)
+++ trunk/src/lua/lua_values.cc	(revision 534)
@@ -1,3 +1,3 @@
-// Copyright (C) 2012-2015 ChaosForge Ltd
+// Copyright (C) 2012-2017 ChaosForge Ltd
 // http://chaosforge.org/
 //
