summaryrefslogtreecommitdiff
path: root/BuildingConfiguration.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 /BuildingConfiguration.cpp
parent9828abec3b916081d37cf2844295af9e063e0a0e (diff)
downloadstonesense-f69ea527451158fc42254586891ca74a95bac63a.tar.gz
stonesense-f69ea527451158fc42254586891ca74a95bac63a.tar.bz2
stonesense-f69ea527451158fc42254586891ca74a95bac63a.tar.xz
Building names translated at config load
Diffstat (limited to 'BuildingConfiguration.cpp')
-rw-r--r--BuildingConfiguration.cpp28
1 files changed, 23 insertions, 5 deletions
diff --git a/BuildingConfiguration.cpp b/BuildingConfiguration.cpp
index 5b299c3..7a3665a 100644
--- a/BuildingConfiguration.cpp
+++ b/BuildingConfiguration.cpp
@@ -5,19 +5,19 @@
bool BuildingNamesTranslatedFromGame = false;
-BuildingConfiguration::BuildingConfiguration(string name, char* IDstring)
+BuildingConfiguration::BuildingConfiguration(string name, int gameID)
{
this->name = name;
- this->gameID = -1;
+ this->gameID = gameID;
this->width = this->height = 1;
this->canBeFloating = false;
this->canBeAnySize = false;
this->sprites = NULL;
- int len = (int) strlen(IDstring);
+ /*int len = (int) strlen(IDstring);
if(len > 100) len = 100;
memcpy(this->gameIDstr, IDstring, len);
- this->gameIDstr[len] = 0;
+ this->gameIDstr[len] = 0;*/
}
BuildingConfiguration::~BuildingConfiguration(void)
@@ -35,7 +35,7 @@ void DumpBuildingNamesToDisk(){
fclose(fp);
}
-void TranslateBuildingNames( vector<BuildingConfiguration>& configs, vector<string>& buildingNames ){
+/*void TranslateBuildingNames( vector<BuildingConfiguration>& configs, vector<string>& buildingNames ){
//for each config, find it's integer ID
for(uint32_t i=0; i < configs.size(); i++){
@@ -55,4 +55,22 @@ void TranslateBuildingNames( vector<BuildingConfiguration>& configs, vector<stri
}
BuildingNamesTranslatedFromGame = true;
+}*/
+
+int TranslateBuildingName( const char* currentName, vector<string>& buildingNames )
+{
+ if (currentName == NULL || currentName[0]==0)
+ return INVALID_INDEX;
+
+ uint32_t j;
+ uint32_t num = (uint32_t)buildingNames.size();
+ for(j=0; j < num; j++){
+ if( strcmp( currentName, buildingNames[j].c_str()) == 0){
+ //assign ID
+ return (j);
+ }
+ }
+
+ WriteErr("Unable to match building '%s' to anything in-game\n", currentName);
+ return INVALID_INDEX;
}