1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-12-01 23:12:49 +02:00

big button

This commit is contained in:
Laserlicht
2025-09-18 15:32:05 +02:00
parent b7cd2b92ab
commit da1deef563
3 changed files with 28 additions and 1 deletions

View File

@@ -58,6 +58,8 @@ void AssetGenerator::initialize()
imageFiles[ImagePath::builtin("CampaignHc" + std::to_string(i) + "Image.png")] = [this, i](){ return createChroniclesCampaignImages(i);};
animationFiles[AnimationPath::builtin("SPRITES/adventureLayersButton")] = createAdventureMapButton(ImagePath::builtin("adventureLayers.png"));
animationFiles[AnimationPath::builtin("SPRITES/GSPButtonClear")] = createGSPButtonClear();
createPaletteShiftedSprites();
}
@@ -535,3 +537,27 @@ AssetGenerator::AnimationLayoutMap AssetGenerator::createAdventureMapButton(cons
return layout;
}
AssetGenerator::AnimationLayoutMap AssetGenerator::createGSPButtonClear()
{
auto baseImg = ENGINE->renderHandler().loadAnimation(AnimationPath::builtin("GSPBUTT"), EImageBlitMode::OPAQUE);
auto overlayImg = ENGINE->renderHandler().loadAnimation(AnimationPath::builtin("GSPBUT2"), EImageBlitMode::OPAQUE);
AnimationLayoutMap layout;
for(int i = 0; i < 4; i++)
{
ImagePath spriteName = ImagePath::builtin("GSPButtonClear" + std::to_string(i) + ".png");
imageFiles[spriteName] = [baseImg, overlayImg, i](){
auto newImg = ENGINE->renderHandler().createImage(baseImg->getImage(i)->dimensions(), CanvasScalingPolicy::IGNORE);
auto canvas = newImg->getCanvas();
canvas.draw(baseImg->getImage(i), Point(0, 0));
canvas.draw(overlayImg->getImage(i), Point(0, 0), Rect(0, 0, 20, 20));
return newImg;
};
layout[0].push_back(ImageLocator(spriteName, EImageBlitMode::SIMPLE));
}
return layout;
}