mirror of
https://github.com/vcmi/vcmi.git
synced 2025-06-12 23:57:33 +02:00
allow overlay and shadow also for unscaled images
This commit is contained in:
parent
3f8f6dc721
commit
8cd77fc5fc
@ -327,6 +327,21 @@ std::shared_ptr<ISharedImage> RenderHandler::scaleImage(const ImageLocator & loc
|
|||||||
std::shared_ptr<IImage> RenderHandler::loadImage(const ImageLocator & locator, EImageBlitMode mode)
|
std::shared_ptr<IImage> RenderHandler::loadImage(const ImageLocator & locator, EImageBlitMode mode)
|
||||||
{
|
{
|
||||||
ImageLocator adjustedLocator = locator;
|
ImageLocator adjustedLocator = locator;
|
||||||
|
|
||||||
|
if(adjustedLocator.image)
|
||||||
|
{
|
||||||
|
std::string imgPath = (*adjustedLocator.image).getName();
|
||||||
|
if(adjustedLocator.layer == EImageLayer::OVERLAY)
|
||||||
|
imgPath += "-OVERLAY";
|
||||||
|
if(adjustedLocator.layer == EImageLayer::SHADOW)
|
||||||
|
imgPath += "-SHADOW";
|
||||||
|
|
||||||
|
if(CResourceHandler::get()->existsResource(ImagePath::builtin(imgPath)) ||
|
||||||
|
CResourceHandler::get()->existsResource(ImagePath::builtin(imgPath).addPrefix("DATA/")) ||
|
||||||
|
CResourceHandler::get()->existsResource(ImagePath::builtin(imgPath).addPrefix("SPRITES/")))
|
||||||
|
adjustedLocator.image = ImagePath::builtin(imgPath);
|
||||||
|
}
|
||||||
|
|
||||||
if(adjustedLocator.defFile && adjustedLocator.scalingFactor == 0)
|
if(adjustedLocator.defFile && adjustedLocator.scalingFactor == 0)
|
||||||
{
|
{
|
||||||
auto tmp = getScalePath(*adjustedLocator.defFile);
|
auto tmp = getScalePath(*adjustedLocator.defFile);
|
||||||
@ -360,22 +375,8 @@ std::shared_ptr<IImage> RenderHandler::loadImage(const ImageLocator & locator, E
|
|||||||
return loadImageImpl(scaledLocator)->createImageReference(mode);
|
return loadImageImpl(scaledLocator)->createImageReference(mode);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
|
||||||
if(adjustedLocator.image)
|
|
||||||
{
|
|
||||||
std::string imgPath = (*adjustedLocator.image).getName();
|
|
||||||
if(adjustedLocator.layer == EImageLayer::OVERLAY)
|
|
||||||
imgPath += "-overlay";
|
|
||||||
if(adjustedLocator.layer == EImageLayer::SHADOW)
|
|
||||||
imgPath += "-shadow";
|
|
||||||
|
|
||||||
if(CResourceHandler::get()->existsResource(ImagePath::builtin(imgPath)))
|
|
||||||
adjustedLocator.image = ImagePath::builtin(imgPath);
|
|
||||||
}
|
|
||||||
|
|
||||||
return loadImageImpl(adjustedLocator)->createImageReference(mode);
|
return loadImageImpl(adjustedLocator)->createImageReference(mode);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
std::shared_ptr<IImage> RenderHandler::loadImage(const AnimationPath & path, int frame, int group, EImageBlitMode mode)
|
std::shared_ptr<IImage> RenderHandler::loadImage(const AnimationPath & path, int frame, int group, EImageBlitMode mode)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user