- updated custom game menu to use checkboxes instead of yes/no

This commit is contained in:
Mark Vejvoda 2012-10-22 15:52:08 +00:00
parent d35a181aaa
commit 474374a33e
2 changed files with 154 additions and 223 deletions

View File

@ -289,11 +289,14 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu,
labelAllowObservers.init(xoffset+310, aHeadPos, 80); labelAllowObservers.init(xoffset+310, aHeadPos, 80);
labelAllowObservers.setText(lang.get("AllowObservers")); labelAllowObservers.setText(lang.get("AllowObservers"));
listBoxAllowObservers.registerGraphicComponent(containerName,"listBoxAllowObservers"); // listBoxAllowObservers.registerGraphicComponent(containerName,"listBoxAllowObservers");
listBoxAllowObservers.init(xoffset+310, aPos, 80); // listBoxAllowObservers.init(xoffset+310, aPos, 80);
listBoxAllowObservers.pushBackItem(lang.get("No")); // listBoxAllowObservers.pushBackItem(lang.get("No"));
listBoxAllowObservers.pushBackItem(lang.get("Yes")); // listBoxAllowObservers.pushBackItem(lang.get("Yes"));
listBoxAllowObservers.setSelectedItemIndex(0); // listBoxAllowObservers.setSelectedItemIndex(0);
checkBoxAllowObservers.registerGraphicComponent(containerName,"checkBoxAllowObservers");
checkBoxAllowObservers.init(xoffset+310, aPos);
checkBoxAllowObservers.setValue(false);
for(int i=0; i<45; ++i){ for(int i=0; i<45; ++i){
rMultiplier.push_back(floatToStr(0.5f+0.1f*i,1)); rMultiplier.push_back(floatToStr(0.5f+0.1f*i,1));
@ -323,11 +326,14 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu,
labelEnableSwitchTeamMode.init(xoffset+310, aHeadPos+45, 80); labelEnableSwitchTeamMode.init(xoffset+310, aHeadPos+45, 80);
labelEnableSwitchTeamMode.setText(lang.get("EnableSwitchTeamMode")); labelEnableSwitchTeamMode.setText(lang.get("EnableSwitchTeamMode"));
listBoxEnableSwitchTeamMode.registerGraphicComponent(containerName,"listBoxEnableSwitchTeamMode"); // listBoxEnableSwitchTeamMode.registerGraphicComponent(containerName,"listBoxEnableSwitchTeamMode");
listBoxEnableSwitchTeamMode.init(xoffset+310, aPos+45, 80); // listBoxEnableSwitchTeamMode.init(xoffset+310, aPos+45, 80);
listBoxEnableSwitchTeamMode.pushBackItem(lang.get("Yes")); // listBoxEnableSwitchTeamMode.pushBackItem(lang.get("Yes"));
listBoxEnableSwitchTeamMode.pushBackItem(lang.get("No")); // listBoxEnableSwitchTeamMode.pushBackItem(lang.get("No"));
listBoxEnableSwitchTeamMode.setSelectedItemIndex(1); // listBoxEnableSwitchTeamMode.setSelectedItemIndex(1);
checkBoxEnableSwitchTeamMode.registerGraphicComponent(containerName,"checkBoxEnableSwitchTeamMode");
checkBoxEnableSwitchTeamMode.init(xoffset+310, aPos+45);
checkBoxEnableSwitchTeamMode.setValue(false);
labelAISwitchTeamAcceptPercent.registerGraphicComponent(containerName,"labelAISwitchTeamAcceptPercent"); labelAISwitchTeamAcceptPercent.registerGraphicComponent(containerName,"labelAISwitchTeamAcceptPercent");
labelAISwitchTeamAcceptPercent.init(xoffset+460, aHeadPos+45, 80); labelAISwitchTeamAcceptPercent.init(xoffset+460, aHeadPos+45, 80);
@ -355,11 +361,15 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu,
labelAdvanced.init(810, 80, 80); labelAdvanced.init(810, 80, 80);
labelAdvanced.setText(lang.get("AdvancedGameOptions")); labelAdvanced.setText(lang.get("AdvancedGameOptions"));
listBoxAdvanced.registerGraphicComponent(containerName,"listBoxAdvanced"); // listBoxAdvanced.registerGraphicComponent(containerName,"listBoxAdvanced");
listBoxAdvanced.init(810, 80-labelOffset, 80); // listBoxAdvanced.init(810, 80-labelOffset, 80);
listBoxAdvanced.pushBackItem(lang.get("No")); // listBoxAdvanced.pushBackItem(lang.get("No"));
listBoxAdvanced.pushBackItem(lang.get("Yes")); // listBoxAdvanced.pushBackItem(lang.get("Yes"));
listBoxAdvanced.setSelectedItemIndex(0); // listBoxAdvanced.setSelectedItemIndex(0);
checkBoxAdvanced.registerGraphicComponent(containerName,"checkBoxAdvanced");
checkBoxAdvanced.init(810, 80-labelOffset);
checkBoxAdvanced.setValue(false);
// network things // network things
// PublishServer // PublishServer
@ -369,16 +379,25 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu,
labelPublishServer.init(50, networkHeadPos, 100); labelPublishServer.init(50, networkHeadPos, 100);
labelPublishServer.setText(lang.get("PublishServer")); labelPublishServer.setText(lang.get("PublishServer"));
listBoxPublishServer.registerGraphicComponent(containerName,"listBoxPublishServer"); // listBoxPublishServer.registerGraphicComponent(containerName,"listBoxPublishServer");
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(this->headlessServerMode == true ||
// (openNetworkSlots == true && parentMenuState != pLanGame)) {
// listBoxPublishServer.setSelectedItemIndex(0);
// }
// else {
// listBoxPublishServer.setSelectedItemIndex(1);
// }
checkBoxPublishServer.registerGraphicComponent(containerName,"checkBoxPublishServer");
checkBoxPublishServer.init(50, networkPos);
if(this->headlessServerMode == true || if(this->headlessServerMode == true ||
(openNetworkSlots == true && parentMenuState != pLanGame)) { (openNetworkSlots == true && parentMenuState != pLanGame)) {
listBoxPublishServer.setSelectedItemIndex(0); checkBoxPublishServer.setValue(true);
} }
else { else {
listBoxPublishServer.setSelectedItemIndex(1); checkBoxPublishServer.setValue(false);
} }
labelGameNameLabel.registerGraphicComponent(containerName,"labelGameNameLabel"); labelGameNameLabel.registerGraphicComponent(containerName,"labelGameNameLabel");
@ -415,11 +434,14 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu,
labelNetworkPauseGameForLaggedClients.init(xoffset+380, networkHeadPos, 80); labelNetworkPauseGameForLaggedClients.init(xoffset+380, networkHeadPos, 80);
labelNetworkPauseGameForLaggedClients.setText(lang.get("NetworkPauseGameForLaggedClients")); labelNetworkPauseGameForLaggedClients.setText(lang.get("NetworkPauseGameForLaggedClients"));
listBoxNetworkPauseGameForLaggedClients.registerGraphicComponent(containerName,"listBoxNetworkPauseGameForLaggedClients"); // listBoxNetworkPauseGameForLaggedClients.registerGraphicComponent(containerName,"listBoxNetworkPauseGameForLaggedClients");
listBoxNetworkPauseGameForLaggedClients.init(xoffset+380, networkPos, 80); // listBoxNetworkPauseGameForLaggedClients.init(xoffset+380, networkPos, 80);
listBoxNetworkPauseGameForLaggedClients.pushBackItem(lang.get("No")); // listBoxNetworkPauseGameForLaggedClients.pushBackItem(lang.get("No"));
listBoxNetworkPauseGameForLaggedClients.pushBackItem(lang.get("Yes")); // listBoxNetworkPauseGameForLaggedClients.pushBackItem(lang.get("Yes"));
listBoxNetworkPauseGameForLaggedClients.setSelectedItem(lang.get("Yes")); // listBoxNetworkPauseGameForLaggedClients.setSelectedItem(lang.get("Yes"));
checkBoxNetworkPauseGameForLaggedClients.registerGraphicComponent(containerName,"checkBoxNetworkPauseGameForLaggedClients");
checkBoxNetworkPauseGameForLaggedClients.init(xoffset+380, networkPos);
checkBoxNetworkPauseGameForLaggedClients.setValue(true);
// Enable Server Controlled AI // Enable Server Controlled AI
//labelEnableServerControlledAI.registerGraphicComponent(containerName,"labelEnableServerControlledAI"); //labelEnableServerControlledAI.registerGraphicComponent(containerName,"labelEnableServerControlledAI");
@ -762,10 +784,10 @@ void MenuStateCustomGame::reloadUI() {
// Allow Observers // Allow Observers
labelAllowObservers.setText(lang.get("AllowObservers")); labelAllowObservers.setText(lang.get("AllowObservers"));
listBoxData.clear(); //listBoxData.clear();
listBoxData.push_back(lang.get("No")); //listBoxData.push_back(lang.get("No"));
listBoxData.push_back(lang.get("Yes")); //listBoxData.push_back(lang.get("Yes"));
listBoxAllowObservers.setItems(listBoxData); //listBoxAllowObservers.setItems(listBoxData);
// View Map At End Of Game // View Map At End Of Game
//listBoxData.clear(); //listBoxData.clear();
@ -776,10 +798,10 @@ void MenuStateCustomGame::reloadUI() {
// Allow Switch Team Mode // Allow Switch Team Mode
labelEnableSwitchTeamMode.setText(lang.get("EnableSwitchTeamMode")); labelEnableSwitchTeamMode.setText(lang.get("EnableSwitchTeamMode"));
listBoxData.clear(); //listBoxData.clear();
listBoxData.push_back(lang.get("Yes")); //listBoxData.push_back(lang.get("Yes"));
listBoxData.push_back(lang.get("No")); //listBoxData.push_back(lang.get("No"));
listBoxEnableSwitchTeamMode.setItems(listBoxData); //listBoxEnableSwitchTeamMode.setItems(listBoxData);
labelAISwitchTeamAcceptPercent.setText(lang.get("AISwitchTeamAcceptPercent")); labelAISwitchTeamAcceptPercent.setText(lang.get("AISwitchTeamAcceptPercent"));
@ -792,17 +814,17 @@ void MenuStateCustomGame::reloadUI() {
// Advanced Options // Advanced Options
labelAdvanced.setText(lang.get("AdvancedGameOptions")); labelAdvanced.setText(lang.get("AdvancedGameOptions"));
listBoxData.clear(); //listBoxData.clear();
listBoxData.push_back(lang.get("No")); //listBoxData.push_back(lang.get("No"));
listBoxData.push_back(lang.get("Yes")); //listBoxData.push_back(lang.get("Yes"));
listBoxAdvanced.setItems(listBoxData); //listBoxAdvanced.setItems(listBoxData);
labelPublishServer.setText(lang.get("PublishServer")); labelPublishServer.setText(lang.get("PublishServer"));
listBoxData.clear(); //listBoxData.clear();
listBoxData.push_back(lang.get("Yes")); //listBoxData.push_back(lang.get("Yes"));
listBoxData.push_back(lang.get("No")); //listBoxData.push_back(lang.get("No"));
listBoxPublishServer.setItems(listBoxData); //listBoxPublishServer.setItems(listBoxData);
labelGameNameLabel.setText(lang.get("MGGameTitle")+":"); labelGameNameLabel.setText(lang.get("MGGameTitle")+":");
@ -817,10 +839,10 @@ void MenuStateCustomGame::reloadUI() {
labelNetworkPauseGameForLaggedClients.setText(lang.get("NetworkPauseGameForLaggedClients")); labelNetworkPauseGameForLaggedClients.setText(lang.get("NetworkPauseGameForLaggedClients"));
listBoxData.clear(); //listBoxData.clear();
listBoxData.push_back(lang.get("No")); //listBoxData.push_back(lang.get("No"));
listBoxData.push_back(lang.get("Yes")); //listBoxData.push_back(lang.get("Yes"));
listBoxNetworkPauseGameForLaggedClients.setItems(listBoxData); //listBoxNetworkPauseGameForLaggedClients.setItems(listBoxData);
for(int i=0; i < GameConstants::maxPlayers; ++i) { for(int i=0; i < GameConstants::maxPlayers; ++i) {
buttonBlockPlayers[i].setText(lang.get("BlockPlayer")); buttonBlockPlayers[i].setText(lang.get("BlockPlayer"));
@ -1070,7 +1092,7 @@ void MenuStateCustomGame::mouseClick(int x, int y, MouseButton mouseButton) {
updateControlers(); updateControlers();
updateNetworkSlots(); updateNetworkSlots();
if(listBoxPublishServer.getSelectedItemIndex() == 0) { if(checkBoxPublishServer.getValue() == true) {
needToRepublishToMasterserver = true; needToRepublishToMasterserver = true;
} }
@ -1080,11 +1102,12 @@ void MenuStateCustomGame::mouseClick(int x, int y, MouseButton mouseButton) {
mapPublishingDelayTimer=time(NULL); mapPublishingDelayTimer=time(NULL);
} }
} }
else if (listBoxAdvanced.getSelectedItemIndex() == 1 && listBoxFogOfWar.mouseClick(x, y)) { //else if (listBoxAdvanced.getSelectedItemIndex() == 1 && listBoxFogOfWar.mouseClick(x, y)) {
else if (checkBoxAdvanced.getValue() == 1 && listBoxFogOfWar.mouseClick(x, y)) {
MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__)); MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__));
cleanupMapPreviewTexture(); cleanupMapPreviewTexture();
if(listBoxPublishServer.getSelectedItemIndex() == 0) { if(checkBoxPublishServer.getValue() == true) {
needToRepublishToMasterserver = true; needToRepublishToMasterserver = true;
} }
@ -1093,10 +1116,10 @@ void MenuStateCustomGame::mouseClick(int x, int y, MouseButton mouseButton) {
lastSetChangedGameSettings = time(NULL); lastSetChangedGameSettings = time(NULL);
} }
} }
else if (listBoxAdvanced.getSelectedItemIndex() == 1 && listBoxAllowObservers.mouseClick(x, y)) { else if (checkBoxAdvanced.getValue() == 1 && checkBoxAllowObservers.mouseClick(x, y)) {
MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__)); MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__));
if(listBoxPublishServer.getSelectedItemIndex() == 0) { if(checkBoxPublishServer.getValue() == true) {
needToRepublishToMasterserver = true; needToRepublishToMasterserver = true;
} }
@ -1107,23 +1130,10 @@ void MenuStateCustomGame::mouseClick(int x, int y, MouseButton mouseButton) {
lastSetChangedGameSettings = time(NULL); lastSetChangedGameSettings = time(NULL);
} }
} }
// else if (listBoxAdvanced.getSelectedItemIndex() == 1 && listBoxEnableObserverMode.mouseClick(x, y)) { else if (checkBoxAdvanced.getValue() == 1 && checkBoxEnableSwitchTeamMode.mouseClick(x, y)) {
// MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__));
//
// if(listBoxPublishServer.getSelectedItemIndex() == 0) {
// needToRepublishToMasterserver = true;
// }
//
// if(hasNetworkGameSettings() == true)
// {
// needToSetChangedGameSettings = true;
// lastSetChangedGameSettings = time(NULL);
// }
// }
else if (listBoxAdvanced.getSelectedItemIndex() == 1 && listBoxEnableSwitchTeamMode.mouseClick(x, y)) {
MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__)); MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__));
if(listBoxPublishServer.getSelectedItemIndex() == 0) { if(checkBoxPublishServer.getValue() == true) {
needToRepublishToMasterserver = true; needToRepublishToMasterserver = true;
} }
@ -1133,10 +1143,10 @@ void MenuStateCustomGame::mouseClick(int x, int y, MouseButton mouseButton) {
lastSetChangedGameSettings = time(NULL); lastSetChangedGameSettings = time(NULL);
} }
} }
else if (listBoxAdvanced.getSelectedItemIndex() == 1 && listBoxAISwitchTeamAcceptPercent.getEnabled() && listBoxAISwitchTeamAcceptPercent.mouseClick(x, y)) { else if (checkBoxAdvanced.getValue() == 1 && listBoxAISwitchTeamAcceptPercent.getEnabled() && listBoxAISwitchTeamAcceptPercent.mouseClick(x, y)) {
MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__)); MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__));
if(listBoxPublishServer.getSelectedItemIndex() == 0) { if(checkBoxPublishServer.getValue() == true) {
needToRepublishToMasterserver = true; needToRepublishToMasterserver = true;
} }
@ -1146,10 +1156,10 @@ void MenuStateCustomGame::mouseClick(int x, int y, MouseButton mouseButton) {
lastSetChangedGameSettings = time(NULL); lastSetChangedGameSettings = time(NULL);
} }
} }
else if (listBoxAdvanced.getSelectedItemIndex() == 1 && listBoxFallbackCpuMultiplier.getEditable() == true && listBoxFallbackCpuMultiplier.mouseClick(x, y)) { else if (checkBoxAdvanced.getValue() == 1 && listBoxFallbackCpuMultiplier.getEditable() == true && listBoxFallbackCpuMultiplier.mouseClick(x, y)) {
MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__)); MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__));
if(listBoxPublishServer.getSelectedItemIndex() == 0) { if(checkBoxPublishServer.getValue() == true) {
needToRepublishToMasterserver = true; needToRepublishToMasterserver = true;
} }
@ -1159,26 +1169,13 @@ void MenuStateCustomGame::mouseClick(int x, int y, MouseButton mouseButton) {
lastSetChangedGameSettings = time(NULL); lastSetChangedGameSettings = time(NULL);
} }
} }
// else if (listBoxAdvanced.getSelectedItemIndex() == 1 && listBoxPathFinderType.mouseClick(x, y)) { else if (checkBoxAdvanced.mouseClick(x, y)) {
// MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__));
//
// if(listBoxPublishServer.getSelectedItemIndex() == 0) {
// needToRepublishToMasterserver = true;
// }
//
// if(hasNetworkGameSettings() == true)
// {
// needToSetChangedGameSettings = true;
// lastSetChangedGameSettings = time(NULL);
// }
// }
else if (listBoxAdvanced.mouseClick(x, y)) {
//TODO //TODO
} }
else if(listBoxTileset.mouseClick(x, y,advanceToItemStartingWith)) { else if(listBoxTileset.mouseClick(x, y,advanceToItemStartingWith)) {
MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__)); MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__));
if(listBoxPublishServer.getSelectedItemIndex() == 0) { if(checkBoxPublishServer.getValue() == true) {
needToRepublishToMasterserver = true; needToRepublishToMasterserver = true;
} }
if(hasNetworkGameSettings() == true) if(hasNetworkGameSettings() == true)
@ -1200,7 +1197,7 @@ void MenuStateCustomGame::mouseClick(int x, int y, MouseButton mouseButton) {
updateControlers(); updateControlers();
updateNetworkSlots(); updateNetworkSlots();
if(listBoxPublishServer.getSelectedItemIndex() == 0) { if(checkBoxPublishServer.getValue() == true) {
needToRepublishToMasterserver = true; needToRepublishToMasterserver = true;
} }
@ -1215,7 +1212,7 @@ void MenuStateCustomGame::mouseClick(int x, int y, MouseButton mouseButton) {
MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__)); MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__));
if(listBoxPublishServer.getSelectedItemIndex() == 0) { if(checkBoxPublishServer.getValue() == true) {
needToRepublishToMasterserver = true; needToRepublishToMasterserver = true;
} }
@ -1225,21 +1222,21 @@ void MenuStateCustomGame::mouseClick(int x, int y, MouseButton mouseButton) {
lastSetChangedGameSettings = time(NULL); lastSetChangedGameSettings = time(NULL);
} }
} }
else if(listBoxPublishServer.mouseClick(x, y) && listBoxPublishServer.getEditable()) { else if(checkBoxPublishServer.mouseClick(x, y) && checkBoxPublishServer.getEditable()) {
MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__)); MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__));
needToRepublishToMasterserver = true; needToRepublishToMasterserver = true;
soundRenderer.playFx(coreData.getClickSoundC()); soundRenderer.playFx(coreData.getClickSoundC());
ServerInterface* serverInterface= NetworkManager::getInstance().getServerInterface(); ServerInterface* serverInterface= NetworkManager::getInstance().getServerInterface();
serverInterface->setPublishEnabled(listBoxPublishServer.getSelectedItemIndex() == 0); serverInterface->setPublishEnabled(checkBoxPublishServer.getValue() == true);
} }
else if(labelGameName.mouseClick(x, y) && listBoxPublishServer.getEditable()){ else if(labelGameName.mouseClick(x, y) && checkBoxPublishServer.getEditable()){
setActiveInputLabel(&labelGameName); setActiveInputLabel(&labelGameName);
} }
else if(listBoxAdvanced.getSelectedItemIndex() == 1 && listBoxNetworkPauseGameForLaggedClients.mouseClick(x, y)){ else if(checkBoxAdvanced.getValue() == 1 && checkBoxNetworkPauseGameForLaggedClients.mouseClick(x, y)) {
MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__)); MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__));
if(listBoxPublishServer.getSelectedItemIndex() == 0) { if(checkBoxPublishServer.getValue() == true) {
needToRepublishToMasterserver = true; needToRepublishToMasterserver = true;
} }
if(hasNetworkGameSettings() == true) if(hasNetworkGameSettings() == true)
@ -1257,11 +1254,9 @@ void MenuStateCustomGame::mouseClick(int x, int y, MouseButton mouseButton) {
for(int i = 0; i < mapInfo.players; ++i) { for(int i = 0; i < mapInfo.players; ++i) {
MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__)); MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__));
//if (listBoxAdvanced.getSelectedItemIndex() == 1) {
// set multiplier // set multiplier
if(listBoxRMultiplier[i].mouseClick(x, y)) { if(listBoxRMultiplier[i].mouseClick(x, y)) {
} }
//}
//ensure thet only 1 human player is present //ensure thet only 1 human player is present
ServerInterface* serverInterface= NetworkManager::getInstance().getServerInterface(); ServerInterface* serverInterface= NetworkManager::getInstance().getServerInterface();
@ -1337,7 +1332,7 @@ void MenuStateCustomGame::mouseClick(int x, int y, MouseButton mouseButton) {
} }
updateNetworkSlots(); updateNetworkSlots();
if(listBoxPublishServer.getSelectedItemIndex() == 0) { if(checkBoxPublishServer.getValue() == true) {
needToRepublishToMasterserver = true; needToRepublishToMasterserver = true;
} }
@ -1395,7 +1390,7 @@ void MenuStateCustomGame::mouseClick(int x, int y, MouseButton mouseButton) {
} }
// //
if(listBoxPublishServer.getSelectedItemIndex() == 0) { if(checkBoxPublishServer.getValue() == true) {
needToRepublishToMasterserver = true; needToRepublishToMasterserver = true;
} }
@ -1416,7 +1411,7 @@ void MenuStateCustomGame::mouseClick(int x, int y, MouseButton mouseButton) {
lastSelectedTeamIndex[i] = -1; lastSelectedTeamIndex[i] = -1;
} }
if(listBoxPublishServer.getSelectedItemIndex() == 0) { if(checkBoxPublishServer.getValue() == true) {
needToRepublishToMasterserver = true; needToRepublishToMasterserver = true;
} }
@ -1459,7 +1454,7 @@ void MenuStateCustomGame::mouseClick(int x, int y, MouseButton mouseButton) {
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__);
if(listBoxPublishServer.getSelectedItemIndex() == 0) { if(checkBoxPublishServer.getValue() == true) {
needToRepublishToMasterserver = true; needToRepublishToMasterserver = true;
} }
@ -1533,7 +1528,7 @@ void MenuStateCustomGame::loadGameSettings(std::string fileName) {
MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__)); MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__));
if(listBoxPublishServer.getSelectedItemIndex() == 0) { if(checkBoxPublishServer.getValue() == true) {
needToRepublishToMasterserver = true; needToRepublishToMasterserver = true;
} }
@ -1738,15 +1733,15 @@ void MenuStateCustomGame::PlayNow(bool saveGame) {
} }
// Tell the server Interface whether or not to publish game status updates to masterserver // Tell the server Interface whether or not to publish game status updates to masterserver
serverInterface->setNeedToRepublishToMasterserver(listBoxPublishServer.getSelectedItemIndex() == 0); serverInterface->setNeedToRepublishToMasterserver(checkBoxPublishServer.getValue() == true);
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__);
bool bOkToStart = serverInterface->launchGame(&gameSettings); bool bOkToStart = serverInterface->launchGame(&gameSettings);
if(bOkToStart == true) { if(bOkToStart == true) {
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__);
if( listBoxPublishServer.getEditable() && if( checkBoxPublishServer.getEditable() &&
listBoxPublishServer.getSelectedItemIndex() == 0) { checkBoxPublishServer.getValue() == true) {
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__);
@ -1799,20 +1794,20 @@ void MenuStateCustomGame::mouseMove(int x, int y, const MouseState *ms) {
} }
listBoxMap.mouseMove(x, y); listBoxMap.mouseMove(x, y);
if(listBoxAdvanced.getSelectedItemIndex() == 1) { if(checkBoxAdvanced.getValue() == 1) {
listBoxFogOfWar.mouseMove(x, y); listBoxFogOfWar.mouseMove(x, y);
listBoxAllowObservers.mouseMove(x, y); checkBoxAllowObservers.mouseMove(x, y);
//listBoxEnableObserverMode.mouseMove(x, y); //listBoxEnableObserverMode.mouseMove(x, y);
//listBoxEnableServerControlledAI.mouseMove(x, y); //listBoxEnableServerControlledAI.mouseMove(x, y);
//labelNetworkFramePeriod.mouseMove(x, y); //labelNetworkFramePeriod.mouseMove(x, y);
//listBoxNetworkFramePeriod.mouseMove(x, y); //listBoxNetworkFramePeriod.mouseMove(x, y);
listBoxEnableSwitchTeamMode.mouseMove(x, y); checkBoxEnableSwitchTeamMode.mouseMove(x, y);
listBoxAISwitchTeamAcceptPercent.mouseMove(x, y); listBoxAISwitchTeamAcceptPercent.mouseMove(x, y);
listBoxFallbackCpuMultiplier.mouseMove(x, y); listBoxFallbackCpuMultiplier.mouseMove(x, y);
labelNetworkPauseGameForLaggedClients.mouseMove(x, y); labelNetworkPauseGameForLaggedClients.mouseMove(x, y);
listBoxNetworkPauseGameForLaggedClients.mouseMove(x, y); checkBoxNetworkPauseGameForLaggedClients.mouseMove(x, y);
//labelPathFinderType.mouseMove(x, y); //labelPathFinderType.mouseMove(x, y);
//listBoxPathFinderType.mouseMove(x, y); //listBoxPathFinderType.mouseMove(x, y);
@ -1820,9 +1815,9 @@ void MenuStateCustomGame::mouseMove(int x, int y, const MouseState *ms) {
listBoxTileset.mouseMove(x, y); listBoxTileset.mouseMove(x, y);
listBoxMapFilter.mouseMove(x, y); listBoxMapFilter.mouseMove(x, y);
listBoxTechTree.mouseMove(x, y); listBoxTechTree.mouseMove(x, y);
listBoxPublishServer.mouseMove(x, y); checkBoxPublishServer.mouseMove(x, y);
listBoxAdvanced.mouseMove(x, y); checkBoxAdvanced.mouseMove(x, y);
checkBoxScenario.mouseMove(x, y); checkBoxScenario.mouseMove(x, y);
listBoxScenario.mouseMove(x, y); listBoxScenario.mouseMove(x, y);
@ -1991,9 +1986,8 @@ void MenuStateCustomGame::render() {
} }
if(listBoxControls[i].getSelectedItemIndex()!=ctClosed){ if(listBoxControls[i].getSelectedItemIndex()!=ctClosed){
//if(listBoxAdvanced.getSelectedItemIndex() == 1){
renderer.renderListBox(&listBoxRMultiplier[i]); renderer.renderListBox(&listBoxRMultiplier[i]);
//}
renderer.renderListBox(&listBoxFactions[i]); renderer.renderListBox(&listBoxFactions[i]);
renderer.renderListBox(&listBoxTeams[i]); renderer.renderListBox(&listBoxTeams[i]);
renderer.renderLabel(&labelNetStatus[i]); renderer.renderLabel(&labelNetStatus[i]);
@ -2004,7 +1998,7 @@ void MenuStateCustomGame::render() {
renderer.renderLabel(&labelLocalIP); renderer.renderLabel(&labelLocalIP);
renderer.renderLabel(&labelMap); renderer.renderLabel(&labelMap);
if(listBoxAdvanced.getSelectedItemIndex() == 1) { if(checkBoxAdvanced.getValue() == 1) {
renderer.renderLabel(&labelFogOfWar); renderer.renderLabel(&labelFogOfWar);
renderer.renderLabel(&labelAllowObservers); renderer.renderLabel(&labelAllowObservers);
renderer.renderLabel(&labelFallbackCpuMultiplier); renderer.renderLabel(&labelFallbackCpuMultiplier);
@ -2014,11 +2008,11 @@ void MenuStateCustomGame::render() {
renderer.renderLabel(&labelAISwitchTeamAcceptPercent); renderer.renderLabel(&labelAISwitchTeamAcceptPercent);
renderer.renderListBox(&listBoxFogOfWar); renderer.renderListBox(&listBoxFogOfWar);
renderer.renderListBox(&listBoxAllowObservers); renderer.renderCheckBox(&checkBoxAllowObservers);
//renderer.renderListBox(&listBoxEnableObserverMode); //renderer.renderListBox(&listBoxEnableObserverMode);
//renderer.renderListBox(&listBoxPathFinderType); //renderer.renderListBox(&listBoxPathFinderType);
renderer.renderListBox(&listBoxEnableSwitchTeamMode); renderer.renderCheckBox(&checkBoxEnableSwitchTeamMode);
renderer.renderListBox(&listBoxAISwitchTeamAcceptPercent); renderer.renderListBox(&listBoxAISwitchTeamAcceptPercent);
renderer.renderListBox(&listBoxFallbackCpuMultiplier); renderer.renderListBox(&listBoxFallbackCpuMultiplier);
} }
@ -2036,21 +2030,22 @@ void MenuStateCustomGame::render() {
renderer.renderListBox(&listBoxTileset); renderer.renderListBox(&listBoxTileset);
renderer.renderListBox(&listBoxMapFilter); renderer.renderListBox(&listBoxMapFilter);
renderer.renderListBox(&listBoxTechTree); renderer.renderListBox(&listBoxTechTree);
renderer.renderListBox(&listBoxAdvanced); //renderer.renderListBox(&listBoxAdvanced);
renderer.renderCheckBox(&checkBoxAdvanced);
if(listBoxPublishServer.getEditable()) if(checkBoxPublishServer.getEditable())
{ {
renderer.renderListBox(&listBoxPublishServer); renderer.renderCheckBox(&checkBoxPublishServer);
renderer.renderLabel(&labelPublishServer); renderer.renderLabel(&labelPublishServer);
renderer.renderLabel(&labelGameName); renderer.renderLabel(&labelGameName);
renderer.renderLabel(&labelGameNameLabel); renderer.renderLabel(&labelGameNameLabel);
if(listBoxAdvanced.getSelectedItemIndex() == 1) { if(checkBoxAdvanced.getValue() == 1) {
//renderer.renderListBox(&listBoxEnableServerControlledAI); //renderer.renderListBox(&listBoxEnableServerControlledAI);
//renderer.renderLabel(&labelEnableServerControlledAI); //renderer.renderLabel(&labelEnableServerControlledAI);
//renderer.renderLabel(&labelNetworkFramePeriod); //renderer.renderLabel(&labelNetworkFramePeriod);
//renderer.renderListBox(&listBoxNetworkFramePeriod); //renderer.renderListBox(&listBoxNetworkFramePeriod);
renderer.renderLabel(&labelNetworkPauseGameForLaggedClients); renderer.renderLabel(&labelNetworkPauseGameForLaggedClients);
renderer.renderListBox(&listBoxNetworkPauseGameForLaggedClients); renderer.renderCheckBox(&checkBoxNetworkPauseGameForLaggedClients);
} }
} }
@ -2272,11 +2267,11 @@ void MenuStateCustomGame::update() {
showMessageBox( masterServererErrorToShow, lang.get("ErrorFromMasterserver"), false); showMessageBox( masterServererErrorToShow, lang.get("ErrorFromMasterserver"), false);
if(this->headlessServerMode == false) { if(this->headlessServerMode == false) {
listBoxPublishServer.setSelectedItemIndex(1); checkBoxPublishServer.setValue(false);
} }
ServerInterface* serverInterface= NetworkManager::getInstance().getServerInterface(); ServerInterface* serverInterface= NetworkManager::getInstance().getServerInterface();
serverInterface->setPublishEnabled(listBoxPublishServer.getSelectedItemIndex() == 0); serverInterface->setPublishEnabled(checkBoxPublishServer.getValue() == true);
} }
else if(showGeneralError) { else if(showGeneralError) {
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__);
@ -2325,7 +2320,7 @@ void MenuStateCustomGame::update() {
GameSettings gameSettings; GameSettings gameSettings;
loadGameSettings(&gameSettings); loadGameSettings(&gameSettings);
listBoxAISwitchTeamAcceptPercent.setEnabled(listBoxEnableSwitchTeamMode.getSelectedItemIndex() == 0); listBoxAISwitchTeamAcceptPercent.setEnabled(checkBoxEnableSwitchTeamMode.getValue() == 1);
int factionCount = 0; int factionCount = 0;
for(int i= 0; i< mapInfo.players; ++i) { for(int i= 0; i< mapInfo.players; ++i) {
@ -2550,10 +2545,10 @@ void MenuStateCustomGame::update() {
if(this->headlessServerMode == true || hasOneNetworkSlotOpen == true) { if(this->headlessServerMode == true || hasOneNetworkSlotOpen == true) {
if(this->headlessServerMode == true) { if(this->headlessServerMode == true) {
listBoxPublishServer.setSelectedItemIndex(0); checkBoxPublishServer.setValue(true);
} }
listBoxFallbackCpuMultiplier.setEditable(true); listBoxFallbackCpuMultiplier.setEditable(true);
listBoxPublishServer.setEditable(true); checkBoxPublishServer.setEditable(true);
//listBoxEnableServerControlledAI.setEditable(true); //listBoxEnableServerControlledAI.setEditable(true);
// Masterserver always needs one network slot // Masterserver always needs one network slot
@ -2580,27 +2575,27 @@ void MenuStateCustomGame::update() {
} }
} }
else { else {
listBoxPublishServer.setSelectedItemIndex(1); checkBoxPublishServer.setValue(false);
listBoxPublishServer.setEditable(false); checkBoxPublishServer.setEditable(false);
listBoxFallbackCpuMultiplier.setEditable(false); listBoxFallbackCpuMultiplier.setEditable(false);
listBoxFallbackCpuMultiplier.setSelectedItemIndex(5); listBoxFallbackCpuMultiplier.setSelectedItemIndex(5);
ServerInterface* serverInterface= NetworkManager::getInstance().getServerInterface(); ServerInterface* serverInterface= NetworkManager::getInstance().getServerInterface();
serverInterface->setPublishEnabled(listBoxPublishServer.getSelectedItemIndex() == 0); serverInterface->setPublishEnabled(checkBoxPublishServer.getValue() == true);
//listBoxEnableServerControlledAI.setEditable(false); //listBoxEnableServerControlledAI.setEditable(false);
} }
bool republishToMaster = (difftime((long int)time(NULL),lastMasterserverPublishing) >= MASTERSERVER_BROADCAST_PUBLISH_SECONDS); bool republishToMaster = (difftime((long int)time(NULL),lastMasterserverPublishing) >= MASTERSERVER_BROADCAST_PUBLISH_SECONDS);
if(republishToMaster == true) { if(republishToMaster == true) {
if(listBoxPublishServer.getSelectedItemIndex() == 0) { if(checkBoxPublishServer.getValue() == true) {
needToRepublishToMasterserver = true; needToRepublishToMasterserver = true;
lastMasterserverPublishing = time(NULL); lastMasterserverPublishing = time(NULL);
} }
} }
bool callPublishNow = (listBoxPublishServer.getEditable() && bool callPublishNow = (checkBoxPublishServer.getEditable() &&
listBoxPublishServer.getSelectedItemIndex() == 0 && checkBoxPublishServer.getValue() == true &&
needToRepublishToMasterserver == true); needToRepublishToMasterserver == true);
if(SystemFlags::getSystemSettingType(SystemFlags::debugPerformance).enabled && chrono.getMillis() > 0) SystemFlags::OutputDebug(SystemFlags::debugPerformance,"In [%s::%s Line: %d] took msecs: %lld\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__,chrono.getMillis()); if(SystemFlags::getSystemSettingType(SystemFlags::debugPerformance).enabled && chrono.getMillis() > 0) SystemFlags::OutputDebug(SystemFlags::debugPerformance,"In [%s::%s Line: %d] took msecs: %lld\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__,chrono.getMillis());
@ -3137,7 +3132,7 @@ void MenuStateCustomGame::loadGameSettings(GameSettings *gameSettings,bool force
gameSettings->setFogOfWar(listBoxFogOfWar.getSelectedItemIndex() == 0 || gameSettings->setFogOfWar(listBoxFogOfWar.getSelectedItemIndex() == 0 ||
listBoxFogOfWar.getSelectedItemIndex() == 1 ); listBoxFogOfWar.getSelectedItemIndex() == 1 );
gameSettings->setAllowObservers(listBoxAllowObservers.getSelectedItemIndex() == 1); gameSettings->setAllowObservers(checkBoxAllowObservers.getValue() == 1);
uint32 valueFlags1 = gameSettings->getFlagTypes1(); uint32 valueFlags1 = gameSettings->getFlagTypes1();
if(listBoxFogOfWar.getSelectedItemIndex() == 1 || if(listBoxFogOfWar.getSelectedItemIndex() == 1 ||
@ -3155,7 +3150,7 @@ void MenuStateCustomGame::loadGameSettings(GameSettings *gameSettings,bool force
//gameSettings->setPathFinderType(static_cast<PathFinderType>(listBoxPathFinderType.getSelectedItemIndex())); //gameSettings->setPathFinderType(static_cast<PathFinderType>(listBoxPathFinderType.getSelectedItemIndex()));
valueFlags1 = gameSettings->getFlagTypes1(); valueFlags1 = gameSettings->getFlagTypes1();
if(listBoxEnableSwitchTeamMode.getSelectedItemIndex() == 0) { if(checkBoxEnableSwitchTeamMode.getValue() == 0) {
valueFlags1 |= ft1_allow_team_switching; valueFlags1 |= ft1_allow_team_switching;
gameSettings->setFlagTypes1(valueFlags1); gameSettings->setFlagTypes1(valueFlags1);
} }
@ -3311,7 +3306,7 @@ void MenuStateCustomGame::loadGameSettings(GameSettings *gameSettings,bool force
Config &config = Config::getInstance(); Config &config = Config::getInstance();
gameSettings->setEnableServerControlledAI(config.getBool("ServerControlledAI","true")); gameSettings->setEnableServerControlledAI(config.getBool("ServerControlledAI","true"));
gameSettings->setNetworkFramePeriod(config.getInt("NetworkSendFrameCount","20")); gameSettings->setNetworkFramePeriod(config.getInt("NetworkSendFrameCount","20"));
gameSettings->setNetworkPauseGameForLaggedClients(((listBoxNetworkPauseGameForLaggedClients.getSelectedItemIndex() != 0))); gameSettings->setNetworkPauseGameForLaggedClients(((checkBoxNetworkPauseGameForLaggedClients.getValue() == true)));
if(hasNetworkGameSettings() == true) { if(hasNetworkGameSettings() == true) {
if( gameSettings->getTileset() != "") { if( gameSettings->getTileset() != "") {
@ -3442,74 +3437,8 @@ void MenuStateCustomGame::saveGameSettingsToFile(std::string fileName) {
GameSettings gameSettings; GameSettings gameSettings;
loadGameSettings(&gameSettings); loadGameSettings(&gameSettings);
CoreData::getInstance().saveGameSettingsToFile(fileName, &gameSettings,listBoxAdvanced.getSelectedItemIndex()); CoreData::getInstance().saveGameSettingsToFile(fileName, &gameSettings,checkBoxAdvanced.getValue());
// Config &config = Config::getInstance();
// string userData = config.getString("UserData_Root","");
// if(userData != "") {
// endPathWithSlash(userData);
// }
// fileName = userData + fileName;
//
// if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] fileName = [%s]\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__,fileName.c_str());
//
// GameSettings gameSettings;
// loadGameSettings(&gameSettings);
//
//#if defined(WIN32) && !defined(__MINGW32__)
// FILE *fp = _wfopen(utf8_decode(fileName).c_str(), L"w");
// std::ofstream saveGameFile(fp);
//#else
// std::ofstream saveGameFile;
// saveGameFile.open(fileName.c_str(), ios_base::out | ios_base::trunc);
//#endif
//
// //int factionCount= 0;
// //ServerInterface* serverInterface= NetworkManager::getInstance().getServerInterface();
//
// saveGameFile << "Description=" << gameSettings.getDescription() << std::endl;
//
// saveGameFile << "MapFilterIndex=" << gameSettings.getMapFilterIndex() << std::endl;
// saveGameFile << "Map=" << gameSettings.getMap() << std::endl;
// saveGameFile << "Tileset=" << gameSettings.getTileset() << std::endl;
// saveGameFile << "TechTree=" << gameSettings.getTech() << std::endl;
// saveGameFile << "DefaultUnits=" << gameSettings.getDefaultUnits() << std::endl;
// saveGameFile << "DefaultResources=" << gameSettings.getDefaultResources() << std::endl;
// saveGameFile << "DefaultVictoryConditions=" << gameSettings.getDefaultVictoryConditions() << std::endl;
// saveGameFile << "FogOfWar=" << gameSettings.getFogOfWar() << std::endl;
// saveGameFile << "AdvancedIndex=" << listBoxAdvanced.getSelectedItemIndex() << std::endl;
//
// saveGameFile << "AllowObservers=" << gameSettings.getAllowObservers() << std::endl;
//
// saveGameFile << "FlagTypes1=" << gameSettings.getFlagTypes1() << std::endl;
//
// saveGameFile << "EnableObserverModeAtEndGame=" << gameSettings.getEnableObserverModeAtEndGame() << std::endl;
//
// saveGameFile << "AiAcceptSwitchTeamPercentChance=" << gameSettings.getAiAcceptSwitchTeamPercentChance() << std::endl;
//
// saveGameFile << "PathFinderType=" << gameSettings.getPathFinderType() << std::endl;
// saveGameFile << "EnableServerControlledAI=" << gameSettings.getEnableServerControlledAI() << std::endl;
// saveGameFile << "NetworkFramePeriod=" << gameSettings.getNetworkFramePeriod() << std::endl;
// saveGameFile << "NetworkPauseGameForLaggedClients=" << gameSettings.getNetworkPauseGameForLaggedClients() << std::endl;
//
// saveGameFile << "FactionThisFactionIndex=" << gameSettings.getThisFactionIndex() << std::endl;
// saveGameFile << "FactionCount=" << gameSettings.getFactionCount() << std::endl;
//
// //for(int i = 0; i < gameSettings.getFactionCount(); ++i) {
// for(int i = 0; i < GameConstants::maxPlayers; ++i) {
// int slotIndex = gameSettings.getStartLocationIndex(i);
//
// saveGameFile << "FactionControlForIndex" << slotIndex << "=" << gameSettings.getFactionControl(i) << std::endl;
// saveGameFile << "ResourceMultiplierIndex" << slotIndex << "=" << gameSettings.getResourceMultiplierIndex(i) << std::endl;
// saveGameFile << "FactionTeamForIndex" << slotIndex << "=" << gameSettings.getTeam(i) << std::endl;
// saveGameFile << "FactionStartLocationForIndex" << slotIndex << "=" << gameSettings.getStartLocationIndex(i) << std::endl;
// saveGameFile << "FactionTypeNameForIndex" << slotIndex << "=" << gameSettings.getFactionTypeName(i) << std::endl;
// saveGameFile << "FactionPlayerNameForIndex" << slotIndex << "=" << gameSettings.getNetworkPlayerName(i) << std::endl;
// }
//
//#if defined(WIN32) && !defined(__MINGW32__)
// fclose(fp);
//#endif
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s] Line: %d\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s] Line: %d\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__);
} }
@ -3641,10 +3570,10 @@ void MenuStateCustomGame::setupUIFromGameSettings(const GameSettings &gameSettin
//printf("In [%s::%s line %d]\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__); //printf("In [%s::%s line %d]\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__);
listBoxAllowObservers.setSelectedItem(gameSettings.getAllowObservers() == true ? lang.get("Yes") : lang.get("No")); checkBoxAllowObservers.setValue(gameSettings.getAllowObservers() == true ? true : false);
//listBoxEnableObserverMode.setSelectedItem(gameSettings.getEnableObserverModeAtEndGame() == true ? lang.get("Yes") : lang.get("No")); //listBoxEnableObserverMode.setSelectedItem(gameSettings.getEnableObserverModeAtEndGame() == true ? lang.get("Yes") : lang.get("No"));
listBoxEnableSwitchTeamMode.setSelectedItem((gameSettings.getFlagTypes1() & ft1_allow_team_switching) == ft1_allow_team_switching ? lang.get("Yes") : lang.get("No")); checkBoxEnableSwitchTeamMode.setValue((gameSettings.getFlagTypes1() & ft1_allow_team_switching) == ft1_allow_team_switching ? true : false);
listBoxAISwitchTeamAcceptPercent.setSelectedItem(intToStr(gameSettings.getAiAcceptSwitchTeamPercentChance())); listBoxAISwitchTeamAcceptPercent.setSelectedItem(intToStr(gameSettings.getAiAcceptSwitchTeamPercentChance()));
listBoxFallbackCpuMultiplier.setSelectedItemIndex(gameSettings.getFallbackCpuMultiplier()); listBoxFallbackCpuMultiplier.setSelectedItemIndex(gameSettings.getFallbackCpuMultiplier());
@ -3658,7 +3587,7 @@ void MenuStateCustomGame::setupUIFromGameSettings(const GameSettings &gameSettin
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s] Line: %d\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s] Line: %d\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__);
listBoxNetworkPauseGameForLaggedClients.setSelectedItemIndex(gameSettings.getNetworkPauseGameForLaggedClients()); checkBoxNetworkPauseGameForLaggedClients.setValue(gameSettings.getNetworkPauseGameForLaggedClients());
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s] Line: %d\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s] Line: %d\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__);
@ -3711,10 +3640,6 @@ void MenuStateCustomGame::setupUIFromGameSettings(const GameSettings &gameSettin
updateControlers(); updateControlers();
updateNetworkSlots(); updateNetworkSlots();
//if(listBoxPublishServer.getSelectedItemIndex() == 0) {
// needToRepublishToMasterserver = true;
//}
if(hasNetworkGameSettings() == true) if(hasNetworkGameSettings() == true)
{ {
needToSetChangedGameSettings = true; needToSetChangedGameSettings = true;
@ -4346,7 +4271,7 @@ void MenuStateCustomGame::processScenario() {
} }
} }
if(listBoxPublishServer.getSelectedItemIndex() == 0) { if(checkBoxPublishServer.getValue() == true) {
needToRepublishToMasterserver = true; needToRepublishToMasterserver = true;
} }
@ -4361,7 +4286,7 @@ void MenuStateCustomGame::processScenario() {
updateNetworkSlots(); updateNetworkSlots();
MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__)); MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__));
if(listBoxPublishServer.getSelectedItemIndex() == 0) { if(checkBoxPublishServer.getValue() == true) {
needToRepublishToMasterserver = true; needToRepublishToMasterserver = true;
} }
if(hasNetworkGameSettings() == true) { if(hasNetworkGameSettings() == true) {
@ -4405,9 +4330,9 @@ void MenuStateCustomGame::SetupUIForScenarios() {
listBoxTeams[i].setEditable(false); listBoxTeams[i].setEditable(false);
} }
listBoxFogOfWar.setEditable(false); listBoxFogOfWar.setEditable(false);
listBoxAllowObservers.setEditable(false); checkBoxAllowObservers.setEditable(false);
//listBoxPathFinderType.setEditable(false); //listBoxPathFinderType.setEditable(false);
listBoxEnableSwitchTeamMode.setEditable(false); checkBoxEnableSwitchTeamMode.setEditable(false);
listBoxAISwitchTeamAcceptPercent.setEditable(false); listBoxAISwitchTeamAcceptPercent.setEditable(false);
listBoxFallbackCpuMultiplier.setEditable(false); listBoxFallbackCpuMultiplier.setEditable(false);
listBoxMap.setEditable(false); listBoxMap.setEditable(false);
@ -4425,9 +4350,9 @@ void MenuStateCustomGame::SetupUIForScenarios() {
listBoxTeams[i].setEditable(true); listBoxTeams[i].setEditable(true);
} }
listBoxFogOfWar.setEditable(true); listBoxFogOfWar.setEditable(true);
listBoxAllowObservers.setEditable(true); checkBoxAllowObservers.setEditable(true);
//listBoxPathFinderType.setEditable(true); //listBoxPathFinderType.setEditable(true);
listBoxEnableSwitchTeamMode.setEditable(true); checkBoxEnableSwitchTeamMode.setEditable(true);
listBoxAISwitchTeamAcceptPercent.setEditable(true); listBoxAISwitchTeamAcceptPercent.setEditable(true);
listBoxFallbackCpuMultiplier.setEditable(true); listBoxFallbackCpuMultiplier.setEditable(true);
listBoxMap.setEditable(true); listBoxMap.setEditable(true);
@ -4597,7 +4522,7 @@ void MenuStateCustomGame::reloadFactions(bool keepExistingSelectedItem, string s
results.push_back(formatString(GameConstants::RANDOMFACTION_SLOTNAME)); results.push_back(formatString(GameConstants::RANDOMFACTION_SLOTNAME));
// Add special Observer Faction // Add special Observer Faction
if(listBoxAllowObservers.getSelectedItemIndex() == 1) { if(checkBoxAllowObservers.getValue() == 1) {
results.push_back(formatString(GameConstants::OBSERVER_SLOTNAME)); results.push_back(formatString(GameConstants::OBSERVER_SLOTNAME));
} }
@ -4615,7 +4540,7 @@ void MenuStateCustomGame::reloadFactions(bool keepExistingSelectedItem, string s
listBoxFactions[i].setItems(results); listBoxFactions[i].setItems(results);
if( keepExistingSelectedItem == false || if( keepExistingSelectedItem == false ||
(listBoxAllowObservers.getSelectedItemIndex() == 0 && (checkBoxAllowObservers.getValue() == 0 &&
originalValue == formatString(GameConstants::OBSERVER_SLOTNAME)) ) { originalValue == formatString(GameConstants::OBSERVER_SLOTNAME)) ) {
listBoxFactions[i].setSelectedItemIndex(i % results.size()); listBoxFactions[i].setSelectedItemIndex(i % results.size());

View File

@ -86,7 +86,8 @@ private:
GraphicButton buttonClearBlockedPlayers; GraphicButton buttonClearBlockedPlayers;
GraphicLabel labelPublishServer; GraphicLabel labelPublishServer;
GraphicListBox listBoxPublishServer; //GraphicListBox listBoxPublishServer;
GraphicCheckBox checkBoxPublishServer;
GraphicMessageBox mainMessageBox; GraphicMessageBox mainMessageBox;
int mainMessageBoxState; int mainMessageBoxState;
@ -95,7 +96,8 @@ private:
//GraphicLabel labelNetworkFramePeriod; //GraphicLabel labelNetworkFramePeriod;
GraphicLabel labelNetworkPauseGameForLaggedClients; GraphicLabel labelNetworkPauseGameForLaggedClients;
GraphicListBox listBoxNetworkPauseGameForLaggedClients; //GraphicListBox listBoxNetworkPauseGameForLaggedClients;
GraphicCheckBox checkBoxNetworkPauseGameForLaggedClients;
//GraphicLabel labelPathFinderType; //GraphicLabel labelPathFinderType;
//GraphicListBox listBoxPathFinderType; //GraphicListBox listBoxPathFinderType;
@ -104,10 +106,12 @@ private:
GraphicListBox listBoxMapFilter; GraphicListBox listBoxMapFilter;
GraphicLabel labelAdvanced; GraphicLabel labelAdvanced;
GraphicListBox listBoxAdvanced; //GraphicListBox listBoxAdvanced;
GraphicCheckBox checkBoxAdvanced;
GraphicLabel labelAllowObservers; GraphicLabel labelAllowObservers;
GraphicListBox listBoxAllowObservers; //GraphicListBox listBoxAllowObservers;
GraphicCheckBox checkBoxAllowObservers;
GraphicLabel *activeInputLabel; GraphicLabel *activeInputLabel;
@ -115,7 +119,9 @@ private:
GraphicListBox listBoxPlayerStatus; GraphicListBox listBoxPlayerStatus;
GraphicLabel labelEnableSwitchTeamMode; GraphicLabel labelEnableSwitchTeamMode;
GraphicListBox listBoxEnableSwitchTeamMode; //GraphicListBox listBoxEnableSwitchTeamMode;
GraphicCheckBox checkBoxEnableSwitchTeamMode;
GraphicLabel labelAISwitchTeamAcceptPercent; GraphicLabel labelAISwitchTeamAcceptPercent;
GraphicListBox listBoxAISwitchTeamAcceptPercent; GraphicListBox listBoxAISwitchTeamAcceptPercent;
GraphicLabel labelFallbackCpuMultiplier; GraphicLabel labelFallbackCpuMultiplier;