From 787328c1deeaf3c62f4a30c928e4d2dfd4dd9f4f Mon Sep 17 00:00:00 2001 From: nehalmistry <> Date: Wed, 27 Nov 2002 07:36:45 +0000 Subject: [PATCH] fixed bug: [ 618086 ] bugs when without network --- src/game/game.cpp | 2 ++ src/include/menus.h | 3 +++ src/stratagus/stratagus.cpp | 5 ++++- src/ui/menus.cpp | 18 +++++++++++++----- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/game/game.cpp b/src/game/game.cpp index 5d38553d0..877125438 100644 --- a/src/game/game.cpp +++ b/src/game/game.cpp @@ -298,6 +298,8 @@ global void CreateGame(char* filename, WorldMap* map) if( NetworkFildes!=-1 ) { // Prepare network play DebugLevel0Fn("Client setup: Calling InitNetwork2\n"); InitNetwork2(); + } else { + ThisPlayer = &Players[0]; } if( GameIntro.Title ) { diff --git a/src/include/menus.h b/src/include/menus.h index cf51dfe51..65228936f 100644 --- a/src/include/menus.h +++ b/src/include/menus.h @@ -345,6 +345,9 @@ extern int EditorSave(void); /// Error menu extern void ErrorMenu(char *); + /// Menu Loop +extern void MenuLoop(char *filename, WorldMap *map); + //@} #endif // !__MENUS_H__ diff --git a/src/stratagus/stratagus.cpp b/src/stratagus/stratagus.cpp index 08a37e24a..28f7e9080 100644 --- a/src/stratagus/stratagus.cpp +++ b/src/stratagus/stratagus.cpp @@ -1023,7 +1023,10 @@ global void MenuLoop(char* filename, WorldMap* map) } EnableRedraw=RedrawMenu; if( EditorRunning ) { + QuitToMenu = 0; ProcessMenu("menu-editor-select", 1); + if (QuitToMenu) + return; } else { ProcessMenu("menu-program-start", 1); } @@ -1040,7 +1043,7 @@ global void MenuLoop(char* filename, WorldMap* map) // if( EditorRunning ) { EditorMainLoop(); - } else { + } else if (GameRunning) { // // Create the game. // diff --git a/src/ui/menus.cpp b/src/ui/menus.cpp index 00eb6db99..f26b52638 100644 --- a/src/ui/menus.cpp +++ b/src/ui/menus.cpp @@ -242,6 +242,7 @@ local void NetConnectingCancel(void); local void TerminateNetConnect(void); local void StartEditor(void); +local void CancelEditorSelect(void); local void EditorNewMap(void); local void EditorNewDrawFunc(Menuitem *mi); local void EditorNewMapDescriptionEnterAction(Menuitem *mi, int key); @@ -565,6 +566,7 @@ global void InitMenuFuncHash(void) { HASHADD(FcDeleteCancel,"fc-delete-cancel"); // Editor select + HASHADD(CancelEditorSelect,"cancel-editor-select"); HASHADD(EditorNewMap,"editor-new-map"); HASHADD(EditorMainLoadMap,"editor-main-load-map"); @@ -4654,7 +4656,14 @@ local void StartEditor(void) *ScenSelectDisplayPath = '\0'; } - ProcessMenu("menu-editor-select", 1); + EditorRunning = 1; + MenuLoop(NULL, &TheMap); +} + +local void CancelEditorSelect(void) +{ + QuitToMenu = 1; + EndMenu(); } /** @@ -4712,8 +4721,6 @@ local void EditorNewMap(void) *CurrentMapPath = '\0'; - // FIXME: Use EditorRunning and main-loop. - EditorMainLoop(); EndMenu(); } @@ -6149,8 +6156,9 @@ local void EditorSaveConfirmCancel(void) */ local void EditorQuitMenu(void) { - EditorRunning = 0; - GameMenuReturn(); + QuitToMenu = 1; + EditorRunning = 0; + EndMenu(); } /**