Host_Game instead of Custom_Game in Lan_Game/Internet_Game
This commit is contained in:
parent
0f6e8ba928
commit
9bc8ecb2c8
|
@ -199,7 +199,7 @@ void Program::initServer(WindowGl *window, bool autostart,bool openNetworkSlots,
|
||||||
init(window);
|
init(window);
|
||||||
mainMenu= new MainMenu(this);
|
mainMenu= new MainMenu(this);
|
||||||
setState(mainMenu);
|
setState(mainMenu);
|
||||||
mainMenu->setState(new MenuStateCustomGame(this, mainMenu, openNetworkSlots, false, autostart, NULL, masterserverMode));
|
mainMenu->setState(new MenuStateCustomGame(this, mainMenu, openNetworkSlots, pNewGame, autostart, NULL, masterserverMode));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Program::initServer(WindowGl *window, GameSettings *settings) {
|
void Program::initServer(WindowGl *window, GameSettings *settings) {
|
||||||
|
@ -208,7 +208,7 @@ void Program::initServer(WindowGl *window, GameSettings *settings) {
|
||||||
init(window);
|
init(window);
|
||||||
mainMenu= new MainMenu(this);
|
mainMenu= new MainMenu(this);
|
||||||
setState(mainMenu);
|
setState(mainMenu);
|
||||||
mainMenu->setState(new MenuStateCustomGame(this, mainMenu, false, false, true, settings));
|
mainMenu->setState(new MenuStateCustomGame(this, mainMenu, false, pNewGame, true, settings));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Program::initClient(WindowGl *window, const Ip &serverIp) {
|
void Program::initClient(WindowGl *window, const Ip &serverIp) {
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "menu_state_new_game.h"
|
#include "menu_state_new_game.h"
|
||||||
#include "menu_state_masterserver.h"
|
#include "menu_state_masterserver.h"
|
||||||
|
#include "menu_state_join_game.h"
|
||||||
#include "metrics.h"
|
#include "metrics.h"
|
||||||
#include "network_manager.h"
|
#include "network_manager.h"
|
||||||
#include "network_message.h"
|
#include "network_message.h"
|
||||||
|
@ -47,7 +48,7 @@ struct FormatString {
|
||||||
// =====================================================
|
// =====================================================
|
||||||
|
|
||||||
MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu,
|
MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu,
|
||||||
bool openNetworkSlots,bool parentMenuIsMasterserver, bool autostart,
|
bool openNetworkSlots,ParentMenuState parentMenuState, bool autostart,
|
||||||
GameSettings *settings, bool masterserverMode) :
|
GameSettings *settings, bool masterserverMode) :
|
||||||
MenuState(program, mainMenu, "new-game")
|
MenuState(program, mainMenu, "new-game")
|
||||||
{
|
{
|
||||||
|
@ -58,6 +59,7 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu,
|
||||||
|
|
||||||
this->lastMasterServerSettingsUpdateCount = 0;
|
this->lastMasterServerSettingsUpdateCount = 0;
|
||||||
this->masterserverModeMinimalResources = true;
|
this->masterserverModeMinimalResources = true;
|
||||||
|
this->parentMenuState=parentMenuState;
|
||||||
|
|
||||||
//printf("this->masterserverMode = %d [%d]\n",this->masterserverMode,masterserverMode);
|
//printf("this->masterserverMode = %d [%d]\n",this->masterserverMode,masterserverMode);
|
||||||
|
|
||||||
|
@ -124,8 +126,6 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu,
|
||||||
|
|
||||||
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
|
|
||||||
parentMenuIsMs=parentMenuIsMasterserver;
|
|
||||||
|
|
||||||
needToSetChangedGameSettings = false;
|
needToSetChangedGameSettings = false;
|
||||||
needToRepublishToMasterserver = false;
|
needToRepublishToMasterserver = false;
|
||||||
needToBroadcastServerSettings = false;
|
needToBroadcastServerSettings = false;
|
||||||
|
@ -375,7 +375,7 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu,
|
||||||
listBoxPublishServer.init(50, networkPos, 100);
|
listBoxPublishServer.init(50, networkPos, 100);
|
||||||
listBoxPublishServer.pushBackItem(lang.get("Yes"));
|
listBoxPublishServer.pushBackItem(lang.get("Yes"));
|
||||||
listBoxPublishServer.pushBackItem(lang.get("No"));
|
listBoxPublishServer.pushBackItem(lang.get("No"));
|
||||||
if(openNetworkSlots) {
|
if(openNetworkSlots && parentMenuState!=pLanGame) {
|
||||||
listBoxPublishServer.setSelectedItemIndex(0);
|
listBoxPublishServer.setSelectedItemIndex(0);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -867,8 +867,7 @@ void MenuStateCustomGame::returnToParentMenu() {
|
||||||
needToBroadcastServerSettings = false;
|
needToBroadcastServerSettings = false;
|
||||||
needToRepublishToMasterserver = false;
|
needToRepublishToMasterserver = false;
|
||||||
lastNetworkPing = time(NULL);
|
lastNetworkPing = time(NULL);
|
||||||
bool returnToMasterServerMenu = parentMenuIsMs;
|
ParentMenuState parentMenuState = this->parentMenuState;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if(publishToMasterserverThread != NULL &&
|
if(publishToMasterserverThread != NULL &&
|
||||||
publishToMasterserverThread->canShutdown() == true &&
|
publishToMasterserverThread->canShutdown() == true &&
|
||||||
|
@ -882,11 +881,16 @@ void MenuStateCustomGame::returnToParentMenu() {
|
||||||
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
|
|
||||||
forceWaitForShutdown = false;
|
forceWaitForShutdown = false;
|
||||||
if(returnToMasterServerMenu) {
|
if(parentMenuState==pMasterServer) {
|
||||||
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
cleanup();
|
cleanup();
|
||||||
mainMenu->setState(new MenuStateMasterserver(program, mainMenu));
|
mainMenu->setState(new MenuStateMasterserver(program, mainMenu));
|
||||||
}
|
}
|
||||||
|
else if(parentMenuState==pLanGame) {
|
||||||
|
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
|
cleanup();
|
||||||
|
mainMenu->setState(new MenuStateJoinGame(program, mainMenu));
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
cleanup();
|
cleanup();
|
||||||
|
|
|
@ -25,6 +25,12 @@ namespace Glest { namespace Game {
|
||||||
class SwitchSetupRequest;
|
class SwitchSetupRequest;
|
||||||
class ServerInterface;
|
class ServerInterface;
|
||||||
|
|
||||||
|
enum ParentMenuState {
|
||||||
|
pNewGame,
|
||||||
|
pMasterServer,
|
||||||
|
pLanGame
|
||||||
|
};
|
||||||
|
|
||||||
// ===============================
|
// ===============================
|
||||||
// class MenuStateCustomGame
|
// class MenuStateCustomGame
|
||||||
// ===============================
|
// ===============================
|
||||||
|
@ -120,7 +126,7 @@ private:
|
||||||
std::map<string,string> publishToServerInfo;
|
std::map<string,string> publishToServerInfo;
|
||||||
SimpleTaskThread *publishToMasterserverThread;
|
SimpleTaskThread *publishToMasterserverThread;
|
||||||
|
|
||||||
bool parentMenuIsMs;
|
ParentMenuState parentMenuState;
|
||||||
int soundConnectionCount;
|
int soundConnectionCount;
|
||||||
|
|
||||||
bool showMasterserverError;
|
bool showMasterserverError;
|
||||||
|
@ -174,7 +180,7 @@ private:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
MenuStateCustomGame(Program *program, MainMenu *mainMenu ,
|
MenuStateCustomGame(Program *program, MainMenu *mainMenu ,
|
||||||
bool openNetworkSlots= false, bool parentMenuIsMasterserver=false,
|
bool openNetworkSlots= false, ParentMenuState parentMenuState=pNewGame,
|
||||||
bool autostart=false,GameSettings *settings=NULL,bool masterserverMode=false);
|
bool autostart=false,GameSettings *settings=NULL,bool masterserverMode=false);
|
||||||
virtual ~MenuStateCustomGame();
|
virtual ~MenuStateCustomGame();
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
#include "core_data.h"
|
#include "core_data.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "menu_state_new_game.h"
|
#include "menu_state_new_game.h"
|
||||||
|
#include "menu_state_custom_game.h"
|
||||||
#include "metrics.h"
|
#include "metrics.h"
|
||||||
#include "network_manager.h"
|
#include "network_manager.h"
|
||||||
#include "network_message.h"
|
#include "network_message.h"
|
||||||
|
@ -74,6 +75,10 @@ MenuStateJoinGame::MenuStateJoinGame(Program *program, MainMenu *mainMenu, bool
|
||||||
buttonConnect.init(450, 300, 125);
|
buttonConnect.init(450, 300, 125);
|
||||||
buttonConnect.setText(lang.get("Connect"));
|
buttonConnect.setText(lang.get("Connect"));
|
||||||
|
|
||||||
|
buttonCreateGame.registerGraphicComponent(containerName,"buttonCreateGame");
|
||||||
|
buttonCreateGame.init(450, 250, 125);
|
||||||
|
buttonCreateGame.setText(lang.get("HostGame"));
|
||||||
|
|
||||||
buttonAutoFindServers.registerGraphicComponent(containerName,"buttonAutoFindServers");
|
buttonAutoFindServers.registerGraphicComponent(containerName,"buttonAutoFindServers");
|
||||||
buttonAutoFindServers.init(595, 300, 125);
|
buttonAutoFindServers.init(595, 300, 125);
|
||||||
buttonAutoFindServers.setText(lang.get("FindLANGames"));
|
buttonAutoFindServers.setText(lang.get("FindLANGames"));
|
||||||
|
@ -162,6 +167,7 @@ void MenuStateJoinGame::reloadUI() {
|
||||||
|
|
||||||
buttonReturn.setText(lang.get("Return"));
|
buttonReturn.setText(lang.get("Return"));
|
||||||
buttonConnect.setText(lang.get("Connect"));
|
buttonConnect.setText(lang.get("Connect"));
|
||||||
|
buttonCreateGame.setText(lang.get("HostGame"));
|
||||||
buttonAutoFindServers.setText(lang.get("FindLANGames"));
|
buttonAutoFindServers.setText(lang.get("FindLANGames"));
|
||||||
labelServerType.setText(lang.get("ServerType") + ":");
|
labelServerType.setText(lang.get("ServerType") + ":");
|
||||||
|
|
||||||
|
@ -295,6 +301,18 @@ void MenuStateJoinGame::mouseClick(int x, int y, MouseButton mouseButton) {
|
||||||
connectToServer();
|
connectToServer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if(buttonCreateGame.mouseClick(x, y)){
|
||||||
|
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
|
soundRenderer.playFx(coreData.getClickSoundB());
|
||||||
|
clientInterface->stopServerDiscovery();
|
||||||
|
if(clientInterface->getSocket() != NULL) {
|
||||||
|
clientInterface->close();
|
||||||
|
}
|
||||||
|
abortAutoFind = true;
|
||||||
|
mainMenu->setState(new MenuStateCustomGame(program, mainMenu,true,pLanGame));
|
||||||
|
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
|
}
|
||||||
|
|
||||||
else if(buttonAutoFindServers.mouseClick(x, y) && buttonAutoFindServers.getEnabled() == true) {
|
else if(buttonAutoFindServers.mouseClick(x, y) && buttonAutoFindServers.getEnabled() == true) {
|
||||||
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
|
|
||||||
|
@ -308,6 +326,7 @@ void MenuStateJoinGame::mouseClick(int x, int y, MouseButton mouseButton) {
|
||||||
|
|
||||||
buttonAutoFindServers.setEnabled(false);
|
buttonAutoFindServers.setEnabled(false);
|
||||||
buttonConnect.setEnabled(false);
|
buttonConnect.setEnabled(false);
|
||||||
|
buttonCreateGame.setEnabled(false);
|
||||||
clientInterface->discoverServers(this);
|
clientInterface->discoverServers(this);
|
||||||
}
|
}
|
||||||
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
|
@ -345,6 +364,8 @@ void MenuStateJoinGame::render(){
|
||||||
renderer.renderLabel(&labelServerPort);
|
renderer.renderLabel(&labelServerPort);
|
||||||
renderer.renderLabel(&labelServerPortLabel);
|
renderer.renderLabel(&labelServerPortLabel);
|
||||||
renderer.renderButton(&buttonConnect);
|
renderer.renderButton(&buttonConnect);
|
||||||
|
renderer.renderButton(&buttonCreateGame);
|
||||||
|
|
||||||
renderer.renderButton(&buttonAutoFindServers);
|
renderer.renderButton(&buttonAutoFindServers);
|
||||||
renderer.renderListBox(&listBoxServerType);
|
renderer.renderListBox(&listBoxServerType);
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,8 @@ private:
|
||||||
GraphicButton buttonReturn;
|
GraphicButton buttonReturn;
|
||||||
GraphicButton buttonConnect;
|
GraphicButton buttonConnect;
|
||||||
GraphicButton buttonAutoFindServers;
|
GraphicButton buttonAutoFindServers;
|
||||||
|
GraphicButton buttonCreateGame;
|
||||||
|
|
||||||
GraphicLabel labelServer;
|
GraphicLabel labelServer;
|
||||||
GraphicLabel labelServerType;
|
GraphicLabel labelServerType;
|
||||||
GraphicLabel labelServerIp;
|
GraphicLabel labelServerIp;
|
||||||
|
|
|
@ -215,7 +215,7 @@ MenuStateMasterserver::MenuStateMasterserver(Program *program, MainMenu *mainMen
|
||||||
|
|
||||||
buttonRefresh.setText(lang.get("RefreshList"));
|
buttonRefresh.setText(lang.get("RefreshList"));
|
||||||
buttonReturn.setText(lang.get("Return"));
|
buttonReturn.setText(lang.get("Return"));
|
||||||
buttonCreateGame.setText(lang.get("CustomGame"));
|
buttonCreateGame.setText(lang.get("HostGame"));
|
||||||
labelAutoRefresh.setText(lang.get("AutoRefreshRate"));
|
labelAutoRefresh.setText(lang.get("AutoRefreshRate"));
|
||||||
|
|
||||||
labelAutoRefresh.registerGraphicComponent(containerName,"labelAutoRefresh");
|
labelAutoRefresh.registerGraphicComponent(containerName,"labelAutoRefresh");
|
||||||
|
@ -358,7 +358,7 @@ void MenuStateMasterserver::reloadUI() {
|
||||||
|
|
||||||
buttonRefresh.setText(lang.get("RefreshList"));
|
buttonRefresh.setText(lang.get("RefreshList"));
|
||||||
buttonReturn.setText(lang.get("Return"));
|
buttonReturn.setText(lang.get("Return"));
|
||||||
buttonCreateGame.setText(lang.get("CustomGame"));
|
buttonCreateGame.setText(lang.get("HostGame"));
|
||||||
labelAutoRefresh.setText(lang.get("AutoRefreshRate"));
|
labelAutoRefresh.setText(lang.get("AutoRefreshRate"));
|
||||||
|
|
||||||
ircOnlinePeopleLabel.setText(lang.get("IRCPeopleOnline"));
|
ircOnlinePeopleLabel.setText(lang.get("IRCPeopleOnline"));
|
||||||
|
@ -531,7 +531,7 @@ void MenuStateMasterserver::mouseClick(int x, int y, MouseButton mouseButton){
|
||||||
cleanup();
|
cleanup();
|
||||||
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
|
|
||||||
mainMenu->setState(new MenuStateCustomGame(program, mainMenu,true,true));
|
mainMenu->setState(new MenuStateCustomGame(program, mainMenu,true,pMasterServer));
|
||||||
|
|
||||||
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user