src/settings_gui.cpp
branchgamebalance
changeset 9909 dce9a6923bb7
parent 9908 0fa543611bbe
child 9910 0b2aebc8283e
--- a/src/settings_gui.cpp	Tue Jun 12 11:56:35 2007 +0000
+++ b/src/settings_gui.cpp	Wed Jun 13 11:00:24 2007 +0000
@@ -225,6 +225,7 @@
 
 /** Change the side of the road vehicles drive on (server only).
  * @param tile unused
+ * @param flags operation to perform
  * @param p1 the side of the road; 0 = left side and 1 = right side
  * @param p2 unused
  */
@@ -327,13 +328,6 @@
 	{  0,   3,  1, STR_6840_PRIMITIVE}
 };
 
-static inline bool GetBitAndShift(uint32 *b)
-{
-	uint32 x = *b;
-	*b >>= 1;
-	return HASBIT(x, 0);
-}
-
 /*
  * A: competitors
  * B: start time in months / 3
@@ -434,9 +428,9 @@
 
 		y = GAMEDIFF_WND_TOP_OFFSET;
 		for (i = 0; i != GAME_DIFFICULTY_NUM; i++) {
-			DrawFrameRect( 5, y,  5 + 8, y + 8, 3, GetBitAndShift(&click_a) ? FR_LOWERED : FR_NONE);
-			DrawFrameRect(15, y, 15 + 8, y + 8, 3, GetBitAndShift(&click_b) ? FR_LOWERED : FR_NONE);
-			if (GetBitAndShift(&disabled) || (_networking && !_network_server)) {
+			DrawFrameRect( 5, y,  5 + 8, y + 8, 3, HASBIT(click_a, i) ? FR_LOWERED : FR_NONE);
+			DrawFrameRect(15, y, 15 + 8, y + 8, 3, HASBIT(click_b, i) ? FR_LOWERED : FR_NONE);
+			if (HASBIT(disabled, i) || (_networking && !_network_server)) {
 				int color = (1 << PALETTE_MODIFIER_GREYOUT) | _colour_gradient[COLOUR_YELLOW][2];
 				GfxFillRect( 6, y + 1,  6 + 8, y + 8, color);
 				GfxFillRect(16, y + 1, 16 + 8, y + 8, color);
@@ -504,7 +498,9 @@
 
 			// save value in temporary variable
 			((int*)&_opt_mod_temp.diff)[btn] = val;
+			RaiseWindowWidget(w, _opt_mod_temp.diff_level + 3);
 			SetDifficultyLevel(3, &_opt_mod_temp); // set difficulty level to custom
+			LowerWindowWidget(w, _opt_mod_temp.diff_level + 3);
 			SetWindowDirty(w);
 		}	break;
 		case 3: case 4: case 5: case 6: /* Easy / Medium / Hard / Custom */
@@ -643,6 +639,7 @@
 	"allow_shares",
 	"town_growth_rate",
 	"larger_towns",
+	"initial_city_size",
 };
 
 static const char *_patches_ai[] = {