Index: src/ingameop.c
===================================================================
--- src/ingameop.c	(revision 4572)
+++ src/ingameop.c	(working copy)
@@ -149,7 +149,7 @@
 
 	widgAddForm(psWScreen, &sFormInit);
 
-	addIGTextButton(INTINGAMEOP_RESUME, INTINGAMEOP_4_Y, _("Resume Game"), WBUT_PLAIN);
+	addIGTextButton(INTINGAMEOP_RESUME, INTINGAMEOP_5_Y, _("Resume Game"), WBUT_PLAIN);
 
 	// fx vol
 	addIGTextButton(INTINGAMEOP_FXVOL, INTINGAMEOP_1_Y, _("Voice Volume"), WBUT_PLAIN);
@@ -166,20 +166,10 @@
 	addFESlider(INTINGAMEOP_CDVOL_S, INTINGAMEOP, INTINGAMEOP_MID, INTINGAMEOP_3_Y-5,
 				AUDIO_VOL_MAX, (int)(sound_GetMusicVolume() * 100), INTINGAMEOP_CDVOL);
 
-	/*
 	// gamma
-	if (pie_GetRenderEngine() == ENGINE_GLIDE)
-	{
-		addIGTextButton(INTINGAMEOP_GAMMA, INTINGAMEOP_3_Y, _("Gamma"), WBUT_PLAIN);
+	addIGTextButton(INTINGAMEOP_GAMMA, INTINGAMEOP_4_Y, _("Gamma"), WBUT_PLAIN);
+	addFESlider(INTINGAMEOP_GAMMA_S, INTINGAMEOP, INTINGAMEOP_MID, INTINGAMEOP_4_Y - 5, 60, gammaValue, INTINGAMEOP_GAMMA);
 
-		if(gammaValue>3)	   gammaValue = (float)2.9;
-		if(gammaValue<0.5)  gammaValue = (float).5;
-
-		addFESlider(INTINGAMEOP_GAMMA_S,INTINGAMEOP , INTINGAMEOP_MID,INTINGAMEOP_3_Y-5,60,(UDWORD)(gammaValue*25),INTINGAMEOP_GAMMA );
-
-	}
-*/
-
 	return true;
 }
 
@@ -372,8 +362,6 @@
 // process clicks made by user.
 void intProcessInGameOptions(UDWORD id)
 {
-
-
 	switch(id)
 	{
 	// NORMAL KEYS
@@ -393,7 +381,6 @@
 		intCloseInGameOptions(false, true);
 		break;
 
-
 //	case INTINGAMEOP_REPLAY:
 //		intCloseInGameOptions(true, false);
 //		if(0!=strcmp(getLevelName(),"CAM_1A"))
@@ -412,15 +399,13 @@
 		addLoadSave(SAVE_INGAME,SaveGamePath,"gam", _("Save Game") );
 		break;
 
-
 	// GAME OPTIONS KEYS
 	case INTINGAMEOP_FXVOL:
 	case INTINGAMEOP_3DFXVOL:
 	case INTINGAMEOP_CDVOL:
-//	case INTINGAMEOP_GAMMA:
+	case INTINGAMEOP_GAMMA:
 		break;
 
-
 	case INTINGAMEOP_FXVOL_S:
 		sound_SetUIVolume((float)widgGetSliderPos(psWScreen, INTINGAMEOP_FXVOL_S) / 100.0);
 		break;
@@ -431,18 +416,12 @@
 		sound_SetMusicVolume((float)widgGetSliderPos(psWScreen, INTINGAMEOP_CDVOL_S) / 100.0);
 		break;
 
-//	case INTINGAMEOP_GAMMA_S:
-//		gammaValue = (float)(widgGetSliderPos(psWScreen,INTINGAMEOP_GAMMA_S))/25  ;
-//		if(gammaValue<0.5)  gammaValue = (float).5;
-//		pie_SetGammaValue(gammaValue);
-//		break;
+	case INTINGAMEOP_GAMMA_S:
+		gammaValue = (float)(widgGetSliderPos(psWScreen, INTINGAMEOP_GAMMA_S));
+		pie_SetGammaValue(gammaValue / 20.0f);
+		break;
 
-
 	default:
 		break;
 	}
-
-
 }
-
-
Index: src/ingameop.h
===================================================================
--- src/ingameop.h	(revision 4572)
+++ src/ingameop.h	(working copy)
@@ -54,7 +54,7 @@
 #define INTINGAMEOP_Y			((240-(INTINGAMEOP_H/2))+D_H)
 
 #define INTINGAMEOP2_W			290
-#define INTINGAMEOP2_H			100
+#define INTINGAMEOP2_H			120
 #define INTINGAMEOP2_X			((320-(INTINGAMEOP2_W/2))+D_W)
 #define INTINGAMEOP2_Y			((240-(INTINGAMEOP2_H/2))+D_H)
 
@@ -101,10 +101,10 @@
 	INTINGAMEOP_CURSOR_S,
 	INTINGAMEOP_SUBTITLES,
 	INTINGAMEOP_SUBTITLES_BT,
+	INTINGAMEOP_GAMMA,
+	INTINGAMEOP_GAMMA_S,
 };
 
-
-
 // positions within option boxes.
 #define INTINGAMEOP_1_X		5
 #define INTINGAMEOP_MID		100
