summaryrefslogtreecommitdiff
path: root/BuildingConfiguration.cpp
diff options
context:
space:
mode:
authorJonas Ask2009-10-24 13:06:23 +0000
committerJonas Ask2009-10-24 13:06:23 +0000
commitbcc3757c422be47d0889bbab87767c6417d311d3 (patch)
tree15f835789acc32cb4966435d11c90094b3eb30e2 /BuildingConfiguration.cpp
parentfd079cc1f027971e629596ea856c1553ad5960f4 (diff)
downloadstonesense-bcc3757c422be47d0889bbab87767c6417d311d3.tar.gz
stonesense-bcc3757c422be47d0889bbab87767c6417d311d3.tar.bz2
stonesense-bcc3757c422be47d0889bbab87767c6417d311d3.tar.xz
Changed buildings configs to use strings as IDs, this makes things more readable and less breakish
Diffstat (limited to 'BuildingConfiguration.cpp')
-rw-r--r--BuildingConfiguration.cpp35
1 files changed, 33 insertions, 2 deletions
diff --git a/BuildingConfiguration.cpp b/BuildingConfiguration.cpp
index b7a5034..367ba95 100644
--- a/BuildingConfiguration.cpp
+++ b/BuildingConfiguration.cpp
@@ -1,15 +1,46 @@
#include "SpriteMaps.h"
#include "BuildingConfiguration.h"
+#include "GameBuildings.h"
-BuildingConfiguration::BuildingConfiguration(string name, int ID)
+bool BuildingNamesTranslatedFromGame = false;
+
+BuildingConfiguration::BuildingConfiguration(string name, char* IDstring)
{
+ memset(this, 0, sizeof(BuildingConfiguration));
+
this->name = name;
- this->gameID = ID;
+ this->gameID = -1;
this->width = this->height = 1;
this->canBeFloating = false;
this->canBeAnySize = false;
+
+ int len = (int) strlen(IDstring);
+ if(len > 100) len = 100;
+ memcpy(this->gameIDstr, IDstring, len);
}
BuildingConfiguration::~BuildingConfiguration(void)
{
}
+
+
+
+void TranslateBuildingNames(){
+ //for each config, find it's integer ID
+ for(uint32_t i=0; i < buildingTypes.size(); i++){
+ char* ptr = buildingTypes[i].gameIDstr;
+ uint32_t j;
+ for(j=0; j < v_buildingtypes.size(); j++){
+ if( strcmpi( ptr, v_buildingtypes[j].c_str()) == 0){
+ //assign ID
+ buildingTypes[i].gameID = j;
+ //jump to next buildingType
+ break;
+ }
+ }
+ if(j >= v_buildingtypes.size())
+ WriteErr("Unable to match building '%s' to anything in-game\n", ptr);
+ }
+
+ BuildingNamesTranslatedFromGame = true;
+} \ No newline at end of file