1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-01-02 00:10:22 +02:00

- fixed some bugs with artifacts icons

This commit is contained in:
Ivan Savenko 2013-05-31 11:46:19 +00:00
parent 3fbcf86dec
commit 1c0ccd2b02
3 changed files with 15 additions and 9 deletions

View File

@ -1,10 +1,10 @@
{
"art144":
"art144": // placeholder for selection image
{
"index" : 144,
"type" : ["HERO"]
},
"art145":
"art145": // placeholder for lock image
{
"index" : 145,
"type" : ["HERO"]

View File

@ -157,15 +157,21 @@ SDL_Surface * BitmapHandler::loadBitmapFromDir(std::string path, std::string fna
// When modifyin anything here please check two use cases:
// 1) Vampire mansion in Necropolis (not 1st color is transparent)
// 2) Battle background when fighting on grass/dirt, topmost sky part (NO transparent color)
// 3) New objects that may use 24-bit images for icons (e.g. witchking arts)
auto colorID = SDL_MapRGB(ret->format, 0, 255, 255);
if (ret->format->palette)
{
auto colorID = SDL_MapRGB(ret->format, 0, 255, 255);
auto & color = ret->format->palette->colors[colorID];
// set color key only if exactly such color was found
if (color.r == 0 && color.g == 255 && color.b == 255)
SDL_SetColorKey(ret, SDL_SRCCOLORKEY, colorID);
}
else // always set
{
SDL_SetColorKey(ret, SDL_SRCCOLORKEY, colorID);
}
return ret;
}

View File

@ -199,10 +199,10 @@ void CArtHandler::loadObject(std::string scope, std::string name, const JsonNode
{
auto object = loadFromJson(data);
object->id = ArtifactID(artifacts.size());
if (object->id < ArtifactID::ART_SELECTION)
//if (object->id < ArtifactID::ART_SELECTION)
object->iconIndex = object->id;
else
object->iconIndex = object->id + 2;
//else
// object->iconIndex = object->id + 2;
artifacts.push_back(object);
@ -213,10 +213,10 @@ void CArtHandler::loadObject(std::string scope, std::string name, const JsonNode
{
auto object = loadFromJson(data);
object->id = ArtifactID(index);
if (object->id < ArtifactID::ART_SELECTION)
//if (object->id < ArtifactID::ART_SELECTION)
object->iconIndex = object->id;
else
object->iconIndex = object->id + 2;
//else
// object->iconIndex = object->id + 2;
assert(artifacts[index] == nullptr); // ensure that this id was not loaded before
artifacts[index] = object;