Sfoglia il codice sorgente

Nullkiller: fix old VCAI new lines

Andrii Danylchenko 4 anni fa
parent
commit
ae67ef027a
4 ha cambiato i file con 222 aggiunte e 222 eliminazioni
  1. 187 187
      AI/VCAI/AIUtility.h
  2. 1 1
      AI/VCAI/StdInc.cpp
  3. 2 2
      AI/VCAI/StdInc.h
  4. 32 32
      AI/VCAI/main.cpp

+ 187 - 187
AI/VCAI/AIUtility.h

@@ -1,187 +1,187 @@
-/*
- * AIUtility.h, part of VCMI engine
- *
- * Authors: listed in file AUTHORS in main folder
- *
- * License: GNU General Public License v2.0 or later
- * Full text of license available in license.txt file, in main folder
- *
- */
-#pragma once
-
-#include "../../lib/VCMI_Lib.h"
-#include "../../lib/CBuildingHandler.h"
-#include "../../lib/CCreatureHandler.h"
-#include "../../lib/CTownHandler.h"
-#include "../../lib/spells/CSpellHandler.h"
-#include "../../lib/CStopWatch.h"
-#include "../../lib/mapObjects/CObjectHandler.h"
-#include "../../lib/mapObjects/CGHeroInstance.h"
-#include "../../lib/CPathfinder.h"
-
-class CCallback;
-struct creInfo;
-
-typedef const int3 & crint3;
-typedef const std::string & crstring;
-typedef std::pair<ui32, std::vector<CreatureID>> dwellingContent;
-
-const int GOLD_MINE_PRODUCTION = 1000, WOOD_ORE_MINE_PRODUCTION = 2, RESOURCE_MINE_PRODUCTION = 1;
-const int ACTUAL_RESOURCE_COUNT = 7;
-const int ALLOWED_ROAMING_HEROES = 8;
-
-//implementation-dependent
-extern const double SAFE_ATTACK_CONSTANT;
-extern const int GOLD_RESERVE;
-
-//provisional class for AI to store a reference to an owned hero object
-//checks if it's valid on access, should be used in place of const CGHeroInstance*
-
-struct DLL_EXPORT HeroPtr
-{
-	const CGHeroInstance * h;
-	ObjectInstanceID hid;
-
-public:
-	std::string name;
-
-
-	HeroPtr();
-	HeroPtr(const CGHeroInstance * H);
-	~HeroPtr();
-
-	operator bool() const
-	{
-		return validAndSet();
-	}
-
-	bool operator<(const HeroPtr & rhs) const;
-	const CGHeroInstance * operator->() const;
-	const CGHeroInstance * operator*() const; //not that consistent with -> but all interfaces use CGHeroInstance*, so it's convenient
-	bool operator==(const HeroPtr & rhs) const;
-	bool operator!=(const HeroPtr & rhs) const
-	{
-		return !(*this == rhs);
-	}
-
-	const CGHeroInstance * get(bool doWeExpectNull = false) const;
-	bool validAndSet() const;
-
-
-	template<typename Handler> void serialize(Handler & h, const int version)
-	{
-		h & this->h;
-		h & hid;
-		h & name;
-	}
-};
-
-enum BattleState
-{
-	NO_BATTLE,
-	UPCOMING_BATTLE,
-	ONGOING_BATTLE,
-	ENDING_BATTLE
-};
-
-// AI lives in a dangerous world. CGObjectInstances under pointer may got deleted/hidden.
-// This class stores object id, so we can detect when we lose access to the underlying object.
-struct ObjectIdRef
-{
-	ObjectInstanceID id;
-
-	const CGObjectInstance * operator->() const;
-	operator const CGObjectInstance *() const;
-	operator bool() const;
-
-	ObjectIdRef(ObjectInstanceID _id);
-	ObjectIdRef(const CGObjectInstance * obj);
-
-	bool operator<(const ObjectIdRef & rhs) const;
-
-
-	template<typename Handler> void serialize(Handler & h, const int version)
-	{
-		h & id;
-	}
-};
-
-struct TimeCheck
-{
-	CStopWatch time;
-	std::string txt;
-	TimeCheck(crstring TXT)
-		: txt(TXT)
-	{
-	}
-
-	~TimeCheck()
-	{
-		logAi->trace("Time of %s was %d ms.", txt, time.getDiff());
-	}
-};
-
-//TODO: replace with vstd::
-struct AtScopeExit
-{
-	std::function<void()> foo;
-	AtScopeExit(const std::function<void()> & FOO)
-		: foo(FOO)
-	{}
-	~AtScopeExit()
-	{
-		foo();
-	}
-};
-
-
-class ObjsVector : public std::vector<ObjectIdRef>
-{
-};
-
-template<int id>
-bool objWithID(const CGObjectInstance * obj)
-{
-	return obj->ID == id;
-}
-
-struct creInfo
-{
-	int count;
-	CreatureID creID;
-	CCreature * cre;
-	int level;
-};
-creInfo infoFromDC(const dwellingContent & dc);
-
-void foreach_tile_pos(std::function<void(const int3 & pos)> foo);
-void foreach_tile_pos(CCallback * cbp, std::function<void(CCallback * cbp, const int3 & pos)> foo); // avoid costly retrieval of thread-specific pointer
-void foreach_neighbour(const int3 & pos, std::function<void(const int3 & pos)> foo);
-void foreach_neighbour(CCallback * cbp, const int3 & pos, std::function<void(CCallback * cbp, const int3 & pos)> foo); // avoid costly retrieval of thread-specific pointer
-
-bool canBeEmbarkmentPoint(const TerrainTile * t, bool fromWater);
-bool isBlockedBorderGate(int3 tileToHit);
-bool isBlockVisitObj(const int3 & pos);
-
-bool isWeeklyRevisitable(const CGObjectInstance * obj);
-bool shouldVisit(HeroPtr h, const CGObjectInstance * obj);
-
-bool isObjectRemovable(const CGObjectInstance * obj); //FIXME FIXME: move logic to object property!
-bool isSafeToVisit(HeroPtr h, uint64_t dangerStrength);
-bool isSafeToVisit(HeroPtr h, crint3 tile);
-
-bool compareHeroStrength(HeroPtr h1, HeroPtr h2);
-bool compareArmyStrength(const CArmedInstance * a1, const CArmedInstance * a2);
-bool compareArtifacts(const CArtifactInstance * a1, const CArtifactInstance * a2);
-
-class CDistanceSorter
-{
-	const CGHeroInstance * hero;
-
-public:
-	CDistanceSorter(const CGHeroInstance * hero)
-		: hero(hero)
-	{
-	}
-	bool operator()(const CGObjectInstance * lhs, const CGObjectInstance * rhs) const;
-};
+/*
+ * AIUtility.h, part of VCMI engine
+ *
+ * Authors: listed in file AUTHORS in main folder
+ *
+ * License: GNU General Public License v2.0 or later
+ * Full text of license available in license.txt file, in main folder
+ *
+ */
+#pragma once
+
+#include "../../lib/VCMI_Lib.h"
+#include "../../lib/CBuildingHandler.h"
+#include "../../lib/CCreatureHandler.h"
+#include "../../lib/CTownHandler.h"
+#include "../../lib/spells/CSpellHandler.h"
+#include "../../lib/CStopWatch.h"
+#include "../../lib/mapObjects/CObjectHandler.h"
+#include "../../lib/mapObjects/CGHeroInstance.h"
+#include "../../lib/CPathfinder.h"
+
+class CCallback;
+struct creInfo;
+
+typedef const int3 & crint3;
+typedef const std::string & crstring;
+typedef std::pair<ui32, std::vector<CreatureID>> dwellingContent;
+
+const int GOLD_MINE_PRODUCTION = 1000, WOOD_ORE_MINE_PRODUCTION = 2, RESOURCE_MINE_PRODUCTION = 1;
+const int ACTUAL_RESOURCE_COUNT = 7;
+const int ALLOWED_ROAMING_HEROES = 8;
+
+//implementation-dependent
+extern const double SAFE_ATTACK_CONSTANT;
+extern const int GOLD_RESERVE;
+
+//provisional class for AI to store a reference to an owned hero object
+//checks if it's valid on access, should be used in place of const CGHeroInstance*
+
+struct DLL_EXPORT HeroPtr
+{
+	const CGHeroInstance * h;
+	ObjectInstanceID hid;
+
+public:
+	std::string name;
+
+
+	HeroPtr();
+	HeroPtr(const CGHeroInstance * H);
+	~HeroPtr();
+
+	operator bool() const
+	{
+		return validAndSet();
+	}
+
+	bool operator<(const HeroPtr & rhs) const;
+	const CGHeroInstance * operator->() const;
+	const CGHeroInstance * operator*() const; //not that consistent with -> but all interfaces use CGHeroInstance*, so it's convenient
+	bool operator==(const HeroPtr & rhs) const;
+	bool operator!=(const HeroPtr & rhs) const
+	{
+		return !(*this == rhs);
+	}
+
+	const CGHeroInstance * get(bool doWeExpectNull = false) const;
+	bool validAndSet() const;
+
+
+	template<typename Handler> void serialize(Handler & h, const int version)
+	{
+		h & this->h;
+		h & hid;
+		h & name;
+	}
+};
+
+enum BattleState
+{
+	NO_BATTLE,
+	UPCOMING_BATTLE,
+	ONGOING_BATTLE,
+	ENDING_BATTLE
+};
+
+// AI lives in a dangerous world. CGObjectInstances under pointer may got deleted/hidden.
+// This class stores object id, so we can detect when we lose access to the underlying object.
+struct ObjectIdRef
+{
+	ObjectInstanceID id;
+
+	const CGObjectInstance * operator->() const;
+	operator const CGObjectInstance *() const;
+	operator bool() const;
+
+	ObjectIdRef(ObjectInstanceID _id);
+	ObjectIdRef(const CGObjectInstance * obj);
+
+	bool operator<(const ObjectIdRef & rhs) const;
+
+
+	template<typename Handler> void serialize(Handler & h, const int version)
+	{
+		h & id;
+	}
+};
+
+struct TimeCheck
+{
+	CStopWatch time;
+	std::string txt;
+	TimeCheck(crstring TXT)
+		: txt(TXT)
+	{
+	}
+
+	~TimeCheck()
+	{
+		logAi->trace("Time of %s was %d ms.", txt, time.getDiff());
+	}
+};
+
+//TODO: replace with vstd::
+struct AtScopeExit
+{
+	std::function<void()> foo;
+	AtScopeExit(const std::function<void()> & FOO)
+		: foo(FOO)
+	{}
+	~AtScopeExit()
+	{
+		foo();
+	}
+};
+
+
+class ObjsVector : public std::vector<ObjectIdRef>
+{
+};
+
+template<int id>
+bool objWithID(const CGObjectInstance * obj)
+{
+	return obj->ID == id;
+}
+
+struct creInfo
+{
+	int count;
+	CreatureID creID;
+	CCreature * cre;
+	int level;
+};
+creInfo infoFromDC(const dwellingContent & dc);
+
+void foreach_tile_pos(std::function<void(const int3 & pos)> foo);
+void foreach_tile_pos(CCallback * cbp, std::function<void(CCallback * cbp, const int3 & pos)> foo); // avoid costly retrieval of thread-specific pointer
+void foreach_neighbour(const int3 & pos, std::function<void(const int3 & pos)> foo);
+void foreach_neighbour(CCallback * cbp, const int3 & pos, std::function<void(CCallback * cbp, const int3 & pos)> foo); // avoid costly retrieval of thread-specific pointer
+
+bool canBeEmbarkmentPoint(const TerrainTile * t, bool fromWater);
+bool isBlockedBorderGate(int3 tileToHit);
+bool isBlockVisitObj(const int3 & pos);
+
+bool isWeeklyRevisitable(const CGObjectInstance * obj);
+bool shouldVisit(HeroPtr h, const CGObjectInstance * obj);
+
+bool isObjectRemovable(const CGObjectInstance * obj); //FIXME FIXME: move logic to object property!
+bool isSafeToVisit(HeroPtr h, uint64_t dangerStrength);
+bool isSafeToVisit(HeroPtr h, crint3 tile);
+
+bool compareHeroStrength(HeroPtr h1, HeroPtr h2);
+bool compareArmyStrength(const CArmedInstance * a1, const CArmedInstance * a2);
+bool compareArtifacts(const CArtifactInstance * a1, const CArtifactInstance * a2);
+
+class CDistanceSorter
+{
+	const CGHeroInstance * hero;
+
+public:
+	CDistanceSorter(const CGHeroInstance * hero)
+		: hero(hero)
+	{
+	}
+	bool operator()(const CGObjectInstance * lhs, const CGObjectInstance * rhs) const;
+};

