浏览代码

Show message to player and close game if creature battle animation is
missing (demo assets usage?)

Ivan Savenko 1 年之前
父节点
当前提交
ef68bd7ac0
共有 1 个文件被更改,包括 8 次插入1 次删除
  1. 8 1
      client/widgets/MiscWidgets.cpp

+ 8 - 1
client/widgets/MiscWidgets.cpp

@@ -15,6 +15,7 @@
 #include "../gui/CGuiHandler.h"
 #include "../gui/CursorHandler.h"
 
+#include "../CMT.h"
 #include "../CPlayerInterface.h"
 #include "../CGameInfo.h"
 #include "../PlayerLocalState.h"
@@ -638,7 +639,13 @@ CCreaturePic::CCreaturePic(int x, int y, const CCreature * cre, bool Big, bool A
 	assert(CGI->townh->size() > faction);
 
 	if (cre->animDefName.empty())
-		throw std::runtime_error("Creature " + cre->getJsonKey() + " has no valid combat animation!");
+	{
+		GH.dispatchMainThread([cre]()
+		{
+			handleFatalError("Creature " + cre->getJsonKey() + " has no valid combat animation!", false);
+		});
+		return;
+	}
 
 	if(Big)
 		bg = std::make_shared<CPicture>((*CGI->townh)[faction]->creatureBg130);