src/settings_gui.cpp
branchgamebalance
changeset 9911 0b8b245a2391
parent 9910 0b2aebc8283e
child 9912 1ac8aac92385
equal deleted inserted replaced
9910:0b2aebc8283e 9911:0b8b245a2391
   201 			_opt.autosave = _opt_newgame.autosave = e->we.dropdown.index;
   201 			_opt.autosave = _opt_newgame.autosave = e->we.dropdown.index;
   202 			SetWindowDirty(w);
   202 			SetWindowDirty(w);
   203 			break;
   203 			break;
   204 		case 24: /* Change interface language */
   204 		case 24: /* Change interface language */
   205 			ReadLanguagePack(e->we.dropdown.index);
   205 			ReadLanguagePack(e->we.dropdown.index);
       
   206 			UpdateAllStationVirtCoord();
   206 			MarkWholeScreenDirty();
   207 			MarkWholeScreenDirty();
   207 			break;
   208 			break;
   208 		case 27: /* Change resolution */
   209 		case 27: /* Change resolution */
   209 			if (e->we.dropdown.index < _num_resolutions && ChangeResInGame(_resolutions[e->we.dropdown.index][0],_resolutions[e->we.dropdown.index][1]))
   210 			if (e->we.dropdown.index < _num_resolutions && ChangeResInGame(_resolutions[e->we.dropdown.index][0],_resolutions[e->we.dropdown.index][1]))
   210 				SetWindowDirty(w);
   211 				SetWindowDirty(w);
   306 };
   307 };
   307 
   308 
   308 static const GameSettingData _game_setting_info[] = {
   309 static const GameSettingData _game_setting_info[] = {
   309 	{  0,   7,  1, STR_NULL},
   310 	{  0,   7,  1, STR_NULL},
   310 	{  0,   3,  1, STR_6830_IMMEDIATE},
   311 	{  0,   3,  1, STR_6830_IMMEDIATE},
   311 	{  0,   2,  1, STR_6816_LOW},
   312 	{  0,   3,  1, STR_NUM_VERY_LOW},
   312 	{  0,   3,  1, STR_26816_NONE},
   313 	{  0,   4,  1, STR_26816_NONE},
   313 	{100, 500, 50, STR_NULL},
   314 	{100, 500, 50, STR_NULL},
   314 	{  2,   4,  1, STR_NULL},
   315 	{  2,   4,  1, STR_NULL},
   315 	{  0,   2,  1, STR_6820_LOW},
   316 	{  0,   2,  1, STR_6820_LOW},
   316 	{  0,   4,  1, STR_681B_VERY_SLOW},
   317 	{  0,   4,  1, STR_681B_VERY_SLOW},
   317 	{  0,   2,  1, STR_6820_LOW},
   318 	{  0,   2,  1, STR_6820_LOW},
   329 };
   330 };
   330 
   331 
   331 /*
   332 /*
   332  * A: competitors
   333  * A: competitors
   333  * B: start time in months / 3
   334  * B: start time in months / 3
   334  * C: town count (2 = high, 0 = low)
   335  * C: town count (2 = high, 0 = very low)
   335  * D: industry count (3 = high, 0 = none)
   336  * D: industry count (4 = high, 0 = none)
   336  * E: inital loan / 1000 (in GBP)
   337  * E: inital loan / 1000 (in GBP)
   337  * F: interest rate
   338  * F: interest rate
   338  * G: running costs (0 = low, 2 = high)
   339  * G: running costs (0 = low, 2 = high)
   339  * H: construction speed of competitors (0 = very slow, 4 = very fast)
   340  * H: construction speed of competitors (0 = very slow, 4 = very fast)
   340  * I: intelligence (0-2)
   341  * I: intelligence (0-2)
   350  * S: Economic Growth
   351  * S: Economic Growth
   351  * T: Economic Model
   352  * T: Economic Model
   352  */
   353  */
   353 static const int16 _default_game_diff[3][GAME_DIFFICULTY_NUM] = { /*
   354 static const int16 _default_game_diff[3][GAME_DIFFICULTY_NUM] = { /*
   354 	 A, B, C, D,   E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T*/
   355 	 A, B, C, D,   E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T*/
   355 	{2, 2, 1, 3, 300, 2, 0, 2, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 2, 1}, //easy
   356 	{2, 2, 1, 4, 300, 2, 0, 2, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 2, 1}, //easy
   356 	{4, 1, 1, 2, 150, 3, 1, 3, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2}, //medium
   357 	{4, 1, 1, 3, 150, 3, 1, 3, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2}, //medium
   357 	{7, 0, 2, 2, 100, 4, 1, 3, 2, 2, 0, 2, 3, 2, 1, 1, 1, 2, 0, 3}, //hard
   358 	{7, 0, 2, 2, 100, 4, 1, 3, 2, 2, 0, 2, 3, 2, 1, 1, 1, 2, 0, 3}, //hard
   358 };
   359 };
   359 
   360 
   360 void SetDifficultyLevel(int mode, GameOptions *gm_opt)
   361 void SetDifficultyLevel(int mode, GameOptions *gm_opt)
   361 {
   362 {
   598 	/* While the horizontal scrollwheel scrolling is written as general code, only
   599 	/* While the horizontal scrollwheel scrolling is written as general code, only
   599 	 *  the cocoa (OSX) driver generates input for it.
   600 	 *  the cocoa (OSX) driver generates input for it.
   600 	 *  Since it's also able to completely disable the scrollwheel will we display it on all platforms anyway */
   601 	 *  Since it's also able to completely disable the scrollwheel will we display it on all platforms anyway */
   601 	"scrollwheel_scrolling",
   602 	"scrollwheel_scrolling",
   602 	"scrollwheel_multiplier",
   603 	"scrollwheel_multiplier",
       
   604 	"pause_on_newgame",
       
   605 	"advanced_vehicle_list",
   603 };
   606 };
   604 
   607 
   605 static const char *_patches_construction[] = {
   608 static const char *_patches_construction[] = {
   606 	"build_on_slopes",
   609 	"build_on_slopes",
   607 	"extra_dynamite",
   610 	"extra_dynamite",
   609 	"signal_side",
   612 	"signal_side",
   610 	"always_small_airport",
   613 	"always_small_airport",
   611 	"drag_signals_density",
   614 	"drag_signals_density",
   612 	"oil_refinery_limit",
   615 	"oil_refinery_limit",
   613 	"semaphore_build_before",
   616 	"semaphore_build_before",
       
   617 	"town_layout",
   614 };
   618 };
   615 
   619 
   616 static const char *_patches_stations[] = {
   620 static const char *_patches_stations[] = {
   617 	"join_stations",
   621 	"join_stations",
   618 	"full_load_any",
   622 	"full_load_any",