summaryrefslogtreecommitdiff
path: root/video
diff options
context:
space:
mode:
Diffstat (limited to 'video')
-rw-r--r--video/cocoa_v.m3
-rw-r--r--video/dedicated_v.c4
-rw-r--r--video/sdl_v.c3
-rw-r--r--video/win32_v.c3
4 files changed, 9 insertions, 4 deletions
diff --git a/video/cocoa_v.m b/video/cocoa_v.m
index 4de6af703..758120f03 100644
--- a/video/cocoa_v.m
+++ b/video/cocoa_v.m
@@ -56,6 +56,7 @@ extern void HideMenuBar(void);
#include "../window.h"
#include "../network.h"
#include "../variables.h"
+#include "../genworld.h"
#include "../os/macosx/splash.h"
#include "cocoa_v.h"
@@ -709,7 +710,7 @@ static void QZ_GameLoop(void)
#endif
{
if (!_networking && _game_mode != GM_MENU) _fast_forward |= 2;
- } else if (_fast_forward & 2) {
+ } else if (_fast_forward & 2 && !IsGeneratingWorld()) {
_fast_forward = 0;
}
diff --git a/video/dedicated_v.c b/video/dedicated_v.c
index 3c367efe9..953368f99 100644
--- a/video/dedicated_v.c
+++ b/video/dedicated_v.c
@@ -12,6 +12,7 @@
#include "../window.h"
#include "../console.h"
#include "../variables.h"
+#include "../genworld.h"
#include "dedicated_v.h"
#ifdef BEOS_NET_SERVER
@@ -240,8 +241,9 @@ static void DedicatedVideoMainLoop(void)
/* If SwitchMode is SM_LOAD, it means that the user used the '-g' options */
if (_switch_mode != SM_LOAD) {
+ StartNewGameWithoutGUI(GENERATE_NEW_SEED);
+ SwitchMode(_switch_mode);
_switch_mode = SM_NONE;
- GenRandomNewGame(Random(), InteractiveRandom());
} else {
_switch_mode = SM_NONE;
/* First we need to test if the savegame can be loaded, else we will end up playing the
diff --git a/video/sdl_v.c b/video/sdl_v.c
index 275db9dba..14675ba52 100644
--- a/video/sdl_v.c
+++ b/video/sdl_v.c
@@ -13,6 +13,7 @@
#include "../window.h"
#include "../network.h"
#include "../variables.h"
+#include "../genworld.h"
#include "sdl_v.h"
#include <SDL.h>
@@ -461,7 +462,7 @@ static void SdlVideoMainLoop(void)
if (keys[SDLK_TAB])
#endif
{
- if (!_networking && _game_mode != GM_MENU) _fast_forward |= 2;
+ if (!_networking && _game_mode != GM_MENU && !IsGeneratingWorld()) _fast_forward |= 2;
} else if (_fast_forward & 2) {
_fast_forward = 0;
}
diff --git a/video/win32_v.c b/video/win32_v.c
index 4d25b6e65..a50ff6d72 100644
--- a/video/win32_v.c
+++ b/video/win32_v.c
@@ -9,6 +9,7 @@
#include "../variables.h"
#include "../win32.h"
#include "../window.h"
+#include "../genworld.h"
#include "win32_v.h"
#include <windows.h>
@@ -792,7 +793,7 @@ static void Win32GdiMainLoop(void)
* real key is in the upper 16 bits (see WM_SYSKEYDOWN in WndProcGdi()) */
if ((_pressed_key >> 16) & WKC_TAB &&
#endif
- !_networking && _game_mode != GM_MENU)
+ !_networking && _game_mode != GM_MENU && !IsGeneratingWorld())
_fast_forward |= 2;
} else if (_fast_forward & 2) {
_fast_forward = 0;