summaryrefslogtreecommitdiff
path: root/ContentBuildingReader.cpp
diff options
context:
space:
mode:
authorKris Parker2009-12-04 01:51:30 +0000
committerKris Parker2009-12-04 01:51:30 +0000
commitf69ea527451158fc42254586891ca74a95bac63a (patch)
tree318b6565293858898a1ffdbdeef29a8d1eeefdd7 /ContentBuildingReader.cpp
parent9828abec3b916081d37cf2844295af9e063e0a0e (diff)
downloadstonesense-f69ea527451158fc42254586891ca74a95bac63a.tar.gz
stonesense-f69ea527451158fc42254586891ca74a95bac63a.tar.bz2
stonesense-f69ea527451158fc42254586891ca74a95bac63a.tar.xz
Building names translated at config load
Diffstat (limited to 'ContentBuildingReader.cpp')
-rw-r--r--ContentBuildingReader.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/ContentBuildingReader.cpp b/ContentBuildingReader.cpp
index 318c621..e0c891e 100644
--- a/ContentBuildingReader.cpp
+++ b/ContentBuildingReader.cpp
@@ -296,14 +296,21 @@ bool addSingleBuildingConfig( TiXmlElement* elemRoot, vector<BuildingConfigurat
const char* strName = elemRoot->Attribute("name");
const char* strGameID = elemRoot->Attribute("gameID");
- if (strName[0] == 0 || strGameID[0] == 0)
+ if (strName == NULL || strGameID == NULL || strName[0] == 0 || strGameID[0] == 0)
{
contentError("<building> node must have name and gameID attributes",elemRoot);
return false;
}
- BuildingConfiguration building(strName, (char*) strGameID );
- RootBlock* spriteroot = new RootBlock(); //leaky?
+ int gameID = TranslateBuildingName(strGameID, contentLoader.buildingNameStrings );
+
+ if (gameID == INVALID_INDEX) {
+ //warning was already given
+ return false;
+ }
+
+ BuildingConfiguration building(strName, gameID );
+ RootBlock* spriteroot = new RootBlock();
building.sprites = spriteroot;
if (!parseSpriteNode(spriteroot,elemRoot))
{
@@ -372,4 +379,4 @@ bool LoadBuildingConfiguration( vector<BuildingConfiguration>* knownBuildings ){
return true;
}
-*/ \ No newline at end of file
+*/