* Fixed gradient background bug
authorOndřej Hošek <ondra.hosek@gmail.com>
Sat, 29 Oct 2005 20:26:20 +0000 (20:26 +0000)
committerOndřej Hošek <ondra.hosek@gmail.com>
Sat, 29 Oct 2005 20:26:20 +0000 (20:26 +0000)
* Users are warned if a component of the background colour is higher than 1.0
* In Color::Color(std::vector), alpha is now set to 1.0 by default.
* Fixed a mistake in Background::write
* Fixed all converted levels to color range 0.0-1.0 from 0-255

SVN-Revision: 2927

20 files changed:
data/levels/bonus1/bonus-level4.stl
data/levels/bonus1/bonus-level5.stl
data/levels/bonus1/matr1x-level1.stl
data/levels/bonus1/matr1x-level2.stl
data/levels/bonus1/matr1x-level3.stl
data/levels/bonus1/wansti-level3.stl
data/levels/bonus1/wansti-level5.stl
data/levels/bonus2/level16.stl
data/levels/bonus2/level17.stl
data/levels/bonus2/level21.stl
data/levels/bonus2/level24.stl
data/levels/bonus2/level27.stl
data/levels/bonus2/level6.stl
data/levels/world1/level11.stl
data/levels/world1/level12.stl
data/levels/world1/level13.stl
data/levels/world1/level26.stl
src/object/background.cpp
src/video/color.hpp
src/video/drawing_context.cpp

index 883a7e7..5d6bde1 100644 (file)
@@ -80,8 +80,8 @@
       )
     )
     (background
-      (top_color 50 50 50)
-      (bottom_color 50 50 50)
+      (top_color 0.2 0.2 0.2)
+      (bottom_color 0.2 0.2 0.2)
     )
     (leveltime
       (time 300)
index 613d8f4..3dc7f5e 100644 (file)
@@ -80,8 +80,8 @@
       )
     )
     (background
-      (top_color 0 0 0)
-      (bottom_color 0 0 0)
+      (top_color 0.0 0.0 0.0)
+      (bottom_color 0.0 0.0 0.0)
     )
     (leveltime
       (time 500)
index d344cb4..5d8af1d 100644 (file)
@@ -80,8 +80,8 @@
       )
     )
     (background
-      (top_color 0 0 255)
-      (bottom_color 255 255 255)
+      (top_color 0.0 0.0 1.0)
+      (bottom_color 1.0 1.0 1.0)
     )
     (leveltime
       (time 180)
index 31e0c5c..fe0f9db 100644 (file)
@@ -80,8 +80,8 @@
       )
     )
     (background
-      (top_color 255 255 255)
-      (bottom_color 0 0 255)
+      (top_color 1.0 1.0 1.0)
+      (bottom_color 0.0 0.0 1.0)
     )
     (leveltime
       (time 250)
index 24ff429..38684b9 100644 (file)
@@ -80,8 +80,8 @@
       )
     )
     (background
-      (top_color 88 88 100)
-      (bottom_color 88 88 100)
+      (top_color 0.35 0.35 0.4)
+      (bottom_color 0.35 0.35 0.4)
     )
     (leveltime
       (time 250)
index f943b5b..a6f6270 100644 (file)
@@ -81,8 +81,8 @@
       )
     )
     (background
-      (top_color 150 200 255)
-      (bottom_color 150 200 255)
+      (top_color 0.6 0.8 1.0)
+      (bottom_color 0.6 0.8 1.0)
     )
     (leveltime
       (time 300)
index 6644558..67e7544 100644 (file)
@@ -81,8 +81,8 @@
       )
     )
     (background
-      (top_color 60 70 110)
-      (bottom_color 0 10 120)
+      (top_color 0.2 0.25 0.4)
+      (bottom_color 0.0 0.05 0.5)
     )
     (leveltime
       (time 300)
index 756cfdc..b3d4d2b 100644 (file)
@@ -80,8 +80,8 @@
       )
     )
     (background
-      (top_color 200 150 50)
-      (bottom_color 0 150 150)
+      (top_color 0.8 0.6 0.2)
+      (bottom_color 0.0 0.6 0.6)
     )
     (leveltime
       (time 300)
index 888927a..7c8e06d 100644 (file)
@@ -1,4 +1,5 @@
 ;; Converted by Ondra Hosek
+;; FIXME: Doesn't seem to have a normal exit
 (supertux-level
   (version 2)
   (name (_ "...Where Everything Is Possible"))
@@ -80,8 +81,8 @@
       )
     )
     (background
-      (top_color 150 200 255)
-      (bottom_color 150 200 255)
+      (top_color 0.6 0.8 1.0)
+      (bottom_color 0.6 0.8 1.0)
     )
     (leveltime
       (time 300)
index 201c9a3..d397bd7 100644 (file)
@@ -38,8 +38,8 @@
       )
     )
     (background
-      (top_color 0 0 0)
-      (bottom_color 204 0 0)
+      (top_color 0.0 0.0 0.0)
+      (bottom_color 0.8 0.0 0.0)
     )
     (leveltime
       (time 300)
index d4a9a3d..e0a3ea7 100644 (file)
@@ -81,8 +81,8 @@
       )
     )
     (background
-      (top_color 100 150 255)
-      (bottom_color 255 255 255)
+      (top_color 0.4 0.6 1.0)
+      (bottom_color 1.0 1.0 1.0)
     )
     (leveltime
       (time 300)
index fb26f86..b3f968a 100644 (file)
@@ -80,8 +80,8 @@
       )
     )
     (background
-      (top_color 100 150 255)
-      (bottom_color 255 255 255)
+      (top_color 0.4 0.6 1.0)
+      (bottom_color 1.0 1.0 1.0)
     )
     (leveltime
       (time 400)
index b12d6ac..f184a36 100644 (file)
@@ -38,8 +38,8 @@
       )
     )
     (background
-      (top_color 100 100 255)
-      (bottom_color 255 255 255)
+      (top_color 0.4 0.4 1.0)
+      (bottom_color 1.0 1.0 1.0)
     )
     (leveltime
       (time 200)
index aabe1ed..8b20bb9 100644 (file)
@@ -93,8 +93,8 @@
       )
     )
     (background
-      (top_color 0 0 0)
-      (bottom_color 0 0 100)
+      (top_color 0.0 0.0 0.0)
+      (bottom_color 0.0 0.0 0.4)
     )
     (leveltime
       (time 300)
index b0c4803..041121f 100644 (file)
@@ -93,8 +93,8 @@
       )
     )
     (background
-      (top_color 0 0 0)
-      (bottom_color 0 0 100)
+      (top_color 0.0 0.0 0.0)
+      (bottom_color 0.0 0.0 0.4)
     )
     (leveltime
       (time 300)
index f3add92..10dfae3 100644 (file)
@@ -94,8 +94,8 @@
       )
     )
     (background
-      (top_color 100 150 255)
-      (bottom_color 255 255 255)
+      (top_color 0.4 0.6 1.0)
+      (bottom_color 1.0 1.0 1.0)
     )
     (leveltime
       (time 200)
index fbe1cdc..8e010aa 100644 (file)
@@ -92,8 +92,8 @@
       )
     )
     (background
-      (top_color 0 0 0)
-      (bottom_color 150 0 0)
+      (top_color 0.0 0.0 0.0)
+      (bottom_color 0.6 0.0 0.0)
     )
     (leveltime
       (time 300)
index 7c43cfa..025adbc 100644 (file)
@@ -69,9 +69,9 @@ Background::write(lisp::Writer& writer)
     bkgd_top_color.push_back(gradient_top.red);
     bkgd_top_color.push_back(gradient_top.green);
     bkgd_top_color.push_back(gradient_top.blue);
-    bkgd_bottom_color.push_back(gradient_top.red);
-    bkgd_bottom_color.push_back(gradient_top.green);
-    bkgd_bottom_color.push_back(gradient_top.blue);
+    bkgd_bottom_color.push_back(gradient_bottom.red);
+    bkgd_bottom_color.push_back(gradient_bottom.green);
+    bkgd_bottom_color.push_back(gradient_bottom.blue);
     writer.write_float_vector("top_color", bkgd_top_color);
     writer.write_float_vector("bottom_color", bkgd_bottom_color);
   }
