This patch adds gamma setting with keybindings (alt-keypadplus/minus).
-- 
"...but I also can't prove that mushrooms could
 not be intergalactic spaceships spying on us."
            [Daniel Dennett]
Index: src/display3d.c
===================================================================
--- src/display3d.c     (revision 422)
+++ src/display3d.c     (working copy)
@@ -1036,9 +1036,6 @@
        gridCentreX = ( player.p.x + ((visibleXTiles/2)<<TILE_SHIFT) );
        gridCentreZ = ( player.p.z + ((visibleYTiles/2)<<TILE_SHIFT) );
 
-
-       pie_SetGammaValue(gammaValue);
-
        edgeTile.texture = 0;
 
        bEnergyBars = TRUE;
Index: src/keymap.c
===================================================================
--- src/keymap.c        (revision 422)
+++ src/keymap.c        (working copy)
@@ -250,6 +250,8 @@
        kf_TriFlip,
        kf_UpDroidScale,
        kf_DownDroidScale,
+       kf_RaiseGamma,
+       kf_LowerGamma,
 
        NULL            // last function!
 };
@@ -397,6 +399,8 @@
        
keyAddMapping(KEYMAP_ASSIGNABLE,KEY_LALT,KEY_S,KEYMAP_PRESSED,kf_ToggleShadows, 
"Toggles shadows");
        
keyAddMapping(KEYMAP_ASSIGNABLE,KEY_LCTRL,KEY_TAB,KEYMAP_PRESSED,kf_ToggleRadarTerrain,
         "Toggle radar terrain");
        
keyAddMapping(KEYMAP_ASSIGNABLE,KEY_LSHIFT,KEY_TAB,KEYMAP_PRESSED,kf_ToggleRadarAllyEnemy,
      "Toggle ally-enemy radar view");
+       keyAddMapping(KEYMAP_ASSIGNABLE, KEY_LALT, KEY_KP_MINUS, 
KEYMAP_PRESSED, kf_LowerGamma, "Lower gamma");
+       keyAddMapping(KEYMAP_ASSIGNABLE, KEY_LALT, KEY_KP_PLUS, KEYMAP_PRESSED, 
kf_RaiseGamma, "Raise gamma");
 
        // Some extra non QWERTY mappings but functioning in same way
        
keyAddMapping(KEYMAP_ASSIGNABLE,KEY_IGNORE,KEY_COMMA,KEYMAP_PRESSED,kf_SetDroidRetreatMedium,
      strresGetString(psStringRes,STR_BIND_LDAM) );
@@ -505,15 +512,11 @@
        ASSERT( newMapping != NULL, "Couldn't allocate memory for a key 
mapping" );
 
        /* Plus one for the terminator */
-
-
-
        newMapping->pName = (STRING*)MALLOC(strlen(name)+1);
        ASSERT( newMapping->pName != NULL, "Couldn't allocate the memory for 
the string in a mapping" );
 
        memSetBlockHeap(psHeap);
 
-
        /* Copy over the name */
        strcpy(newMapping->pName,name);
 
Index: src/keybind.c
===================================================================
--- src/keybind.c       (revision 422)
+++ src/keybind.c       (working copy)
@@ -425,7 +425,8 @@
 /* Raises the 3dfx gamma value */
 void   kf_RaiseGamma( void )
 {
-
+       gammaValue += 0.05;
+       pie_SetGammaValue(gammaValue);
 }
 
 // --------------------------------------------------------------------------
@@ -433,7 +434,8 @@
 /* Lowers the threedfx gamma value */
 void   kf_LowerGamma( void )
 {
-
+       gammaValue -= 0.05;
+       pie_SetGammaValue(gammaValue);
 }
 
 // --------------------------------------------------------------------------
Index: src/configuration.c
===================================================================
--- src/configuration.c (revision 422)
+++ src/configuration.c (working copy)
@@ -33,7 +33,7 @@
 
 #define DEFAULTFXVOL   80
 #define DEFAULTCDVOL   60
-#define DEFAULTGAMMA   25
+#define DEFAULTGAMMA   20
 #define DEFAULTSCROLL  800
 #define DEFAULTMAPNAME "Rush"
 
@@ -90,18 +90,20 @@
 
        // //////////////////////////
        // gamma
-       if(getWarzoneKeyNumeric("gamma", &val))
+       if (getWarzoneKeyNumeric("gamma", &val))
        {
-               gammaValue =(float)val/(float)25;
-               if(gammaValue<0.5)gammaValue =(float).5;
+               gammaValue = val / 20.0;
+               if (gammaValue < 0.5)
+                       gammaValue = 0.5;
                pie_SetGammaValue(gammaValue);
        }
        else
        {
-               gammaValue =(float)DEFAULTGAMMA/(float)25;
+               gammaValue = DEFAULTGAMMA / 20.0;
+               if (gammaValue < 0.5)
+                       gammaValue = 0.5;
                pie_SetGammaValue(gammaValue);
-               if(gammaValue<0.5)gammaValue =(float).5;
-               setWarzoneKeyNumeric("gamma", DEFAULTGAMMA);
+               setWarzoneKeyNumeric("gamma", gammaValue);
        }
 
        // //////////////////////////
@@ -536,7 +538,7 @@
                setDifficultyLevel(DL_NORMAL);
        }
        setWarzoneKeyNumeric("allowSubtitles", war_GetAllowSubtitles());
-       setWarzoneKeyNumeric("gamma",(DWORD)(gammaValue*25));                   
// gamma
+       setWarzoneKeyNumeric("gamma", (DWORD)(gammaValue * 20));
        setWarzoneKeyNumeric("scroll",(DWORD)scroll_speed_accel);               
// scroll
        setWarzoneKeyNumeric("difficulty", getDifficultyLevel());               
// level
        setWarzoneKeyNumeric("barmode",(DWORD)barMode);                 
//energybars
Index: lib/ivis_common/piestate.h
===================================================================
--- lib/ivis_common/piestate.h  (revision 422)
+++ lib/ivis_common/piestate.h  (working copy)
@@ -142,7 +142,7 @@
 /***************************************************************************/
 extern void pie_SetDefaultStates(void);//Sets all states
 extern void pie_SetDepthBufferStatus(DEPTH_MODE depthMode);
-extern WZ_DECL_DEPRECATED void pie_SetGammaValue(float val);
+extern void pie_SetGammaValue(float val);
 //renderer capability
 extern void pie_SetTranslucent(BOOL val);
 extern BOOL pie_Translucent(void);
Index: lib/ivis_opengl/piestate.c
===================================================================
--- lib/ivis_opengl/piestate.c  (revision 422)
+++ lib/ivis_opengl/piestate.c  (working copy)
@@ -11,6 +11,7 @@
 #ifdef _MSC_VER
 #include <windows.h>  //needed for gl.h!  --Qamly
 #endif
+#include <SDL/SDL.h>
 #include <SDL/SDL_opengl.h>
 
 #include "lib/framework/frame.h"
@@ -207,6 +208,8 @@
 }
 
 /***************************************************************************/
-void pie_SetGammaValue(float val) // FIXME Remove if unused
+void pie_SetGammaValue(float val)
 {
+       debug(LOG_ERROR, "%s: %f\n", __FUNCTION__, val);
+       SDL_SetGamma(val, val, val);
 }
_______________________________________________
Warzone-dev mailing list
Warzone-dev@gna.org
https://mail.gna.org/listinfo/warzone-dev

Reply via email to