+ 1 - 1
AI/VCAI/StdInc.cpp

@@ -1 +1 @@
-#include "StdInc.h"
+#include "StdInc.h"

+ 2 - 2
AI/VCAI/StdInc.h

@@ -1,2 +1,2 @@
-#pragma  once
-#include "../../Global.h"
+#pragma  once
+#include "../../Global.h"

+ 32 - 32
AI/VCAI/main.cpp

@@ -1,32 +1,32 @@
-/*
- * main.cpp, part of VCMI engine
- *
- * Authors: listed in file AUTHORS in main folder
- *
- * License: GNU General Public License v2.0 or later
- * Full text of license available in license.txt file, in main folder
- *
- */
-#include "StdInc.h"
-#include "VCAI.h"
-
-#ifdef __GNUC__
-#define strcpy_s(a, b, c) strncpy(a, c, b)
-#endif
-
-static const char * g_cszAiName = "VCAI";
-
-extern "C" DLL_EXPORT int GetGlobalAiVersion()
-{
-	return AI_INTERFACE_VER;
-}
-
-extern "C" DLL_EXPORT void GetAiName(char * name)
-{
-	strcpy_s(name, strlen(g_cszAiName) + 1, g_cszAiName);
-}
-
-extern "C" DLL_EXPORT void GetNewAI(std::shared_ptr<CGlobalAI> & out)
-{
-	out = std::make_shared<VCAI>();
-}
+/*
+ * main.cpp, part of VCMI engine
+ *
+ * Authors: listed in file AUTHORS in main folder
+ *
+ * License: GNU General Public License v2.0 or later
+ * Full text of license available in license.txt file, in main folder
+ *
+ */
+#include "StdInc.h"
+#include "VCAI.h"
+
+#ifdef __GNUC__
+#define strcpy_s(a, b, c) strncpy(a, c, b)
+#endif
+
+static const char * g_cszAiName = "VCAI";
+
+extern "C" DLL_EXPORT int GetGlobalAiVersion()
+{
+	return AI_INTERFACE_VER;
+}
+
+extern "C" DLL_EXPORT void GetAiName(char * name)
+{
+	strcpy_s(name, strlen(g_cszAiName) + 1, g_cszAiName);
+}
+
+extern "C" DLL_EXPORT void GetNewAI(std::shared_ptr<CGlobalAI> & out)
+{
+	out = std::make_shared<VCAI>();
+}