Index: trunk/src/engine/program_manager.cc
===================================================================
--- trunk/src/engine/program_manager.cc	(revision 316)
+++ trunk/src/engine/program_manager.cc	(revision 317)
@@ -47,8 +47,18 @@
 {
 	out = append;
-	std::string include;
-	if ( table.is_string( "include" ) )
+	if ( table.is_string( "files" ) )
 	{
-		out += nv::slurp( table.get_string( "include" ) );
+		out += nv::slurp( table.get_string( "files" ) );
+	}
+	else if ( table.is_table( "files" ) )
+	{
+		lua::table_guard inctable( table, "files" );
+		uint32 count = inctable.get_size();
+		for ( uint32 i = 1; i <= count; ++i )
+		{
+			std::string include( inctable.get<std::string,int>(i) );
+			if ( i == count ) out += "#line 1\n";
+			out += nv::slurp( include );
+		}
 	}
 
@@ -57,5 +67,6 @@
 		out += "#line 1\n"+nv::slurp( table.get_string( "file" ) );
 	}
-	else if ( table.is_string( "source" ) )
+
+	if ( table.is_string( "source" ) )
 	{
 		out += table.get_string( "source" );
