reprompt to download missing data after 7 seconds if the user is still misisng game data
This commit is contained in:
parent
4efc2f9cea
commit
761fc44f14
|
@ -40,6 +40,7 @@ using namespace Shared::CompressionUtil;
|
||||||
|
|
||||||
namespace Glest{ namespace Game{
|
namespace Glest{ namespace Game{
|
||||||
|
|
||||||
|
static const double REPROMPT_DOWNLOAD_SECONDS = 7;
|
||||||
static const string ITEM_MISSING = "***missing***";
|
static const string ITEM_MISSING = "***missing***";
|
||||||
const int HEADLESSSERVER_BROADCAST_SETTINGS_SECONDS = 4;
|
const int HEADLESSSERVER_BROADCAST_SETTINGS_SECONDS = 4;
|
||||||
static const char *HEADLESS_SAVED_GAME_FILENAME = "lastHeadlessGameSettings.mgg";
|
static const char *HEADLESS_SAVED_GAME_FILENAME = "lastHeadlessGameSettings.mgg";
|
||||||
|
@ -78,11 +79,15 @@ MenuStateConnectedGame::MenuStateConnectedGame(Program *program, MainMenu *mainM
|
||||||
ftpClientThread = NULL;
|
ftpClientThread = NULL;
|
||||||
ftpMissingDataType = ftpmsg_MissingNone;
|
ftpMissingDataType = ftpmsg_MissingNone;
|
||||||
getMissingMapFromFTPServer = "";
|
getMissingMapFromFTPServer = "";
|
||||||
|
getMissingMapFromFTPServerLastPrompted = 0;
|
||||||
getMissingMapFromFTPServerInProgress = false;
|
getMissingMapFromFTPServerInProgress = false;
|
||||||
getMissingTilesetFromFTPServer = "";
|
getMissingTilesetFromFTPServer = "";
|
||||||
|
getMissingTilesetFromFTPServerLastPrompted = 0;
|
||||||
getMissingTilesetFromFTPServerInProgress = false;
|
getMissingTilesetFromFTPServerInProgress = false;
|
||||||
getMissingTechtreeFromFTPServer = "";
|
getMissingTechtreeFromFTPServer = "";
|
||||||
|
getMissingTechtreeFromFTPServerLastPrompted = 0;
|
||||||
getMissingTechtreeFromFTPServerInProgress = false;
|
getMissingTechtreeFromFTPServerInProgress = false;
|
||||||
|
|
||||||
getInProgressSavedGameFromFTPServer = "";
|
getInProgressSavedGameFromFTPServer = "";
|
||||||
getInProgressSavedGameFromFTPServerInProgress = false;
|
getInProgressSavedGameFromFTPServerInProgress = false;
|
||||||
readyToJoinInProgressGame = false;
|
readyToJoinInProgressGame = false;
|
||||||
|
@ -1346,6 +1351,9 @@ void MenuStateConnectedGame::mouseClick(int x, int y, MouseButton mouseButton){
|
||||||
getMissingMapFromFTPServer = "";
|
getMissingMapFromFTPServer = "";
|
||||||
getMissingTilesetFromFTPServer = "";
|
getMissingTilesetFromFTPServer = "";
|
||||||
getMissingTechtreeFromFTPServer = "";
|
getMissingTechtreeFromFTPServer = "";
|
||||||
|
getMissingMapFromFTPServerLastPrompted = 0;
|
||||||
|
getMissingTilesetFromFTPServerLastPrompted = 0;
|
||||||
|
getMissingTechtreeFromFTPServerLastPrompted = 0;
|
||||||
|
|
||||||
ClientInterface *clientInterface = networkManager.getClientInterface();
|
ClientInterface *clientInterface = networkManager.getClientInterface();
|
||||||
|
|
||||||
|
@ -4392,8 +4400,11 @@ void MenuStateConnectedGame::setupUIFromGameSettings(GameSettings *gameSettings,
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// try to get the tileset via ftp
|
// try to get the tileset via ftp
|
||||||
if(ftpClientThread != NULL && getMissingTilesetFromFTPServer != gameSettings->getTileset()) {
|
if(ftpClientThread != NULL &&
|
||||||
|
(getMissingTilesetFromFTPServer != gameSettings->getTileset() ||
|
||||||
|
difftime(time(NULL),getMissingTilesetFromFTPServerLastPrompted) > REPROMPT_DOWNLOAD_SECONDS)) {
|
||||||
if(ftpMessageBox.getEnabled() == false) {
|
if(ftpMessageBox.getEnabled() == false) {
|
||||||
|
getMissingTilesetFromFTPServerLastPrompted = time(NULL);
|
||||||
getMissingTilesetFromFTPServer = gameSettings->getTileset();
|
getMissingTilesetFromFTPServer = gameSettings->getTileset();
|
||||||
Lang &lang= Lang::getInstance();
|
Lang &lang= Lang::getInstance();
|
||||||
|
|
||||||
|
@ -4464,8 +4475,10 @@ void MenuStateConnectedGame::setupUIFromGameSettings(GameSettings *gameSettings,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// try to get the tileset via ftp
|
// try to get the tileset via ftp
|
||||||
if(ftpClientThread != NULL && getMissingTechtreeFromFTPServer != gameSettings->getTech()) {
|
if(ftpClientThread != NULL && (getMissingTechtreeFromFTPServer != gameSettings->getTech() ||
|
||||||
|
difftime(time(NULL),getMissingTechtreeFromFTPServerLastPrompted) > REPROMPT_DOWNLOAD_SECONDS)) {
|
||||||
if(ftpMessageBox.getEnabled() == false) {
|
if(ftpMessageBox.getEnabled() == false) {
|
||||||
|
getMissingTechtreeFromFTPServerLastPrompted = time(NULL);
|
||||||
getMissingTechtreeFromFTPServer = gameSettings->getTech();
|
getMissingTechtreeFromFTPServer = gameSettings->getTech();
|
||||||
Lang &lang= Lang::getInstance();
|
Lang &lang= Lang::getInstance();
|
||||||
|
|
||||||
|
@ -4551,8 +4564,10 @@ void MenuStateConnectedGame::setupUIFromGameSettings(GameSettings *gameSettings,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// try to get the map via ftp
|
// try to get the map via ftp
|
||||||
if(ftpClientThread != NULL && getMissingMapFromFTPServer != currentMap) {
|
if(ftpClientThread != NULL && (getMissingMapFromFTPServer != currentMap ||
|
||||||
|
difftime(time(NULL),getMissingMapFromFTPServerLastPrompted) > REPROMPT_DOWNLOAD_SECONDS)) {
|
||||||
if(ftpMessageBox.getEnabled() == false) {
|
if(ftpMessageBox.getEnabled() == false) {
|
||||||
|
getMissingMapFromFTPServerLastPrompted = time(NULL);
|
||||||
getMissingMapFromFTPServer = currentMap;
|
getMissingMapFromFTPServer = currentMap;
|
||||||
Lang &lang= Lang::getInstance();
|
Lang &lang= Lang::getInstance();
|
||||||
|
|
||||||
|
|
|
@ -170,12 +170,15 @@ private:
|
||||||
|
|
||||||
string getMissingMapFromFTPServer;
|
string getMissingMapFromFTPServer;
|
||||||
bool getMissingMapFromFTPServerInProgress;
|
bool getMissingMapFromFTPServerInProgress;
|
||||||
|
time_t getMissingMapFromFTPServerLastPrompted;
|
||||||
|
|
||||||
string getMissingTilesetFromFTPServer;
|
string getMissingTilesetFromFTPServer;
|
||||||
bool getMissingTilesetFromFTPServerInProgress;
|
bool getMissingTilesetFromFTPServerInProgress;
|
||||||
|
time_t getMissingTilesetFromFTPServerLastPrompted;
|
||||||
|
|
||||||
string getMissingTechtreeFromFTPServer;
|
string getMissingTechtreeFromFTPServer;
|
||||||
bool getMissingTechtreeFromFTPServerInProgress;
|
bool getMissingTechtreeFromFTPServerInProgress;
|
||||||
|
time_t getMissingTechtreeFromFTPServerLastPrompted;
|
||||||
|
|
||||||
string getInProgressSavedGameFromFTPServer;
|
string getInProgressSavedGameFromFTPServer;
|
||||||
bool getInProgressSavedGameFromFTPServerInProgress;
|
bool getInProgressSavedGameFromFTPServerInProgress;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user