Browse Source

Merge pull request #596 from dydzio0614/HeroSpeedFix2

Re-fix map hero movement speed, was too fast on land
Alexander Shishkin 6 years ago
parent
commit
4acec00aea
2 changed files with 9 additions and 7 deletions
  1. 4 6
      client/mapHandler.cpp
  2. 5 1
      client/windows/CAdvmapInterface.cpp

+ 4 - 6
client/mapHandler.cpp

@@ -770,14 +770,12 @@ void CMapHandler::CMapBlitter::drawObjects(SDL_Surface * targetSurf, const Terra
 		if (!canDrawObject(obj))
 			continue;
 
-		uint8_t animationFrame = info->anim;
+		uint8_t animationFrame;
 		if(obj->ID == Obj::HERO) //non-generic animation frame pick for hero and boat
-		{
 			animationFrame = info->heroAnim;
-			const CGHeroInstance * hero = dynamic_cast<const CGHeroInstance *>(obj);
-			if(hero->boat)
-				animationFrame /= 2;
-		}
+		else
+			animationFrame = info->anim;
+
 		auto objData = findObjectBitmap(obj, animationFrame);
 		if (objData.objBitmap)
 		{

+ 5 - 1
client/windows/CAdvmapInterface.cpp

@@ -1029,6 +1029,11 @@ void CAdvMapInt::show(SDL_Surface * to)
 		return;
 
 	++animValHitCount; //for animations
+
+	if(animValHitCount % 2 == 0)
+	{
+		++heroAnim;
+	}
 	if(animValHitCount == 8)
 	{
 		CGI->mh->updateWater();
@@ -1036,7 +1041,6 @@ void CAdvMapInt::show(SDL_Surface * to)
 		++anim;
 		updateScreen = true;
 	}
-	++heroAnim;
 
 	if(swipeEnabled)
 	{