mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-01-31 19:33:34 +00:00
(svn r140) -Fix: Load Scenario fix
This commit is contained in:
parent
ea2d013ff0
commit
ebbfaced67
31
ttd.c
31
ttd.c
@ -20,7 +20,7 @@
|
||||
#include "hal.h"
|
||||
#include "airport.h"
|
||||
#include "saveload.h"
|
||||
#include "ai.h"
|
||||
#include "ai.h"
|
||||
#include "console.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
@ -75,7 +75,7 @@ void CDECL debug(const char *s, ...)
|
||||
va_start(va, s);
|
||||
vsprintf(buf, s, va);
|
||||
va_end(va);
|
||||
fprintf(stderr, "dbg: %s\n", buf);
|
||||
fprintf(stderr, "dbg: %s\n", buf);
|
||||
IConsoleDebug((byte *) &buf);
|
||||
}
|
||||
|
||||
@ -571,7 +571,7 @@ int ttd_main(int argc, char* argv[])
|
||||
MxInitialize(11025, "sample.cat");
|
||||
|
||||
// This must be done early, since functions use the InvalidateWindow* calls
|
||||
InitWindowSystem();
|
||||
InitWindowSystem();
|
||||
|
||||
GfxLoadSprites();
|
||||
LoadStringWidthTable();
|
||||
@ -597,13 +597,13 @@ int ttd_main(int argc, char* argv[])
|
||||
NetworkCoreConnectGame("auto",_network_server_port);
|
||||
}
|
||||
}
|
||||
|
||||
// initialize the ingame console
|
||||
IConsoleInit();
|
||||
|
||||
// initialize the ingame console
|
||||
IConsoleInit();
|
||||
|
||||
while (_video_driver->main_loop() == ML_SWITCHDRIVER) {}
|
||||
|
||||
IConsoleFree();
|
||||
|
||||
IConsoleFree();
|
||||
|
||||
if (_network_available) {
|
||||
// shutdown network-core
|
||||
@ -642,7 +642,7 @@ void LoadIntroGame()
|
||||
_opt_mod_ptr = &_new_opt;
|
||||
GfxLoadSprites();
|
||||
LoadStringWidthTable();
|
||||
|
||||
|
||||
// Setup main window
|
||||
InitWindowSystem();
|
||||
SetupColorsAndInitialWindow();
|
||||
@ -750,8 +750,10 @@ void StartScenario()
|
||||
StartupEngines();
|
||||
StartupDisasters();
|
||||
|
||||
// Create a single player
|
||||
DoStartupNewPlayer(false);
|
||||
// When starting a scenario, is it really a load..
|
||||
// and in AfterLoad a player is started when it is
|
||||
// a scenario.. so we do not need it here.
|
||||
// DoStartupNewPlayer(false);
|
||||
|
||||
_local_player = 0;
|
||||
|
||||
@ -782,7 +784,7 @@ bool SafeSaveOrLoad(const char *filename, int mode, int newgm)
|
||||
|
||||
static void SwitchMode(int new_mode)
|
||||
{
|
||||
_in_state_game_loop = true;
|
||||
_in_state_game_loop = true;
|
||||
|
||||
switch(new_mode) {
|
||||
case SM_EDITOR: // Switch to scenario editor
|
||||
@ -1133,6 +1135,11 @@ bool AfterLoadGame(uint version)
|
||||
if (version <= 0x400) {
|
||||
CheckIsPlayerActive();
|
||||
}
|
||||
|
||||
// If Load Scenario / New (Scenario) Game is used,
|
||||
// a player does not exist yet. So create one here.
|
||||
if (!_players[0].is_active)
|
||||
DoStartupNewPlayer(false);
|
||||
|
||||
DoZoomInOut(ZOOM_NONE); // update button status
|
||||
MarkWholeScreenDirty();
|
||||
|
Loading…
Reference in New Issue
Block a user