summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcelestar <celestar@openttd.org>2005-02-18 22:17:33 +0000
committercelestar <celestar@openttd.org>2005-02-18 22:17:33 +0000
commitbf5e0c10cea257c3dccc6691f889c5d50d6e4fbf (patch)
treeb78adb4aa33ddb8654b90e61270993f98e5421a0
parentb973ad1df985dba9949bf105d3f84a42d3aeef66 (diff)
downloadopenttd-bf5e0c10cea257c3dccc6691f889c5d50d6e4fbf.tar.xz
(svn r1889) -Fix: [ 1108637 ] 'Play scenario' now loads game options and difficulty, 'Load game' starts game with user-selected values.
-rw-r--r--settings_gui.c29
-rw-r--r--ttd.c2
2 files changed, 26 insertions, 5 deletions
diff --git a/settings_gui.c b/settings_gui.c
index 4db938056..3b8b979d0 100644
--- a/settings_gui.c
+++ b/settings_gui.c
@@ -315,10 +315,31 @@ static inline bool GetBitAndShift(uint32 *b)
return (x&1) != 0;
}
-static const int16 _default_game_diff[3][GAME_DIFFICULTY_NUM] = {
- {2, 2, 1, 3, 300, 2, 0, 2, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0},
- {4, 1, 1, 2, 150, 3, 1, 3, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1},
- {7, 0, 2, 2, 100, 4, 1, 3, 2, 2, 0, 2, 3, 2, 1, 1, 1, 2},
+/*
+ A: competitors
+ B: start time in months / 3
+ C: town count (2 = high, 0 = low)
+ D: industry count (3 = high, 0 = none)
+ E: inital loan / 1000 (in GBP)
+ F: interest rate
+ G: running costs (0 = low, 2 = high)
+ H: construction speed of competitors (0 = very slow, 4 = very fast)
+ I: intelligence (0-2)
+ J: breakdowns(0 = off, 2 = normal)
+ K: subsidy multiplier (0 = 1.5, 3 = 4.0)
+ L: construction cost (0-2)
+ M: terrain type (0 = very flat, 3 = mountainous)
+ N: amount of water (0 = very low, 3 = high)
+ O: economy (0 = steady, 1 = fluctuating)
+ P: Train reversing (0 = end of line + stations, 1 = end of line)
+ Q: disasters
+ R: area restructuring (0 = permissive, 2 = hostile)
+*/
+static const int16 _default_game_diff[3][GAME_DIFFICULTY_NUM] = { /*
+ A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R*/
+ {2, 2, 1, 3, 300, 2, 0, 2, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0}, //easy
+ {4, 1, 1, 2, 150, 3, 1, 3, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1}, //medium
+ {7, 0, 2, 2, 100, 4, 1, 3, 2, 2, 0, 2, 3, 2, 1, 1, 1, 2}, //hard
};
void SetDifficultyLevel(int mode, GameOptions *gm_opt)
diff --git a/ttd.c b/ttd.c
index 7484626b4..dfb806e3e 100644
--- a/ttd.c
+++ b/ttd.c
@@ -890,7 +890,6 @@ normal_load:
LoadIntroGame();
ShowErrorMessage(_error_message, STR_4009_GAME_LOAD_FAILED, 0, 0);
} else {
- _opt_mod_ptr = &_opt;
_local_player = 0;
DoCommandP(0, 0, 0, NULL, CMD_PAUSE); // decrease pause counter (was increased from opening load dialog)
#ifdef ENABLE_NETWORK
@@ -908,6 +907,7 @@ normal_load:
if (SafeSaveOrLoad(_file_to_saveload.name, _file_to_saveload.mode, GM_EDITOR)) {
_opt_mod_ptr = &_opt;
+ _opt_mod_temp = _opt;
_local_player = OWNER_NONE;
_generating_world = true;