mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-23 22:37:55 +02:00
Handle flag color overlay and creature selection overlay separately
Fixes handling of Iron Golem animation from HotA
This commit is contained in:
@@ -230,6 +230,7 @@ std::shared_ptr<ISharedImage> RenderHandler::loadImageFromFileUncached(const Ima
|
||||
if (generated)
|
||||
return generated;
|
||||
|
||||
logGlobal->error("Failed to load image %s", locator.image->getOriginalName());
|
||||
return std::make_shared<SDLImageShared>(ImagePath::builtin("DEFAULT"));
|
||||
}
|
||||
|
||||
@@ -292,9 +293,9 @@ std::shared_ptr<SDLImageShared> RenderHandler::loadScaledImage(const ImageLocato
|
||||
|
||||
std::string imagePathString = pathToLoad.getName();
|
||||
|
||||
if(locator.layer == EImageBlitMode::ONLY_OVERLAY)
|
||||
if(locator.layer == EImageBlitMode::ONLY_FLAG_COLOR || locator.layer == EImageBlitMode::ONLY_SELECTION)
|
||||
imagePathString += "-OVERLAY";
|
||||
if(locator.layer == EImageBlitMode::ONLY_SHADOW)
|
||||
if(locator.layer == EImageBlitMode::ONLY_SHADOW_HIDE_SELECTION || locator.layer == EImageBlitMode::ONLY_SHADOW_HIDE_FLAG_COLOR)
|
||||
imagePathString += "-SHADOW";
|
||||
if(locator.playerColored.isValidPlayer())
|
||||
imagePathString += "-" + boost::to_upper_copy(GameConstants::PLAYER_COLOR_NAMES[locator.playerColored.getNum()]);
|
||||
@@ -347,7 +348,10 @@ std::shared_ptr<IImage> RenderHandler::loadImage(const AnimationPath & path, int
|
||||
if (!locator.empty())
|
||||
return loadImage(locator);
|
||||
else
|
||||
{
|
||||
logGlobal->error("Failed to load non-existing image");
|
||||
return loadImage(ImageLocator(ImagePath::builtin("DEFAULT"), mode));
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<IImage> RenderHandler::loadImage(const ImagePath & path, EImageBlitMode mode)
|
||||
|
||||
Reference in New Issue
Block a user