Index: texture.c
===================================================================
--- texture.c	(revision 282)
+++ texture.c	(revision 283)
@@ -42,8 +42,8 @@
 char blended=0,filter=0,cutout=0,simulate=0;
 char rgb;
 GLfloat r,g,b;
+signed char reflect=0;
 
-
 // "as" is duplicated ?
 for(i=0;i<raydium_texture_index;i++)
     if(!strcmp(raydium_texture_name[i],as)) 
@@ -61,6 +61,11 @@
 temp[4]=0;
 if(!strcmp("rgb(",(char *)temp)) rgb=1; else rgb=0;
 
+strcpy((char *)temp,filename);
+temp[3]=0;
+if(!strcmp("ENV",(char *)temp)) reflect=1;
+
+
 if(!rgb && !faked)
 {
  file=raydium_file_fopen(filename,"rb");
@@ -109,6 +114,13 @@
  if(bpp == 1) data[k]=temp[0];
  else // no greyscale
   {
+   if(reflect)
+    {
+    temp[0]*=RAYDIUM_RENDER_REFLECTION_FACT;
+    temp[1]*=RAYDIUM_RENDER_REFLECTION_FACT;
+    temp[2]*=RAYDIUM_RENDER_REFLECTION_FACT;
+    }
+
    data[k]=temp[2];
    data[k+1]=temp[1];
    data[k+2]=temp[0];
@@ -143,7 +155,6 @@
 
 strcpy(raydium_texture_name[id],as);
 
-//#ifndef WIN32
 if(faked)
     {
     raydium_live_Texture *tex;
@@ -172,7 +183,6 @@
 	return 0; 
 	}
     }
-//#endif
 
 if(!rgb)
 {
@@ -242,6 +252,9 @@
     raydium_texture_nolight[id]=1;
     }
 
+ if(reflect)
+    raydium_texture_env[id]=1;
+
  if(filter==RAYDIUM_TEXTURE_FILTER_TRILINEAR && blended)
     filter=RAYDIUM_TEXTURE_FILTER_BILINEAR;