summaryrefslogtreecommitdiff
path: root/SpriteColors.cpp
diff options
context:
space:
mode:
authorPetr Mrázek2012-02-27 17:44:09 +0100
committerPetr Mrázek2012-02-27 17:44:09 +0100
commitca35c82579d1e3e0ce227ccdaeb71c2a6dbf1cb9 (patch)
tree04052da84dee32c944dc3d8e9a4167102cc2b8e9 /SpriteColors.cpp
parent09476326db2b0613e6120fa83146e004b6d92dda (diff)
downloadstonesense-ca35c82579d1e3e0ce227ccdaeb71c2a6dbf1cb9.tar.gz
stonesense-ca35c82579d1e3e0ce227ccdaeb71c2a6dbf1cb9.tar.bz2
stonesense-ca35c82579d1e3e0ce227ccdaeb71c2a6dbf1cb9.tar.xz
Get rid of a bunch of things. Simpler map segment update mechanism.
Diffstat (limited to 'SpriteColors.cpp')
-rw-r--r--SpriteColors.cpp114
1 files changed, 0 insertions, 114 deletions
diff --git a/SpriteColors.cpp b/SpriteColors.cpp
index 2c08737..c465934 100644
--- a/SpriteColors.cpp
+++ b/SpriteColors.cpp
@@ -8,120 +8,6 @@
#include "WorldSegment.h"
#include "ContentLoader.h"
-ALLEGRO_COLOR getSpriteColor(t_SpriteWithOffset &sprite, t_matglossPair material, t_matglossPair layerMaterial, t_matglossPair veinMaterial)
-{
- int matFore = lookupMaterialFore(material.type, material.index);
- int matBright = lookupMaterialBright(material.type, material.index);
- int matBack = lookupMaterialBack(material.type, material.index);
- int layerFore = lookupMaterialFore(material.type, layerMaterial.index);
- int layerBright = lookupMaterialBright(material.type, layerMaterial.index);
- int layerBack = lookupMaterialBack(material.type, layerMaterial.index);
- int veinFore = lookupMaterialFore(material.type, veinMaterial.index);
- int veinBright = lookupMaterialBright(material.type, veinMaterial.index);
- int veinBack = lookupMaterialBack(material.type, veinMaterial.index);
- switch(sprite.shadeBy)
- {
- case ShadeNone:
- return al_map_rgb(255, 255, 255);
- case ShadeXml:
- return sprite.shadeColor;
- case ShadeMat:
- return lookupMaterialColor(material.type, material.index);
- case ShadeLayer:
- return lookupMaterialColor(layerMaterial.type, layerMaterial.index);
- case ShadeVein:
- return lookupMaterialColor(veinMaterial.type, veinMaterial.index);
- case ShadeMatFore:
- return getDfColor(matFore, matBright);
- case ShadeMatBack:
- return getDfColor(matBack);
- case ShadeLayerFore:
- return getDfColor(layerFore, layerBright);
- case ShadeLayerBack:
- return getDfColor(layerBack);
- case ShadeVeinFore:
- return getDfColor(veinFore, veinBright);
- case ShadeVeinBack:
- return getDfColor(veinBack);
- default:
- return al_map_rgb(255, 255, 255);
- } ;
-}
-
-ALLEGRO_COLOR getSpriteColor(t_subSprite &sprite, t_matglossPair material, t_matglossPair layerMaterial, t_matglossPair veinMaterial)
-{
- t_SpriteWithOffset tempSprite;
-
- tempSprite.sheetIndex = sprite.sheetIndex;
- tempSprite.fileIndex = sprite.fileIndex;
- tempSprite.shadeColor = sprite.shadeColor;
- tempSprite.shadeBy = sprite.shadeBy;
- strcpy(tempSprite.bodyPart, sprite.bodyPart);
-
- return getSpriteColor(tempSprite, material, layerMaterial, veinMaterial);
-}
-
-ALLEGRO_COLOR getSpriteColor(t_SpriteWithOffset &sprite, t_unit* creature)
-{
- uint32_t dayofLife = creature->birth_year*12*28 + creature->birth_time/1200;
- Block* b = viewedSegment->getBlock(creature->x, creature->y, creature->z);
- ALLEGRO_COLOR output;
- if(sprite.shadeBy == ShadeBodyPart)
- {
- if((!config.skipCreatureTypes) && (!config.skipCreatureTypesEx) && (!config.skipDescriptorColors))
- {
- for(unsigned int j = 0; j<b->creature->nbcolors ; j++)
- {
- t_creaturecaste & caste = contentLoader->Mats->raceEx[creature->race].castes[creature->caste];
- std::vector<t_colormodifier> & colormods =caste.ColorModifier;
- if(colormods[j].part == sprite.bodyPart)
- {
- uint32_t cr_color = colormods[j].colorlist[creature->color[j]];
- if(cr_color < contentLoader->Mats->color.size())
- {
- if(colormods[j].startdate > 0)
- {
- if((colormods[j].startdate <= dayofLife) && (colormods[j].enddate > dayofLife))
- {
- output = al_map_rgb_f(
- contentLoader->Mats->color[cr_color].red,
- contentLoader->Mats->color[cr_color].green,
- contentLoader->Mats->color[cr_color].blue);
- return output;
- }
- }
- else
- output = al_map_rgb_f(
- contentLoader->Mats->color[cr_color].red,
- contentLoader->Mats->color[cr_color].green,
- contentLoader->Mats->color[cr_color].blue);
- }
- }
- }
- return output;
- }
- else return al_map_rgb(255,255,255);
- }
- else if(sprite.shadeBy == ShadeJob)
- {
- return getDfColor(getJobColor(creature->profession));
- }
-
- return getSpriteColor(sprite, b->material, b->layerMaterial, b->veinMaterial);
-}
-
-ALLEGRO_COLOR getSpriteColor(t_subSprite &sprite, t_unit* creature)
-{
- t_SpriteWithOffset tempSprite;
-
- tempSprite.sheetIndex = sprite.sheetIndex;
- tempSprite.fileIndex = sprite.fileIndex;
- tempSprite.shadeColor = sprite.shadeColor;
- tempSprite.shadeBy = sprite.shadeBy;
- strcpy(tempSprite.bodyPart, sprite.bodyPart);
-
- return getSpriteColor(tempSprite, creature);
-}
ALLEGRO_COLOR getDfColor(int color)
{
switch (color)