- added new option to UI to Show Resources for custom games

This commit is contained in:
Mark Vejvoda 2010-12-19 08:36:59 +00:00
parent f204d4445c
commit e9c8928b49
2 changed files with 56 additions and 13 deletions

View File

@ -251,6 +251,16 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu, b
listBoxAllowObservers.pushBackItem(lang.get("Yes"));
listBoxAllowObservers.setSelectedItemIndex(0);
labelShowMapResources.registerGraphicComponent(containerName,"labelShowMapResources;");
labelShowMapResources.init(xoffset+200, aHeadPos, 80);
labelShowMapResources.setText(lang.get("ShowMapResources"));
listBoxShowMapResources.registerGraphicComponent(containerName,"listBoxShowMapResources;");
listBoxShowMapResources.init(xoffset+200, aPos, 80);
listBoxShowMapResources.pushBackItem(lang.get("No"));
listBoxShowMapResources.pushBackItem(lang.get("Yes"));
listBoxShowMapResources.setSelectedItemIndex(0);
// fog - o - war
// @350 ? 300 ?
labelFogOfWar.registerGraphicComponent(containerName,"labelFogOfWar");
@ -684,8 +694,19 @@ void MenuStateCustomGame::mouseClick(int x, int y, MouseButton mouseButton){
reloadFactions(true);
if(hasNetworkGameSettings() == true)
{
if(hasNetworkGameSettings() == true) {
needToSetChangedGameSettings = true;
lastSetChangedGameSettings = time(NULL);
}
}
else if (listBoxAdvanced.getSelectedItemIndex() == 1 && listBoxShowMapResources.mouseClick(x, y)) {
MutexSafeWrapper safeMutex(&masterServerThreadAccessor);
if(listBoxPublishServer.getSelectedItemIndex() == 0) {
needToRepublishToMasterserver = true;
}
if(hasNetworkGameSettings() == true) {
needToSetChangedGameSettings = true;
lastSetChangedGameSettings = time(NULL);
}
@ -1182,6 +1203,7 @@ void MenuStateCustomGame::mouseMove(int x, int y, const MouseState *ms){
listBoxFogOfWar.mouseMove(x, y);
listBoxAllowObservers.mouseMove(x, y);
listBoxEnableObserverMode.mouseMove(x, y);
listBoxShowMapResources.mouseMove(x, y);
//listBoxEnableServerControlledAI.mouseMove(x, y);
//labelNetworkFramePeriod.mouseMove(x, y);
//listBoxNetworkFramePeriod.mouseMove(x, y);
@ -1286,11 +1308,13 @@ void MenuStateCustomGame::render() {
if(listBoxAdvanced.getSelectedItemIndex() == 1) {
renderer.renderLabel(&labelFogOfWar);
renderer.renderLabel(&labelAllowObservers);
renderer.renderLabel(&labelShowMapResources);
renderer.renderLabel(&labelEnableObserverMode);
renderer.renderLabel(&labelPathFinderType);
renderer.renderListBox(&listBoxFogOfWar);
renderer.renderListBox(&listBoxAllowObservers);
renderer.renderListBox(&listBoxShowMapResources);
renderer.renderListBox(&listBoxEnableObserverMode);
renderer.renderListBox(&listBoxPathFinderType);
}
@ -1981,6 +2005,16 @@ void MenuStateCustomGame::loadGameSettings(GameSettings *gameSettings) {
gameSettings->setAllowObservers(listBoxAllowObservers.getSelectedItemIndex() == 1);
uint32 valueFlags1 = gameSettings->getFlagTypes1();
if(listBoxShowMapResources.getSelectedItemIndex() == 1) {
valueFlags1 |= ft1_show_map_resources;
gameSettings->setFlagTypes1(valueFlags1);
}
else {
valueFlags1 &= ~ft1_show_map_resources;
gameSettings->setFlagTypes1(valueFlags1);
}
gameSettings->setEnableObserverModeAtEndGame(listBoxEnableObserverMode.getSelectedItemIndex() == 0);
gameSettings->setPathFinderType(static_cast<PathFinderType>(listBoxPathFinderType.getSelectedItemIndex()));
@ -2128,6 +2162,8 @@ void MenuStateCustomGame::saveGameSettingsToFile(std::string fileName) {
saveGameFile << "AllowObservers=" << gameSettings.getAllowObservers() << std::endl;
saveGameFile << "FlagTypes1=" << gameSettings.getFlagTypes1() << std::endl;
saveGameFile << "EnableObserverModeAtEndGame=" << gameSettings.getEnableObserverModeAtEndGame() << std::endl;
saveGameFile << "PathFinderType=" << gameSettings.getPathFinderType() << std::endl;
saveGameFile << "EnableServerControlledAI=" << gameSettings.getEnableServerControlledAI() << std::endl;
@ -2186,6 +2222,8 @@ GameSettings MenuStateCustomGame::loadGameSettingsFromFile(std::string fileName)
gameSettings.setAllowObservers(properties.getBool("AllowObservers","false"));
gameSettings.setFlagTypes1(properties.getInt("FlagTypes1","0"));
gameSettings.setEnableObserverModeAtEndGame(properties.getBool("EnableObserverModeAtEndGame"));
gameSettings.setPathFinderType(static_cast<PathFinderType>(properties.getInt("PathFinderType",intToStr(pfBasic).c_str())));
gameSettings.setEnableServerControlledAI(properties.getBool("EnableServerControlledAI","true"));
@ -2245,6 +2283,8 @@ GameSettings MenuStateCustomGame::loadGameSettingsFromFile(std::string fileName)
listBoxFogOfWar.setSelectedItem(gameSettings.getFogOfWar() == true ? lang.get("Yes") : lang.get("No"));
listBoxAllowObservers.setSelectedItem(gameSettings.getAllowObservers() == true ? lang.get("Yes") : lang.get("No"));
listBoxShowMapResources.setSelectedItem((gameSettings.getFlagTypes1() & ft1_show_map_resources) == ft1_show_map_resources ? lang.get("Yes") : lang.get("No"));
listBoxEnableObserverMode.setSelectedItem(gameSettings.getEnableObserverModeAtEndGame() == true ? lang.get("Yes") : lang.get("No"));
listBoxPathFinderType.setSelectedItemIndex(gameSettings.getPathFinderType());

View File

@ -43,7 +43,7 @@ private:
GraphicLabel labelEnableObserverMode;
//GraphicLabel labelEnableServerControlledAI;
GraphicLabel labelLocalIP;
GraphicListBox listBoxMap;
GraphicListBox listBoxFogOfWar;
@ -66,31 +66,34 @@ private:
GraphicListBox listBoxTeams[GameConstants::maxPlayers];
GraphicLabel labelNetStatus[GameConstants::maxPlayers];
MapInfo mapInfo;
GraphicLabel labelPublishServer;
GraphicListBox listBoxPublishServer;
GraphicMessageBox mainMessageBox;
int mainMessageBoxState;
//GraphicListBox listBoxNetworkFramePeriod;
//GraphicLabel labelNetworkFramePeriod;
GraphicLabel labelNetworkPauseGameForLaggedClients;
GraphicListBox listBoxNetworkPauseGameForLaggedClients;
GraphicLabel labelPathFinderType;
GraphicListBox listBoxPathFinderType;
GraphicLabel labelMapFilter;
GraphicListBox listBoxMapFilter;
GraphicLabel labelAdvanced;
GraphicListBox listBoxAdvanced;
GraphicLabel labelAllowObservers;
GraphicListBox listBoxAllowObservers;
GraphicLabel labelShowMapResources;
GraphicListBox listBoxShowMapResources;
GraphicLabel *activeInputLabel;
bool needToSetChangedGameSettings;
@ -105,17 +108,17 @@ private:
Mutex masterServerThreadAccessor;
Mutex publishToMasterserverThreadPtrChangeAccessor;
bool publishToMasterserverThreadInDeletion;
bool parentMenuIsMs;
int soundConnectionCount;
bool showMasterserverError;
string masterServererErrorToShow;
bool showGeneralError;
string generalErrorToShow;
bool serverInitError;
Console console;
ChatManager chatManager;
bool showFullConsole;
@ -154,7 +157,7 @@ public:
virtual void keyDown(char key);
virtual void keyPress(char c);
virtual void keyUp(char key);
virtual void simpleTask();
virtual bool isInSpecialKeyCaptureEvent() { return chatManager.getEditEnabled(); }