瀏覽代碼

- fixed #967
- removed unused settings.txt
- fixed player flags on info windows.

Ivan Savenko 13 年之前
父節點
當前提交
7ddf76a081
共有 4 個文件被更改,包括 13 次插入35 次删除
  1. 11 12
      client/CPreGame.cpp
  2. 1 0
      client/CPreGame.h
  3. 1 1
      client/GUIClasses.cpp
  4. 0 22
      config/settings.txt

+ 11 - 12
client/CPreGame.cpp

@@ -536,6 +536,14 @@ CGPreGame *CGPreGame::create()
 	return CGP;
 }
 
+void CGPreGame::removeFromGui()
+{
+	//remove everything but main menu and background
+	GH.popInts(GH.listInt.size() - 2);
+	GH.popInt(GH.topInt()); //remove main menu
+	GH.popInt(GH.topInt()); //remove background
+}
+
 CSelectionScreen::CSelectionScreen(CMenuScreen::EState Type, CMenuScreen::EMultiMode MultiPlayer /*= CMenuScreen::SINGLE_PLAYER*/, const std::map<ui32, std::string> *Names /*= NULL*/)
 	: ISelectionScreenInfo(Names), serverHandlingThread(NULL), mx(new boost::recursive_mutex),
 	  serv(NULL), ongoingClosing(false), myNameID(255)
@@ -830,10 +838,7 @@ void CSelectionScreen::startGame()
 
 		selectedName = sInfo.mapname;
 		StartInfo *si = new StartInfo(sInfo);
-		GH.popIntTotally(this); //delete me
-		GH.popInt(GH.topInt()); //only deactivate main menu screen
-		GH.totalRedraw();
-		GH.popInt(GH.topInt()); //and pregame background
+		CGP->removeFromGui();
 		//SEL->current = NULL;
 		//curOpts = NULL;
 		::startGame(si);
@@ -3205,11 +3210,7 @@ void CBonusSelection::startMap()
 	}
 	else
 	{
-		// Deletes either the Custom campaign selection screen + Bonus selection screen or
-		// one of the main campaign selection screens + Bonus selection screen and
-		// deactivates the main menu
-		GH.popInts(2);
-		GH.popInt(GH.topInt());
+		CGP->removeFromGui();
 	}
 	::startGame(si);
 }
@@ -3527,10 +3528,8 @@ void StartWithCurrentSettings::apply(CSelectionScreen *selScreen)
 	vstd::clear_pointer(selScreen->serverHandlingThread); //detach us
 	selectedName = selScreen->sInfo.mapname;
 
-	GH.curInt = NULL;
-	GH.popIntTotally(selScreen);
+	CGP->removeFromGui();
 
-	GH.popInt(GH.topInt()); //only deactivate main menu screen
 	::startGame(startingInfo.sInfo, startingInfo.serv);
 	throw 666; //EVIL, EVIL, EVIL workaround to kill thread (does "goto catch" outside listening loop)
 }

+ 1 - 0
client/CPreGame.h

@@ -513,6 +513,7 @@ public:
 	void openCampaignScreen(std::string name);
 
 	static CGPreGame * create();
+	void removeFromGui();
 };
 
 extern ISelectionScreenInfo *SEL;

+ 1 - 1
client/GUIClasses.cpp

@@ -748,7 +748,7 @@ std::string CComponent::getFileName()
 	case luck:       return "ILCK82";
 	case building:   return graphics->buildingPics[subtype];
 	case hero:       return "PortraitsLarge";
-	case flag:       return "TWCRPORT";
+	case flag:       return "CREST58";
 	}
 	assert(0);
 	return 0;

+ 0 - 22
config/settings.txt

@@ -1,22 +0,0 @@
-THIS FILE IS OUTDATED
-- to change setting including resolution: use in-game menu
-- to change setting manually: file settings.json
-- to add new options or to modify default values: file defaultSettings.json
-
-//DO NOT EDIT!!!
-//DO NOT READ!
-clientSettings
-{
-	port=3030;
-	resolution=800x600; // format: WxH
-	pregameRes=800x600; //WxH
-	screenSize=0x0; //WxH, if 0x0 will be set to he same value as resolution
-	bpp=24; // bits per pixels: 16, 24 or 32
-	fullscreen=0; //0 - windowed mode, 1 - fullscreen
-	server=127.0.0.1; //use 127.0.0.1 for localhost
-	localInformation=2; //0 - *all* information sent from server (safest and slowest); 1 - map information sent from server; 2 - all information local-storaged
-	defaultPlayerAI=GeniusAI; 
-	neutralBattleAI=StupidAI;
-	showFPS=0;
-	classicCreatureWindow=0;
-}