From d8214f7e46ec507dac603ea2a108410f5f64a4bd Mon Sep 17 00:00:00 2001 From: Bjørn Lindeijer Date: Wed, 20 Feb 2008 18:06:03 +0000 Subject: Merged revisions 3790,3799,3801-3807,3809-3810,3812-3813,3815-3816,3818-3821 via svnmerge from https://themanaworld.svn.sourceforge.net/svnroot/themanaworld/tmw/branches/0.0 ........ r3790 | b_lindeijer | 2007-12-18 14:54:17 +0100 (Tue, 18 Dec 2007) | 3 lines Remember to delete the progressbar and label also when the game was not started. ........ r3801 | b_lindeijer | 2007-12-21 12:56:23 +0100 (Fri, 21 Dec 2007) | 2 lines Fixed shop list box not to scroll up when the selection is removed. ........ r3802 | b_lindeijer | 2007-12-21 13:37:17 +0100 (Fri, 21 Dec 2007) | 2 lines Added logging of error on PHYSFS_addToSearchPath. ........ r3803 | b_lindeijer | 2007-12-21 15:56:38 +0100 (Fri, 21 Dec 2007) | 3 lines Fixed inventory size not matching the size assumed by eAthena and related memory corruption and increased default chat log length. ........ r3804 | the_enemy | 2007-12-21 16:07:20 +0100 (Fri, 21 Dec 2007) | 1 line Attempted to fix client freeze when unable to connect to update host, and added exit dialog ........ r3805 | b_lindeijer | 2007-12-22 16:24:14 +0100 (Sat, 22 Dec 2007) | 2 lines Updated version to 0.0.24. Release data set to tomorrow, we'll see. ........ r3806 | b_lindeijer | 2007-12-22 21:42:35 +0100 (Sat, 22 Dec 2007) | 2 lines Make sure chat messages are also trimmed for the local player. ........ r3809 | crush_tmw | 2007-12-23 03:16:53 +0100 (Sun, 23 Dec 2007) | 1 line Particle images are now reference-counted properly. Avoided attempts to load "data/graphics/" when a monster or equipment piece has no sprite. Error placeholder is now used when attempting to load a sprite definition file that doesn't exist. ........ r3810 | b_lindeijer | 2007-12-24 02:20:42 +0100 (Mon, 24 Dec 2007) | 2 lines Updated release date. ........ r3812 | the_enemy | 2007-12-24 15:16:15 +0100 (Mon, 24 Dec 2007) | 1 line Minor update, fixed disconnection dialog ........ r3813 | b_lindeijer | 2007-12-24 15:45:34 +0100 (Mon, 24 Dec 2007) | 2 lines Fixed compile warning. ........ r3816 | b_lindeijer | 2007-12-25 13:31:21 +0100 (Tue, 25 Dec 2007) | 2 lines Fixed year. :) ........ r3818 | b_lindeijer | 2007-12-25 23:11:55 +0100 (Tue, 25 Dec 2007) | 2 lines Updated CMake file. ........ r3821 | b_lindeijer | 2007-12-26 19:06:15 +0100 (Wed, 26 Dec 2007) | 2 lines Fixed year in README too. ........ --- src/game.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'src/game.cpp') diff --git a/src/game.cpp b/src/game.cpp index 7ae21009..cf6dc547 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -60,6 +60,7 @@ #include "gui/ministatus.h" #include "gui/npclistdialog.h" #include "gui/npc_text.h" +#include "gui/ok_dialog.h" #include "gui/sdlinput.h" #include "gui/sell.h" #include "gui/setup.h" @@ -96,6 +97,7 @@ Joystick *joystick = NULL; extern Window *weightNotice; extern Window *deathNotice; QuitDialog *quitDialog = NULL; +OkDialog *disconnectedDialog = NULL; ChatWindow *chatWindow; MenuWindow *menuWindow; @@ -127,6 +129,21 @@ Particle *particleEngine = NULL; const int MAX_TIME = 10000; +/** + * Listener used for exitting handling. + */ +namespace { + struct ExitListener : public gcn::ActionListener + { + void action(const gcn::ActionEvent &event) + { + if (event.getId() == "yes" || event.getId() == "ok") { + done = true; + } + } + } exitListener; +} + /** * Advances game logic counter. */ @@ -407,6 +424,20 @@ void Game::logic() // Handle network stuff Net::flush(); + + // TODO: Fix notification when the connection is lost + if (false /*!mNetwork->isConnected() */) + { + if (!disconnectedDialog) + { + disconnectedDialog = new + OkDialog("Network Error", + "The connection to the server was lost, the program will now quit"); + disconnectedDialog->addActionListener(&exitListener); + } + + disconnectedDialog->requestMoveToTop(); + } } } -- cgit v1.2.3-70-g09d2