瀏覽代碼

Fix hero/boat speed on adventure map

Dydzio 6 年之前
父節點
當前提交
8df015b3ad
共有 1 個文件被更改,包括 9 次插入1 次删除
  1. 9 1
      client/mapHandler.cpp

+ 9 - 1
client/mapHandler.cpp

@@ -770,7 +770,15 @@ void CMapHandler::CMapBlitter::drawObjects(SDL_Surface * targetSurf, const Terra
 		if (!canDrawObject(obj))
 			continue;
 
-		auto objData = findObjectBitmap(obj, info->anim);
+		uint8_t animationFrame = info->anim;
+		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;
+		}
+		auto objData = findObjectBitmap(obj, animationFrame);
 		if (objData.objBitmap)
 		{
 			Rect srcRect(object.rect.x, object.rect.y, tileSize, tileSize);