Index: /code/branches/fps/src/libraries/tools/bsp/DemoApp.cpp
===================================================================
--- /code/branches/fps/src/libraries/tools/bsp/DemoApp.cpp	(revision 6824)
+++ /code/branches/fps/src/libraries/tools/bsp/DemoApp.cpp	(revision 6825)
@@ -81,5 +81,5 @@
 	OgreFramework::getSingletonPtr()->m_pLog->logMessage("Start main loop (Default)...");
 
-	char chMessage[1024] ;
+//	char chMessage[1024] ;
 	
 	UINT uFrameStartTime=OgreFramework::getSingletonPtr()->m_pTimer->getMilliseconds();
@@ -153,5 +153,5 @@
 	OgreFramework::getSingletonPtr()->m_pLog->logMessage("Start main loop (MethodA)...");
 
-	char chMessage[1024] ;
+//	char chMessage[1024] ;
 	
 	UINT uFrameStartTime=OgreFramework::getSingletonPtr()->m_pTimer->getMilliseconds();
@@ -315,5 +315,5 @@
 	OgreFramework::getSingletonPtr()->m_pLog->logMessage("Start main loop (MethodB)...");
 
-	char chMessage[1024] ;
+//	char chMessage[1024] ;
 	
 	UINT uFrameStartTime=OgreFramework::getSingletonPtr()->m_pTimer->getMilliseconds();
@@ -455,5 +455,5 @@
 
 
-			uSleepTime=(uFrameTargetTime-uFrameRenderTime)/1000.0f ;
+			uSleepTime=(int)((uFrameTargetTime-uFrameRenderTime)/1000.0f) ;
 			if(uSleepTime>0) Sleep(uSleepTime) ;
 
Index: /code/branches/fps/src/libraries/tools/bsp/ExampleFrameListener.h
===================================================================
--- /code/branches/fps/src/libraries/tools/bsp/ExampleFrameListener.h	(revision 6824)
+++ /code/branches/fps/src/libraries/tools/bsp/ExampleFrameListener.h	(revision 6825)
@@ -42,5 +42,7 @@
 //Use this define to signify OIS will be used as a DLL
 //(so that dll import/export macros are in effect)
-#define OIS_DYNAMIC_LIB
+#ifndef OIS_DYNAMIC_LIB
+#  define OIS_DYNAMIC_LIB
+#endif
 #include <OIS/OIS.h>
 
Index: /code/branches/fps/src/libraries/tools/bsp/OgreFramework.cpp
===================================================================
--- /code/branches/fps/src/libraries/tools/bsp/OgreFramework.cpp	(revision 6824)
+++ /code/branches/fps/src/libraries/tools/bsp/OgreFramework.cpp	(revision 6825)
@@ -108,7 +108,7 @@
 	m_nMaxEntity=0 ;
 	m_pEntityInfo=NULL ;
-	m_nMaxVisibleEntity=NULL ;
+	m_nMaxVisibleEntity=0 ;
 	m_pVisibleEntity=NULL ;
-	m_nMaxFrustumEntity=NULL ;
+	m_nMaxFrustumEntity=0 ;
 	m_pFrustumEntity=NULL ;
 