@@ -102,6 +102,13 @@ Background::set_gradient(Color top, Color bottom)
   type = GRADIENT;
   gradient_top = top;
   gradient_bottom = bottom;
+  
+  if (gradient_top.red > 1.0 || gradient_top.green > 1.0
+   || gradient_top.blue > 1.0 || gradient_top.alpha > 1.0)
+    std::cerr << "Warning: top gradient color has values above 1.0." << std::endl;
+  if (gradient_bottom.red > 1.0 || gradient_bottom.green > 1.0
+   || gradient_bottom.blue > 1.0 || gradient_bottom.alpha > 1.0)
+    std::cerr << "Warning: bottom gradient color has values above 1.0." << std::endl;
 
   delete image;
   image = NULL;
index 18f8849..7cbbd72 100644 (file)
@@ -19,6 +19,8 @@ public:
     blue = vals[2];
     if(vals.size() > 3)
       alpha = vals[3];
+    else
+      alpha = 1.0;
   }
 
   float red, green, blue, alpha;
index 6f1aee1..c231e4b 100644 (file)
@@ -225,6 +225,7 @@ DrawingContext::draw_gradient(DrawingRequest& request)
   const Color& top = gradientrequest->top;
   const Color& bottom = gradientrequest->bottom;
   
+  glDisable(GL_TEXTURE_2D);
   glBegin(GL_QUADS);
   glColor4f(top.red, top.green, top.blue, top.alpha);
   glVertex2f(0, 0);
@@ -233,6 +234,7 @@ DrawingContext::draw_gradient(DrawingRequest& request)
   glVertex2f(SCREEN_WIDTH, SCREEN_HEIGHT);
   glVertex2f(0, SCREEN_HEIGHT);
   glEnd();
+  glEnable(GL_TEXTURE_2D);
 
   delete gradientrequest;
 }