summaryrefslogtreecommitdiff
path: root/VegetationConfiguration.cpp
diff options
context:
space:
mode:
authorKris Parker2009-12-01 12:16:58 +0000
committerKris Parker2009-12-01 12:16:58 +0000
commit71c8356fd64f5523b90dc716480912b54dc252b9 (patch)
tree6e14dbabb5ada446f58a8bef6ca096cd86f2b292 /VegetationConfiguration.cpp
parentf6b71ce9f8d691d93132f239c9543fc242e6e379 (diff)
downloadstonesense-71c8356fd64f5523b90dc716480912b54dc252b9.tar.gz
stonesense-71c8356fd64f5523b90dc716480912b54dc252b9.tar.bz2
stonesense-71c8356fd64f5523b90dc716480912b54dc252b9.tar.xz
Unconfigured vegetation loading system
Diffstat (limited to 'VegetationConfiguration.cpp')
-rw-r--r--VegetationConfiguration.cpp21
1 files changed, 19 insertions, 2 deletions
diff --git a/VegetationConfiguration.cpp b/VegetationConfiguration.cpp
index 7a9ffca..f47edbe 100644
--- a/VegetationConfiguration.cpp
+++ b/VegetationConfiguration.cpp
@@ -8,12 +8,13 @@
#include "dfhack/library/tinyxml/tinyxml.h"
-VegetationConfiguration::VegetationConfiguration(int gameID, t_SpriteWithOffset &sprite, bool live)
+VegetationConfiguration::VegetationConfiguration(int gameID, t_SpriteWithOffset &sprite, bool live, bool grown)
{
memset(this, 0, sizeof(VegetationConfiguration) );
this->sprite = sprite;
this->gameID = gameID;
this->live = live;
+ this->grown = grown;
}
VegetationConfiguration::~VegetationConfiguration(void)
@@ -57,6 +58,8 @@ bool addSingleVegetationConfig( TiXmlElement* elemRoot, vector<VegetationConfig
int gameID = TranslatePlantName(elemTree->Attribute("gameID"),plantNames);
const char* deadstr = elemTree->Attribute("dead");
bool dead = (deadstr && deadstr[0]);
+ const char* saplingstr = elemTree->Attribute("sapling");
+ bool sapling = (saplingstr && saplingstr[0]);
/* No animated trees.
But we may repurpose it later to make a xyz variance?
sprite.animFrames = getAnimFrames(elemProfession->Attribute("frames"));
@@ -65,7 +68,7 @@ bool addSingleVegetationConfig( TiXmlElement* elemRoot, vector<VegetationConfig
//create profession config
sprite.sheetIndex=atoi(sheetIndexStr);
- VegetationConfiguration vegetationConfiguration(gameID, sprite, !dead);
+ VegetationConfiguration vegetationConfiguration(gameID, sprite, !dead, !sapling);
//add a copy to known creatures
vegetationConfigs->push_back( vegetationConfiguration );
elemTree = elemTree->NextSiblingElement("plant");
@@ -94,4 +97,18 @@ bool addSingleVegetationConfig( TiXmlElement* elemRoot, vector<VegetationConfig
return true;
}*/
+t_SpriteWithOffset getVegetationSprite(vector<VegetationConfiguration>& vegetationConfigs,int index,bool live,bool grown)
+{
+ int vcmax = vegetationConfigs.size();
+ for (int i=0;i<vcmax;i++)
+ {
+ VegetationConfiguration* current = &(vegetationConfigs[i]);
+ if (current->gameID != index) continue;
+ if (current->live != live) continue;
+ if (current->grown != grown) continue;
+ return current->sprite;
+ }
+ t_SpriteWithOffset sprite = {-1,0,0,-1,ALL_FRAMES};
+ return sprite;
+}