mirror of
				https://github.com/vcmi/vcmi.git
				synced 2025-10-31 00:07:39 +02:00 
			
		
		
		
	- fixes for gcc-4.7
- added missing virtual destructors (new warning from gcc)
This commit is contained in:
		| @@ -16,6 +16,10 @@ | ||||
| #include "FuzzyLite.h" | ||||
| #include <limits> | ||||
|  | ||||
| #ifndef _MSC_VER | ||||
| #include <unistd.h> | ||||
| #endif | ||||
|  | ||||
| #include "FunctionTerm.h" | ||||
| namespace fl { | ||||
|  | ||||
|   | ||||
| @@ -824,7 +824,7 @@ void VCAI::showGarrisonDialog(const CArmedInstance *up, const CGHeroInstance *do | ||||
| 	status.addQuery(); | ||||
|  | ||||
| 	//you can't request action from action-response thread | ||||
| 	requestActionASAP([=,this]() | ||||
| 	requestActionASAP([=]() | ||||
| 	{ | ||||
| 		pickBestCreatures (down, up); | ||||
| 		onEnd(); | ||||
| @@ -2837,4 +2837,4 @@ void SectorMap::makeParentBFS(crint3 source) | ||||
| unsigned char & SectorMap::retreiveTile(crint3 pos) | ||||
| { | ||||
| 	return retreiveTileN(sector, pos); | ||||
| } | ||||
| } | ||||
							
								
								
									
										2
									
								
								Global.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Global.h
									
									
									
									
									
								
							| @@ -141,7 +141,7 @@ class bmap : public std::map<KeyT, ValT> | ||||
| public: | ||||
| 	const ValT & operator[](KeyT key) const | ||||
| 	{ | ||||
| 		return find(key)->second; | ||||
| 		return this->find(key)->second; | ||||
| 	} | ||||
| 	ValT & operator[](KeyT key) | ||||
| 	{ | ||||
|   | ||||
| @@ -28,6 +28,7 @@ public: | ||||
| 	virtual bool init()=0; //to be called - if returned false, call again until returns true | ||||
| 	virtual void nextFrame()=0; //call every new frame | ||||
| 	virtual void endAnim(); //to be called mostly internally; in this class it removes animation from pendingAnims list | ||||
| 	virtual ~CBattleAnimation(){}; | ||||
|  | ||||
| 	bool isEarliest(bool perStackConcurrency); //determines if this animation is earliest of all | ||||
|  | ||||
| @@ -83,6 +84,7 @@ public: | ||||
| 	void endAnim(); | ||||
|  | ||||
| 	CDefenceAnimation(StackAttackedInfo _attackedInfo, CBattleInterface * _owner); | ||||
| 	virtual ~CDefenceAnimation(){}; | ||||
| }; | ||||
|  | ||||
| class CDummyAnimation : public CBattleAnimation | ||||
| @@ -96,6 +98,7 @@ public: | ||||
| 	void endAnim(); | ||||
|  | ||||
| 	CDummyAnimation(CBattleInterface * _owner, int howManyFrames); | ||||
| 	virtual ~CDummyAnimation(){} | ||||
| }; | ||||
|  | ||||
| /// Hand-to-hand attack | ||||
| @@ -107,6 +110,7 @@ public: | ||||
| 	void endAnim(); | ||||
|  | ||||
| 	CMeleeAttackAnimation(CBattleInterface * _owner, const CStack * attacker, BattleHex _dest, const CStack * _attacked); | ||||
| 	virtual ~CMeleeAttackAnimation(){}; | ||||
| }; | ||||
|  | ||||
| /// Move animation of a creature | ||||
| @@ -127,6 +131,7 @@ public: | ||||
| 	void endAnim(); | ||||
|  | ||||
| 	CMovementAnimation(CBattleInterface *_owner, const CStack *_stack, std::vector<BattleHex> _destTiles, int _distance); | ||||
| 	virtual ~CMovementAnimation(){}; | ||||
| }; | ||||
|  | ||||
| /// Move end animation of a creature | ||||
| @@ -140,6 +145,7 @@ public: | ||||
| 	void endAnim(); | ||||
|  | ||||
| 	CMovementEndAnimation(CBattleInterface * _owner, const CStack * _stack, BattleHex destTile); | ||||
| 	virtual ~CMovementEndAnimation(){}; | ||||
| }; | ||||
|  | ||||
| /// Move start animation of a creature | ||||
| @@ -151,6 +157,7 @@ public: | ||||
| 	void endAnim(); | ||||
|  | ||||
| 	CMovementStartAnimation(CBattleInterface * _owner, const CStack * _stack); | ||||
| 	virtual ~CMovementStartAnimation(){}; | ||||
| }; | ||||
|  | ||||
| /// Class responsible for animation of stack chaning direction (left <-> right) | ||||
| @@ -169,6 +176,7 @@ public: | ||||
| 	void endAnim(); | ||||
|  | ||||
| 	CReverseAnimation(CBattleInterface * _owner, const CStack * stack, BattleHex dest, bool _priority); | ||||
| 	virtual ~CReverseAnimation(){}; | ||||
| }; | ||||
|  | ||||
| /// Small struct which contains information about the position and the velocity of a projectile | ||||
| @@ -200,6 +208,7 @@ public: | ||||
| 	//last two params only for catapult attacks | ||||
| 	CShootingAnimation(CBattleInterface * _owner, const CStack * attacker, BattleHex _dest,  | ||||
| 		const CStack * _attacked, bool _catapult = false, int _catapultDmg = 0);  | ||||
| 	virtual ~CShootingAnimation(){}; | ||||
| }; | ||||
|  | ||||
| /// This class manages a spell effect animation | ||||
| @@ -218,4 +227,5 @@ public: | ||||
|  | ||||
| 	CSpellEffectAnimation(CBattleInterface * _owner, ui32 _effect, BattleHex _destTile, int _dx = 0, int _dy = 0, bool _Vflip = false); | ||||
| 	CSpellEffectAnimation(CBattleInterface * _owner, std::string _customAnim, int _x, int _y, int _dx = 0, int _dy = 0, bool _Vflip = false); | ||||
| }; | ||||
| 	virtual ~CSpellEffectAnimation(){}; | ||||
| }; | ||||
|   | ||||
| @@ -2018,7 +2018,7 @@ void CBattleInterface::showAliveStack(const CStack *stack, SDL_Surface * to) | ||||
| 	if(creAnims.find(ID) == creAnims.end()) //eg. for summoned but not yet handled stacks | ||||
| 		return; | ||||
| 	const CCreature *creature = stack->getCreature(); | ||||
| 	SDL_Rect unitRect = {creAnims[ID]->pos.x, creAnims[ID]->pos.y, int16_t(creAnims[ID]->fullWidth), int16_t(creAnims[ID]->fullHeight)}; | ||||
| 	SDL_Rect unitRect = {creAnims[ID]->pos.x, creAnims[ID]->pos.y, uint16_t(creAnims[ID]->fullWidth), uint16_t(creAnims[ID]->fullHeight)}; | ||||
|  | ||||
| 	int animType = creAnims[ID]->getType(); | ||||
|  | ||||
| @@ -2672,10 +2672,10 @@ void CBattleInterface::handleHex(BattleHex myNumber, int eventType) | ||||
| 		else | ||||
| 		{ | ||||
| 			//needed for genie, otherwise covered by battleCan*CastThisSpell | ||||
| 			if(!shere | ||||
| 				|| !shere->alive() | ||||
| 				|| spellSelMode == HOSTILE_CREATURE && shere->owner == sactive->owner | ||||
| 				|| spellSelMode == FRIENDLY_CREATURE && shere->owner != sactive->owner) | ||||
| 			if( !shere | ||||
| 			 || !shere->alive() | ||||
| 			 || (spellSelMode == HOSTILE_CREATURE && shere->owner == sactive->owner) | ||||
| 			 || (spellSelMode == FRIENDLY_CREATURE && shere->owner != sactive->owner)) | ||||
| 			{ | ||||
| 				isCastingPossible = false; | ||||
| 			} | ||||
| @@ -3033,6 +3033,7 @@ BattleHex CBattleInterface::fromWhichHexAttack(BattleHex myNumber) | ||||
| 			break; | ||||
| 		} | ||||
| 	} | ||||
| 	return -1; | ||||
| } | ||||
| std::string CBattleInterface::SiegeHelper::townTypeInfixes[GameConstants::F_NUMBER] = {"CS", "RM", "TW", "IN", "NC", "DN", "ST", "FR", "EL"}; | ||||
|  | ||||
|   | ||||
| @@ -56,8 +56,8 @@ class CBattleObstacle | ||||
| struct StackAttackedInfo | ||||
| { | ||||
| 	const CStack * defender; //attacked stack | ||||
| 	int dmg; //damage dealt | ||||
| 	int amountKilled; //how many creatures in stack has been killed | ||||
| 	unsigned int dmg; //damage dealt | ||||
| 	unsigned int amountKilled; //how many creatures in stack has been killed | ||||
| 	const CStack * attacker; //attacking stack | ||||
| 	bool byShooting; //if true, stack has been attacked by shooting | ||||
| 	bool killed; //if true, stack has been killed | ||||
|   | ||||
| @@ -513,8 +513,8 @@ void CCastleBuildings::checkRules() | ||||
| 	 | ||||
| 	static const AnimRule animRule[2] =  | ||||
| 	{ | ||||
| 		{5, 21, 4, 10, -1, 0,  10}, //Mana Vortex, Dungeon | ||||
| 		{0,  6, 8,  1, -1, 0,  1}   //Shipyard, Castle | ||||
| 		{5, 21, 4, 10, size_t(-1), 0,  10}, //Mana Vortex, Dungeon | ||||
| 		{0,  6, 8,  1, size_t(-1), 0,  1}   //Shipyard, Castle | ||||
| 	}; | ||||
| 	 | ||||
| 	for (size_t i=0; i<2; i++) | ||||
|   | ||||
| @@ -101,6 +101,8 @@ public: | ||||
|  | ||||
| 	//TODO: replace with something better | ||||
| 	virtual bool prepareMessage(std::string &text, CComponent **comp)=0; | ||||
|  | ||||
| 	virtual ~IInfoBoxData(){}; | ||||
| }; | ||||
|  | ||||
| class InfoBoxAbstractHeroData : public IInfoBoxData | ||||
|   | ||||
| @@ -751,7 +751,7 @@ void CComponent::init(Etype Type, int Subtype, int Val) | ||||
| 	if(!img) | ||||
| 	{ | ||||
| 		free = false; | ||||
| 		if(type == Component::BUILDING) | ||||
| 		if(type == CComponent::building) | ||||
| 			setSurface(graphics->buildingPics[subtype],val); | ||||
| 	} | ||||
| 	SDL_Surface * temp = this->getImg(); | ||||
|   | ||||
| @@ -84,6 +84,7 @@ static CApplier<CBaseForGSApply> *applierGs = NULL; | ||||
| class IObjectCaller | ||||
| { | ||||
| public: | ||||
| 	virtual ~IObjectCaller(){}; | ||||
| 	virtual void preInit()=0; | ||||
| 	virtual void postInit()=0; | ||||
| }; | ||||
|   | ||||
| @@ -407,7 +407,7 @@ public: | ||||
| 	bool isVisible(const CGObjectInstance *obj, int player); | ||||
|  | ||||
| 	CGameState(); //c-tor | ||||
| 	~CGameState(); //d-tor | ||||
| 	virtual ~CGameState(); //d-tor | ||||
| 	void getNeighbours(const TerrainTile &srct, int3 tile, std::vector<int3> &vec, const boost::logic::tribool &onLand, bool limitCoastSailing); | ||||
| 	int getMovementCost(const CGHeroInstance *h, const int3 &src, const int3 &dest, int remainingMovePoints=-1, bool checkLast=true); | ||||
| 	int getDate(int mode=0) const; //mode=0 - total days in game, mode=1 - day of week, mode=2 - current week, mode=3 - current month | ||||
|   | ||||
| @@ -316,7 +316,7 @@ class CBasicPointerSaver | ||||
| { | ||||
| public: | ||||
| 	virtual void savePtr(CSaverBase &ar, const void *data) const =0; | ||||
| 	~CBasicPointerSaver(){} | ||||
| 	virtual ~CBasicPointerSaver(){} | ||||
| }; | ||||
|  | ||||
| template <typename Serializer, typename T> class CPointerSaver : public CBasicPointerSaver | ||||
| @@ -910,7 +910,7 @@ public: | ||||
| 	bool isOpen() const; | ||||
|     template<class T> | ||||
|     CConnection &operator&(const T&); | ||||
| 	~CConnection(void); | ||||
| 	virtual ~CConnection(void); | ||||
|  | ||||
| 	CPack *retreivePack(); //gets from server next pack (allocates it with new) | ||||
| 	void sendPackToServer(const CPack &pack, ui8 player, ui32 requestID); | ||||
|   | ||||
| @@ -47,7 +47,7 @@ namespace vstd | ||||
| 		explicit unlock_guard(Mutex& m_): | ||||
| 		m(&m_) | ||||
| 		{ | ||||
| 			unlock(*m); | ||||
| 			this->unlock(*m); | ||||
| 		} | ||||
|  | ||||
| 		unlock_guard() | ||||
| @@ -69,7 +69,7 @@ namespace vstd | ||||
| 		~unlock_guard() | ||||
| 		{ | ||||
| 			if(m) | ||||
| 				lock(*m); | ||||
| 				this->lock(*m); | ||||
| 		} | ||||
| 	}; | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user