Procházet zdrojové kódy

fixes #6355 Battle mode without maps

Laserlicht před 3 týdny
rodič
revize
500c21df89

+ 3 - 2
client/CServerHandler.cpp

@@ -591,9 +591,10 @@ bool CServerHandler::validateGameStart(bool allowOnlyAI) const
 	return true;
 }
 
-void CServerHandler::sendStartGame(bool allowOnlyAI) const
+void CServerHandler::sendStartGame(bool allowOnlyAI, bool verify) const
 {
-	verifyStateBeforeStart(allowOnlyAI ? true : settings["session"]["onlyai"].Bool());
+	if(verify)
+		verifyStateBeforeStart(allowOnlyAI ? true : settings["session"]["onlyai"].Bool());
 
 	if(!settings["session"]["headless"].Bool())
 	{

+ 2 - 2
client/CServerHandler.h

@@ -89,7 +89,7 @@ public:
 	virtual void setExtraOptionsInfo(const ExtraOptionsInfo & info) const = 0;
 	virtual void sendMessage(const std::string & txt) const = 0;
 	virtual void sendGuiAction(ui8 action) const = 0; // TODO: possibly get rid of it?
-	virtual void sendStartGame(bool allowOnlyAI = false) const = 0;
+	virtual void sendStartGame(bool allowOnlyAI = false, bool verify = true) const = 0;
 	virtual void sendRestartGame() const = 0;
 };
 
@@ -201,7 +201,7 @@ public:
 	void sendMessage(const std::string & txt) const override;
 	void sendGuiAction(ui8 action) const override;
 	void sendRestartGame() const override;
-	void sendStartGame(bool allowOnlyAI = false) const override;
+	void sendStartGame(bool allowOnlyAI = false, bool verify = true) const override;
 
 	void startMapAfterConnection(std::shared_ptr<CMapInfo> to);
 	bool validateGameStart(bool allowOnlyAI = false) const;

+ 1 - 1
client/lobby/BattleOnlyModeTab.cpp

@@ -971,5 +971,5 @@ void BattleOnlyModeTab::startBattle()
 	ExtraOptionsInfo extraOptions;
 	extraOptions.unlimitedReplay = true;
 	GAME->server().setExtraOptionsInfo(extraOptions);
-	GAME->server().sendStartGame();
+	GAME->server().sendStartGame(false, false);
 }