@@ -241,5 +241,5 @@
 void OgreFramework::initOgre(Ogre::String wndTitle, OIS::KeyListener *pKeyListener, OIS::MouseListener *pMouseListener)
 {
-	Ogre::LogManager* logMgr = new Ogre::LogManager();
+//	Ogre::LogManager* logMgr = new Ogre::LogManager();
 	
 	m_pLog = Ogre::LogManager::getSingleton().createLog("OgreLogfile.log", true, true, false);
@@ -971,5 +971,5 @@
 	int nVisEnt=0 ;
 	int nEntity=0 ;
-	int nMaxEntity=0 ;
+//	int nMaxEntity=0 ;
 	int nSubMesh=0 ;
 	int nMaxSubMesh=0 ;
@@ -1798,5 +1798,5 @@
 		// now we do a few rounds of ping-pong bluring of A to B, B to A.
 		int nMaxBlur=4 ;
-		int nLastBlur=nMaxBlur-1 ;
+//		int nLastBlur=nMaxBlur-1 ;
 		int nBlurLoop=0 ;
 
@@ -2282,5 +2282,5 @@
 	m_TranslateVector = Vector3::ZERO;
 
-	char chMessage[1024] ;
+//	char chMessage[1024] ;
 	//sprintf(chMessage, "winmessage %u, %u, %u", m_pRenderWnd->m_Test_uMsg, (UINT)m_pRenderWnd->m_Test_wParam, (UINT)m_pRenderWnd->m_Test_lParam) ; 
 	//m_pLog->logMessage(chMessage) ;
@@ -2417,7 +2417,7 @@
 	Ogre::Vector3 Pos ;
 	Pos=m_pCamera->getPosition() ;
-	int nCamX=Pos.x ;
-	int nCamY=Pos.y ;
-	int nCamZ=Pos.z ;
+	Ogre::Real nCamX=Pos.x ;
+	Ogre::Real nCamY=Pos.y ;
+	Ogre::Real nCamZ=Pos.z ;
 
 
@@ -2999,6 +2999,6 @@
 		// reattach all entity scenenodes.
 		int nLoop=0 ;
-		int nSubMesh=0 ;
-		int nMaxSubMesh=0 ;
+//		int nSubMesh=0 ;
+//		int nMaxSubMesh=0 ;
 		for(nLoop=0 ; nLoop<m_nMaxEntity ; nLoop++)
 			m_pSceneMgr->getRootSceneNode()->addChild(m_pEntityInfo[nLoop].pMasterNode) ;
@@ -3486,5 +3486,5 @@
 
 	int nTriangle=0 ;
-	int nStart=0 ;
+//	int nStart=0 ;
 	int nEnd=0 ;
 	int nMaterial=0 ;
@@ -3553,7 +3553,7 @@
 	float flMaxY=0.0f ;
 	float flMaxZ=0.0f ;
-	float flMidX=0.0f ;
-	float flMidY=0.0f ;
-	float flMidZ=0.0f ;
+//	float flMidX=0.0f ;
+//	float flMidY=0.0f ;
+//	float flMidZ=0.0f ;
 	float flDisX=0.0f ;
 	float flDisY=0.0f ;
@@ -5629,15 +5629,15 @@
 	
 	int nZone=0 ;
-	int nZoneIndex=0 ;
+//	int nZoneIndex=0 ;
 	int nSubZone=0 ;
-	int nSubZoneIndex=0 ;
+//	int nSubZoneIndex=0 ;
 	int nMaxSubZone=0 ;
 	int nPortal=0 ;
-	int nPortalIndex=0 ;
+//	int nPortalIndex=0 ;
 	int nMaxPortal=0 ;
-	int nMaxPortalZone=0 ;
-	int nPortalZone=0 ;
-	int nPortalZoneIndex=0 ;
-	int nMaxZone=0 ;
+//	int nMaxPortalZone=0 ;
+//	int nPortalZone=0 ;
+//	int nPortalZoneIndex=0 ;
+//	int nMaxZone=0 ;
 	
 
@@ -5645,5 +5645,5 @@
 	int nLt=0 ;
 
-	int nMaxSubLight=m_Q3Map->m_nSubLightMax ;
+//	int nMaxSubLight=m_Q3Map->m_nSubLightMax ;
 	int nSubLt=0 ;
 	
@@ -5891,5 +5891,5 @@
 	int nSubLight=0 ;
 
-	int nLight=0;
+//	int nLight=0;
 	int nLightIndex=0 ;
 
@@ -6048,5 +6048,5 @@
 	int nZone=0 ;
 	int nZoneIndex=0 ;
-	int nVisible=0 ;
+//	int nVisible=0 ;
 	Ogre::AxisAlignedBox AABB ;
 
@@ -6384,16 +6384,16 @@
 	int nLight=0 ;
 	int nLightIndex=0 ;
-	int nLightVal=0 ;
+//	int nLightVal=0 ;
 	int nOpenPortals=0 ;
-	int nZoneHasOpenPortals=0 ;
+//	int nZoneHasOpenPortals=0 ;
 	int nPortal=0 ;
 	int nPortalIndex=0 ;
 	int nMaxPortal=0 ;
-	int nZone=0 ;
-	int nMaxZone=0 ;
-	int nZoneIndex=0 ;
+//	int nZone=0 ;
+//	int nMaxZone=0 ;
+//	int nZoneIndex=0 ;
 
 	int nSubLightMax=0 ;
-	int nSubLightIndex=0 ;
+//	int nSubLightIndex=0 ;
 	int nSubLight=0 ;
 	int nSubLightStart=0 ;
@@ -6401,5 +6401,5 @@
 	int nPortalLightMax=0 ;
 	int nPortalLightIndex=0 ;
-	int nPortalLight=0 ;
+//	int nPortalLight=0 ;
 
 	int nCentreZone=0 ;
@@ -6495,5 +6495,5 @@
 
 	int nSubLightMax=0 ;
-	int nSubLightIndex=0 ;
+//	int nSubLightIndex=0 ;
 	int nSubLight=0 ;
 	int nSubLightStart=0 ;
@@ -6586,11 +6586,11 @@
 	int nLight=0;
 	int nLightVal=0 ;
-	int nLightIndex=0 ;
-	int nMaxLight=0 ;
+//	int nLightIndex=0 ;
+//	int nMaxLight=0 ;
 
 	int nSubLight=0 ;
 	int nSubLightIndex=0 ;
 	int nMaxSubLight=0 ;
-	int nSubLightVal=0 ;
+//	int nSubLightVal=0 ;
 
 	
@@ -6872,5 +6872,5 @@
 void OgreFramework::initLight() 
 {
-	char chMessage[1024] ;
+//	char chMessage[1024] ;
 
 		// these lights only have placeholder settings to begin with, since they get moved around and reused thoughout the level.
@@ -6908,5 +6908,5 @@
 	// make sure the config is a string
 	int nConfigPos=-1 ;
-	int nPos=0 ;
+//	int nPos=0 ;
 	int nKeyPos=0 ;
 	int nValuePos=0 ;
@@ -6914,5 +6914,5 @@
 	char chKey[KVSIZE] ;
 	char chValue[KVSIZE] ;
-	float flValue=0.0f ;
+	int nValue=0 ;
 
 	
@@ -6967,14 +6967,14 @@
 				
 					// convert value string to a float
-					flValue=atof(chValue) ;
+					nValue=atoi(chValue) ;
 
 					// assign that value
-					if(strcmp("r_shadowmapsize", chKey)==0)		{ m_nShadowMapSize=flValue ; if(m_nShadowMapSize<2) m_nShadowMapSize=2 ; }
-					if(strcmp("r_shadowrgbsize", chKey)==0)		{ m_nShadowRGBSize=flValue ; if(m_nShadowRGBSize<2) m_nShadowRGBSize=2 ; }
-					if(strcmp("r_colouredshadow", chKey)==0)	{ m_nColouredShadow=flValue ; }
-					if(strcmp("r_renderhdr", chKey)==0)				{ m_nRenderHDR=flValue ; }
-					if(strcmp("r_maxgpuquery", chKey)==0)			{ m_nMaxGPUQuery=flValue ; if(m_nMaxGPUQuery<0) m_nMaxGPUQuery=0 ; if(m_nMaxGPUQuery>MAXGPUQUERY) m_nMaxGPUQuery=MAXGPUQUERY ; }
-
-					//sprintf(m_chBug, "Key: %s, Value: %f", chKey, flValue) ;
+					if(strcmp("r_shadowmapsize", chKey)==0)		{ m_nShadowMapSize=nValue ; if(m_nShadowMapSize<2) m_nShadowMapSize=2 ; }
+					if(strcmp("r_shadowrgbsize", chKey)==0)		{ m_nShadowRGBSize=nValue ; if(m_nShadowRGBSize<2) m_nShadowRGBSize=2 ; }
+					if(strcmp("r_colouredshadow", chKey)==0)	{ m_nColouredShadow=nValue ; }
+					if(strcmp("r_renderhdr", chKey)==0)				{ m_nRenderHDR=nValue ; }
+					if(strcmp("r_maxgpuquery", chKey)==0)			{ m_nMaxGPUQuery=nValue ; if(m_nMaxGPUQuery<0) m_nMaxGPUQuery=0 ; if(m_nMaxGPUQuery>MAXGPUQUERY) m_nMaxGPUQuery=MAXGPUQUERY ; }
+
+					//sprintf(m_chBug, "Key: %s, Value: %i", chKey, nValue) ;
 					//m_pLog->logMessage(m_chBug);
 				
Index: /code/branches/fps/src/libraries/tools/bsp/Q3Map.cpp
===================================================================
--- /code/branches/fps/src/libraries/tools/bsp/Q3Map.cpp	(revision 6824)
+++ /code/branches/fps/src/libraries/tools/bsp/Q3Map.cpp	(revision 6825)
@@ -582,5 +582,5 @@
 {
 	
-	char chMessage[1024] ;
+//	char chMessage[1024] ;
 	int nError=0 ;
 
@@ -1046,6 +1046,6 @@
 int Q3Map::ParseEntities(void)
 {
-	char chKey[MAX_TOKENSIZE+1] ;   // +1 to leave room for null terminator
-	char chValue[MAX_TOKENSIZE+1] ; // +1 to leave room for null terminator
+//	char chKey[MAX_TOKENSIZE+1] ;   // +1 to leave room for null terminator
+//	char chValue[MAX_TOKENSIZE+1] ; // +1 to leave room for null terminator
 	int nPos=0 ;
 	int nMaxPos=m_BspHeader.Lumps[0].iLength ;
@@ -1314,5 +1314,5 @@
 int Q3Map::ParseAndAddLight(int* pPos, int nMaxPos)
 {
-	char chMessage[1024] ;
+//	char chMessage[1024] ;
 
 
@@ -1683,10 +1683,10 @@
 	int nPos=0 ;
 
-	float flMinX=0.0f ;
-	float flMinY=0.0f ;
-	float flMinZ=0.0f ;
-	float flMaxX=0.0f ;
-	float flMaxY=0.0f ;
-	float flMaxZ=0.0f ;
+//	float flMinX=0.0f ;
+//	float flMinY=0.0f ;
+//	float flMinZ=0.0f ;
+//	float flMaxX=0.0f ;
+//	float flMaxY=0.0f ;
+//	float flMaxZ=0.0f ;
 
 	m_nMaxZone=0 ;
@@ -1762,5 +1762,5 @@
 {
 	int nCurrentTriangle=0 ;
-	int nZone=0 ;
+//	int nZone=0 ;
 
 
@@ -1820,10 +1820,10 @@
 {
 	int nZone=0 ;
-	int nSubZone=0 ;
+//	int nSubZone=0 ;
 	int nPos=0 ;
 	bool bVertInSubZone=false ;
 	int nVert=0 ;
 	bool bTriangleInZone=false ;
-	int nMaxSubZone=m_iNumSubZones ;
+//	int nMaxSubZone=m_iNumSubZones ;
 	float flVert[6][3] ; // verts 0, 1, 2 are the original triangle corners, verts 3, 4, 5 are interpolated edge points.
 	// we need the edge points, since it's possible for all the 
@@ -2378,5 +2378,5 @@
 	}
 
-	int nInitialTrianglePos=m_nTriangleMax ; // debugging
+//	int nInitialTrianglePos=m_nTriangleMax ; // debugging
 
 	// default parameters for all new triangles
@@ -2503,8 +2503,8 @@
 	float flPercent1=1.0f-flPercent0 ;
 
-	pVertexAB->color[0]=flPercent0*pVertA->color[0] + flPercent1*pVertB->color[0] ;
-	pVertexAB->color[1]=flPercent0*pVertA->color[1] + flPercent1*pVertB->color[1] ;
-	pVertexAB->color[2]=flPercent0*pVertA->color[2] + flPercent1*pVertB->color[2] ;
-	pVertexAB->color[3]=flPercent0*pVertA->color[3] + flPercent1*pVertB->color[3] ;
+	pVertexAB->color[0]=(unsigned char)(flPercent0*pVertA->color[0] + flPercent1*pVertB->color[0]) ;
+	pVertexAB->color[1]=(unsigned char)(flPercent0*pVertA->color[1] + flPercent1*pVertB->color[1]) ;
+	pVertexAB->color[2]=(unsigned char)(flPercent0*pVertA->color[2] + flPercent1*pVertB->color[2]) ;
+	pVertexAB->color[3]=(unsigned char)(flPercent0*pVertA->color[3] + flPercent1*pVertB->color[3]) ;
 
 	pVertexAB->position[0]=flPercent0*pVertA->position[0] + flPercent1*pVertB->position[0] ;
@@ -2606,23 +2606,23 @@
 	int nFaceIndex = 0 ;
 	
-	int nVertex=0 ;
-	int nVertexMax=0 ;
+//	int nVertex=0 ;
+//	int nVertexMax=0 ;
 	int nTriangle=0 ;
 	int nTriangleMax=0 ;
 
-	float flPosX=0.0f ;
-	float flPosY=0.0f ;
-	float flPosZ=0.0f ;
-	float	flNormX=0.0f ;
-	float	flNormY=0.0f ;
-	float	flNormZ=0.0f ;
-	float flTexU=0.0f ;
-	float flTexV=0.0f ;
+//	float flPosX=0.0f ;
+//	float flPosY=0.0f ;
+//	float flPosZ=0.0f ;
+//	float	flNormX=0.0f ;
+//	float	flNormY=0.0f ;
+//	float	flNormZ=0.0f ;
+//	float flTexU=0.0f ;
+//	float flTexV=0.0f ;
 	int nMeshVert=0 ;
-	int nMeshVertA=0 ;
-	int nMeshVertB=0 ;
-	int nMeshVertC=0 ;
-
-	Q3BspVertex *vertices = m_pVertices ;
+//	int nMeshVertA=0 ;
+//	int nMeshVertB=0 ;
+//	int nMeshVertC=0 ;
+
+//	Q3BspVertex *vertices = m_pVertices ;
 	int *meshverts = m_pMeshVerts ;
 	
@@ -2685,13 +2685,13 @@
 {
 
-	float flPosX=0.0f ;
-	float flPosY=0.0f ;
-	float flPosZ=0.0f ;
-	float	flNormX=0.0f ;
-	float	flNormY=0.0f ;
-	float	flNormZ=0.0f ;
-	float flTexU=0.0f ;
-	float flTexV=0.0f ;
-	int nMeshVert=0 ;
+//	float flPosX=0.0f ;
+//	float flPosY=0.0f ;
+//	float flPosZ=0.0f ;
+//	float	flNormX=0.0f ;
+//	float	flNormY=0.0f ;
+//	float	flNormZ=0.0f ;
+//	float flTexU=0.0f ;
+//	float flTexV=0.0f ;
+//	int nMeshVert=0 ;
 	int nMeshVertA=0 ;
 	int nMeshVertB=0 ;
@@ -2705,5 +2705,5 @@
 	
 	int nVertCount=nFirstVertex ;
-	int nPatchCount=0 ;
+//	int nPatchCount=0 ;
 
 	int* pIndexBuffer=NULL ;
@@ -2875,16 +2875,16 @@
 	float flCentreZ=0.0f ;
 
-	float flMinX=0.0f ;
-	float flMinY=0.0f ;
-	float flMinZ=0.0f ;
-	float flMaxX=0.0f ;
-	float flMaxY=0.0f ;
-	float flMaxZ=0.0f ;
-
-	float	flNormX=0.0f ;
-	float	flNormY=0.0f ;
-	float	flNormZ=0.0f ;
-	float flTexU=0.0f ;
-	float flTexV=0.0f ;
+//	float flMinX=0.0f ;
+//	float flMinY=0.0f ;
+//	float flMinZ=0.0f ;
+//	float flMaxX=0.0f ;
+//	float flMaxY=0.0f ;
+//	float flMaxZ=0.0f ;
+
+//	float	flNormX=0.0f ;
+//	float	flNormY=0.0f ;
+//	float	flNormZ=0.0f ;
+//	float flTexU=0.0f ;
+//	float flTexV=0.0f ;
 
 	float flColR=0.0f ;
@@ -2900,7 +2900,7 @@
 	int nTexture=0 ;
 	int nZone=0 ;
-	int nLampZone=0 ;
-	int nMaxLampZone=0 ;
-	int nZoneMatch=0 ;
+//	int nLampZone=0 ;
+//	int nMaxLampZone=0 ;
+//	int nZoneMatch=0 ;
 
 
@@ -3002,7 +3002,7 @@
 				m_pVertex[  m_pTriangle[nTriangle].VIndex[0]  ].texcoord[1][0]=flCentreZ ;
 				m_pVertex[  m_pTriangle[nTriangle].VIndex[0]  ].texcoord[1][1]=flBrightness ;
-				m_pVertex[  m_pTriangle[nTriangle].VIndex[0]  ].color[0]=flColR ;
-				m_pVertex[  m_pTriangle[nTriangle].VIndex[0]  ].color[1]=flColG ;
-				m_pVertex[  m_pTriangle[nTriangle].VIndex[0]  ].color[2]=flColB ;
+				m_pVertex[  m_pTriangle[nTriangle].VIndex[0]  ].color[0]=(unsigned char)flColR ;
+				m_pVertex[  m_pTriangle[nTriangle].VIndex[0]  ].color[1]=(unsigned char)flColG ;
+				m_pVertex[  m_pTriangle[nTriangle].VIndex[0]  ].color[2]=(unsigned char)flColB ;
 
 				m_pVertex[  m_pTriangle[nTriangle].VIndex[1]  ].texcoord[0][0]=flCentreX ;
@@ -3010,7 +3010,7 @@
 				m_pVertex[  m_pTriangle[nTriangle].VIndex[1]  ].texcoord[1][0]=flCentreZ ;
 				m_pVertex[  m_pTriangle[nTriangle].VIndex[1]  ].texcoord[1][1]=flBrightness ;
-				m_pVertex[  m_pTriangle[nTriangle].VIndex[1]  ].color[0]=flColR ;
-				m_pVertex[  m_pTriangle[nTriangle].VIndex[1]  ].color[1]=flColG ;
-				m_pVertex[  m_pTriangle[nTriangle].VIndex[1]  ].color[2]=flColB ;
+				m_pVertex[  m_pTriangle[nTriangle].VIndex[1]  ].color[0]=(unsigned char)flColR ;
+				m_pVertex[  m_pTriangle[nTriangle].VIndex[1]  ].color[1]=(unsigned char)flColG ;
+				m_pVertex[  m_pTriangle[nTriangle].VIndex[1]  ].color[2]=(unsigned char)flColB ;
 
 				m_pVertex[  m_pTriangle[nTriangle].VIndex[2]  ].texcoord[0][0]=flCentreX ;
@@ -3018,7 +3018,7 @@
 				m_pVertex[  m_pTriangle[nTriangle].VIndex[2]  ].texcoord[1][0]=flCentreZ ;
 				m_pVertex[  m_pTriangle[nTriangle].VIndex[2]  ].texcoord[1][1]=flBrightness ;
-				m_pVertex[  m_pTriangle[nTriangle].VIndex[2]  ].color[0]=flColR ;
-				m_pVertex[  m_pTriangle[nTriangle].VIndex[2]  ].color[1]=flColG ;
-				m_pVertex[  m_pTriangle[nTriangle].VIndex[2]  ].color[2]=flColB ;
+				m_pVertex[  m_pTriangle[nTriangle].VIndex[2]  ].color[0]=(unsigned char)flColR ;
+				m_pVertex[  m_pTriangle[nTriangle].VIndex[2]  ].color[1]=(unsigned char)flColG ;
+				m_pVertex[  m_pTriangle[nTriangle].VIndex[2]  ].color[2]=(unsigned char)flColB ;
 
 				
@@ -3061,9 +3061,9 @@
 	float flMaxZ=0.0f ;
 
-	float	flNormX=0.0f ;
-	float	flNormY=0.0f ;
-	float	flNormZ=0.0f ;
-	float flTexU=0.0f ;
-	float flTexV=0.0f ;
+//	float	flNormX=0.0f ;
+//	float	flNormY=0.0f ;
+//	float	flNormZ=0.0f ;
+//	float flTexU=0.0f ;
+//	float flTexV=0.0f ;
 
 	float flColR=0.0f ;
@@ -3149,7 +3149,7 @@
 		Vert_xyz.texcoord[1][0]=flCentreZ ;
 		Vert_xyz.texcoord[1][1]=flBrightness ;
-		Vert_xyz.color[0]=flColR ;
-		Vert_xyz.color[1]=flColG ;
-		Vert_xyz.color[2]=flColB ;
+		Vert_xyz.color[0]=(unsigned char)flColR ;
+		Vert_xyz.color[1]=(unsigned char)flColG ;
+		Vert_xyz.color[2]=(unsigned char)flColB ;
 		if(!AddVertex(Vert_xyz)) return 0 ;
 			
@@ -3165,7 +3165,7 @@
 		Vert_Xyz.texcoord[1][0]=flCentreZ ;
 		Vert_Xyz.texcoord[1][1]=flBrightness ;
-		Vert_Xyz.color[0]=flColR ;
-		Vert_Xyz.color[1]=flColG ;
-		Vert_Xyz.color[2]=flColB ;
+		Vert_Xyz.color[0]=(unsigned char)flColR ;
+		Vert_Xyz.color[1]=(unsigned char)flColG ;
+		Vert_Xyz.color[2]=(unsigned char)flColB ;
 		if(!AddVertex(Vert_Xyz)) return 0 ;
 
@@ -3180,7 +3180,7 @@
 		Vert_xYz.texcoord[1][0]=flCentreZ ;
 		Vert_xYz.texcoord[1][1]=flBrightness ;
-		Vert_xYz.color[0]=flColR ;
-		Vert_xYz.color[1]=flColG ;
-		Vert_xYz.color[2]=flColB ;
+		Vert_xYz.color[0]=(unsigned char)flColR ;
+		Vert_xYz.color[1]=(unsigned char)flColG ;
+		Vert_xYz.color[2]=(unsigned char)flColB ;
 		if(!AddVertex(Vert_xYz)) return 0 ;
 
@@ -3195,7 +3195,7 @@
 		Vert_XYz.texcoord[1][0]=flCentreZ ;
 		Vert_XYz.texcoord[1][1]=flBrightness ;
-		Vert_XYz.color[0]=flColR ;
-		Vert_XYz.color[1]=flColG ;
-		Vert_XYz.color[2]=flColB ;
+		Vert_XYz.color[0]=(unsigned char)flColR ;
+		Vert_XYz.color[1]=(unsigned char)flColG ;
+		Vert_XYz.color[2]=(unsigned char)flColB ;
 		if(!AddVertex(Vert_XYz)) return 0 ;
 
@@ -3212,7 +3212,7 @@
 		Vert_xyZ.texcoord[1][0]=flCentreZ ;
 		Vert_xyZ.texcoord[1][1]=flBrightness ;
-		Vert_xyZ.color[0]=flColR ;
-		Vert_xyZ.color[1]=flColG ;
-		Vert_xyZ.color[2]=flColB ;
+		Vert_xyZ.color[0]=(unsigned char)flColR ;
+		Vert_xyZ.color[1]=(unsigned char)flColG ;
+		Vert_xyZ.color[2]=(unsigned char)flColB ;
 		if(!AddVertex(Vert_xyZ)) return 0 ;
 
@@ -3227,7 +3227,7 @@
 		Vert_XyZ.texcoord[1][0]=flCentreZ ;
 		Vert_XyZ.texcoord[1][1]=flBrightness ;
-		Vert_XyZ.color[0]=flColR ;
-		Vert_XyZ.color[1]=flColG ;
-		Vert_XyZ.color[2]=flColB ;
+		Vert_XyZ.color[0]=(unsigned char)flColR ;
+		Vert_XyZ.color[1]=(unsigned char)flColG ;
+		Vert_XyZ.color[2]=(unsigned char)flColB ;
 		if(!AddVertex(Vert_XyZ)) return 0 ;
 
@@ -3242,7 +3242,7 @@
 		Vert_xYZ.texcoord[1][0]=flCentreZ ;
 		Vert_xYZ.texcoord[1][1]=flBrightness ;
-		Vert_xYZ.color[0]=flColR ;
-		Vert_xYZ.color[1]=flColG ;
-		Vert_xYZ.color[2]=flColB ;
+		Vert_xYZ.color[0]=(unsigned char)flColR ;
+		Vert_xYZ.color[1]=(unsigned char)flColG ;
+		Vert_xYZ.color[2]=(unsigned char)flColB ;
 		if(!AddVertex(Vert_xYZ)) return 0 ;
 
@@ -3257,7 +3257,7 @@
 		Vert_XYZ.texcoord[1][0]=flCentreZ ;
 		Vert_XYZ.texcoord[1][1]=flBrightness ;
-		Vert_XYZ.color[0]=flColR ;
-		Vert_XYZ.color[1]=flColG ;
-		Vert_XYZ.color[2]=flColB ;
+		Vert_XYZ.color[0]=(unsigned char)flColR ;
+		Vert_XYZ.color[1]=(unsigned char)flColG ;
+		Vert_XYZ.color[2]=(unsigned char)flColB ;
 		if(!AddVertex(Vert_XYZ)) return 0 ;
 
@@ -3362,9 +3362,9 @@
 	float flMaxZ=0.0f ;
 
-	float	flNormX=0.0f ;
-	float	flNormY=0.0f ;
-	float	flNormZ=0.0f ;
-	float flTexU=0.0f ;
-	float flTexV=0.0f ;
+//	float	flNormX=0.0f ;
+//	float	flNormY=0.0f ;
+//	float	flNormZ=0.0f ;
+//	float flTexU=0.0f ;
+//	float flTexV=0.0f ;
 
 	float flColR=0.0f ;
@@ -3451,7 +3451,7 @@
 		Vert_L.texcoord[1][0]=flCentreZ ;
 		Vert_L.texcoord[1][1]=flBrightness ;
-		Vert_L.color[0]=flColR ;
-		Vert_L.color[1]=flColG ;
-		Vert_L.color[2]=flColB ;
+		Vert_L.color[0]=(unsigned char)flColR ;
+		Vert_L.color[1]=(unsigned char)flColG ;
+		Vert_L.color[2]=(unsigned char)flColB ;
 		if(!AddVertex(Vert_L)) return 0 ;
 
@@ -3466,7 +3466,7 @@
 		Vert_R.texcoord[1][0]=flCentreZ ;
 		Vert_R.texcoord[1][1]=flBrightness ;
-		Vert_R.color[0]=flColR ;
-		Vert_R.color[1]=flColG ;
-		Vert_R.color[2]=flColB ;
+		Vert_R.color[0]=(unsigned char)flColR ;
+		Vert_R.color[1]=(unsigned char)flColG ;
+		Vert_R.color[2]=(unsigned char)flColB ;
 		if(!AddVertex(Vert_R)) return 0 ;
 
@@ -3481,7 +3481,7 @@
 		Vert_F.texcoord[1][0]=flCentreZ ;
 		Vert_F.texcoord[1][1]=flBrightness ;
-		Vert_F.color[0]=flColR ;
-		Vert_F.color[1]=flColG ;
-		Vert_F.color[2]=flColB ;
+		Vert_F.color[0]=(unsigned char)flColR ;
+		Vert_F.color[1]=(unsigned char)flColG ;
+		Vert_F.color[2]=(unsigned char)flColB ;
 		if(!AddVertex(Vert_F)) return 0 ;
 		
@@ -3496,7 +3496,7 @@
 		Vert_B.texcoord[1][0]=flCentreZ ;
 		Vert_B.texcoord[1][1]=flBrightness ;
-		Vert_B.color[0]=flColR ;
-		Vert_B.color[1]=flColG ;
-		Vert_B.color[2]=flColB ;
+		Vert_B.color[0]=(unsigned char)flColR ;
+		Vert_B.color[1]=(unsigned char)flColG ;
+		Vert_B.color[2]=(unsigned char)flColB ;
 		if(!AddVertex(Vert_B)) return 0 ;
 
@@ -3511,7 +3511,7 @@
 		Vert_U.texcoord[1][0]=flCentreZ ;
 		Vert_U.texcoord[1][1]=flBrightness ;
-		Vert_U.color[0]=flColR ;
-		Vert_U.color[1]=flColG ;
-		Vert_U.color[2]=flColB ;
+		Vert_U.color[0]=(unsigned char)flColR ;
+		Vert_U.color[1]=(unsigned char)flColG ;
+		Vert_U.color[2]=(unsigned char)flColB ;
 		if(!AddVertex(Vert_U)) return 0 ;
 
@@ -3526,7 +3526,7 @@
 		Vert_D.texcoord[1][0]=flCentreZ ;
 		Vert_D.texcoord[1][1]=flBrightness ;
-		Vert_D.color[0]=flColR ;
-		Vert_D.color[1]=flColG ;
-		Vert_D.color[2]=flColB ;
+		Vert_D.color[0]=(unsigned char)flColR ;
+		Vert_D.color[1]=(unsigned char)flColG ;
+		Vert_D.color[2]=(unsigned char)flColB ;
 		if(!AddVertex(Vert_D)) return 0 ;
 
@@ -3606,9 +3606,9 @@
 	float flMaxZ=0.0f ;
 
-	float	flNormX=0.0f ;
-	float	flNormY=0.0f ;
-	float	flNormZ=0.0f ;
-	float flTexU=0.0f ;
-	float flTexV=0.0f ;
+//	float	flNormX=0.0f ;
+//	float	flNormY=0.0f ;
+//	float	flNormZ=0.0f ;
+//	float flTexU=0.0f ;
+//	float flTexV=0.0f ;
 
 	float flColR=0.0f ;
@@ -3638,5 +3638,5 @@
 	float flGlowSize=0.0f ;
 
-	char chMessage[1024] ;
+//	char chMessage[1024] ;
 
 
@@ -3785,7 +3785,7 @@
 	Vert_Or.texcoord[1][0]=flCentreZ ;
 	Vert_Or.texcoord[1][1]=flBrightness ;
-	Vert_Or.color[0]=flColR ;
-	Vert_Or.color[1]=flColG ;
-	Vert_Or.color[2]=flColB ;
+	Vert_Or.color[0]=(unsigned char)flColR ;
+	Vert_Or.color[1]=(unsigned char)flColG ;
+	Vert_Or.color[2]=(unsigned char)flColB ;
 	if(!AddVertex(Vert_Or)) return 0 ;
 
@@ -3827,7 +3827,7 @@
 	Vert_A0.texcoord[1][0]=flCentreZ ;
 	Vert_A0.texcoord[1][1]=flBrightness ;
-	Vert_A0.color[0]=flColR ;//abs(Vert_A0.normal[0])*255 ;//0.0f ;
-	Vert_A0.color[1]=flColG ;//abs(Vert_A0.normal[1])*255 ;//0.0f ;
-	Vert_A0.color[2]=flColB ;//abs(Vert_A0.normal[2])*255 ;//0.0f ;
+	Vert_A0.color[0]=(unsigned char)flColR ;//abs(Vert_A0.normal[0])*255 ;//0.0f ;
+	Vert_A0.color[1]=(unsigned char)flColG ;//abs(Vert_A0.normal[1])*255 ;//0.0f ;
+	Vert_A0.color[2]=(unsigned char)flColB ;//abs(Vert_A0.normal[2])*255 ;//0.0f ;
 	if(!AddVertex(Vert_A0)) return 0 ;
 
@@ -3856,7 +3856,7 @@
 	Vert_A1.texcoord[1][0]=flCentreZ ;
 	Vert_A1.texcoord[1][1]=flBrightness ;
-	Vert_A1.color[0]=flColR ;//abs(Vert_A1.normal[0])*255 ;//0.0f ;
-	Vert_A1.color[1]=flColG ;//abs(Vert_A1.normal[1])*255 ;//0.0f ;
-	Vert_A1.color[2]=flColB ;//abs(Vert_A1.normal[2])*255 ;//0.0f ;
+	Vert_A1.color[0]=(unsigned char)flColR ;//abs(Vert_A1.normal[0])*255 ;//0.0f ;
+	Vert_A1.color[1]=(unsigned char)flColG ;//abs(Vert_A1.normal[1])*255 ;//0.0f ;
+	Vert_A1.color[2]=(unsigned char)flColB ;//abs(Vert_A1.normal[2])*255 ;//0.0f ;
 	if(!AddVertex(Vert_A1)) return 0 ;
 
@@ -3889,7 +3889,7 @@
 	Vert_B0.texcoord[1][0]=flCentreZ ;
 	Vert_B0.texcoord[1][1]=flBrightness ;
-	Vert_B0.color[0]=flColR ;//abs(Vert_B0.normal[0])*255 ;//0.0f ;
-	Vert_B0.color[1]=flColG ;//abs(Vert_B0.normal[1])*255 ;//0.0f ;
-	Vert_B0.color[2]=flColB ;//abs(Vert_B0.normal[2])*255 ;//0.0f ;
+	Vert_B0.color[0]=(unsigned char)flColR ;//abs(Vert_B0.normal[0])*255 ;//0.0f ;
+	Vert_B0.color[1]=(unsigned char)flColG ;//abs(Vert_B0.normal[1])*255 ;//0.0f ;
+	Vert_B0.color[2]=(unsigned char)flColB ;//abs(Vert_B0.normal[2])*255 ;//0.0f ;
 	if(!AddVertex(Vert_B0)) return 0 ;
 
@@ -3917,7 +3917,7 @@
 	Vert_B1.texcoord[1][0]=flCentreZ ;
 	Vert_B1.texcoord[1][1]=flBrightness ;
-	Vert_B1.color[0]=flColR ;//abs(Vert_B1.normal[0])*255 ;//0.0f ;
-	Vert_B1.color[1]=flColG ;//abs(Vert_B1.normal[1])*255 ;//0.0f ;
-	Vert_B1.color[2]=flColB ;//abs(Vert_B1.normal[2])*255 ;//0.0f ;
+	Vert_B1.color[0]=(unsigned char)flColR ;//abs(Vert_B1.normal[0])*255 ;//0.0f ;
+	Vert_B1.color[1]=(unsigned char)flColG ;//abs(Vert_B1.normal[1])*255 ;//0.0f ;
+	Vert_B1.color[2]=(unsigned char)flColB ;//abs(Vert_B1.normal[2])*255 ;//0.0f ;
 	if(!AddVertex(Vert_B1)) return 0 ;
 
