From: Ricardo Cruz Date: Sat, 15 May 2004 14:19:01 +0000 (+0000) Subject: I allways noticed that in the SDL mode, the gradient was sometimes different than... X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=5fb74739c5f4eebd93fd85a16fd4e17d6ac2776b;p=supertux.git I allways noticed that in the SDL mode, the gradient was sometimes different than the OpenGL. But when I did the function, everything was okay and in most of the gradients it worked fine. Finally, gone to the code and corrected that. It was just a typo (screen->w was being used in green and blue calculation, instead of screen->h). SVN-Revision: 1195 --- diff --git a/src/screen.cpp b/src/screen.cpp index 52071d210..66248b380 100644 --- a/src/screen.cpp +++ b/src/screen.cpp @@ -82,11 +82,14 @@ void drawgradient(Color top_clr, Color bot_clr) { #endif +//void fillrect(float x, float y, float w, float h, int r, int g, int b, int a) + for(float y = 0; y < screen->h; y += 2) fillrect(0, (int)y, screen->w, 2, - (int)(((float)(top_clr.red-bot_clr.red)/(0-screen->h)) * y + top_clr.red), - (int)(((float)(top_clr.green-bot_clr.green)/(0-screen->w)) * y + top_clr.green), - (int)(((float)(top_clr.blue-bot_clr.blue)/(0-screen->w)) * y + top_clr.blue), 255); + (int)(((float)(top_clr.red-bot_clr.red)/(0-screen->h)) * y + top_clr.red), + (int)(((float)(top_clr.green-bot_clr.green)/(0-screen->h)) * y + top_clr.green), + (int)(((float)(top_clr.blue-bot_clr.blue)/(0-screen->h)) * y + top_clr.blue), + 255); /* calculates the color for each line, based in the generic equation for functions: y = mx + b */ #ifndef NOOPENGL