summaryrefslogtreecommitdiff
path: root/GameBuildings.cpp
diff options
context:
space:
mode:
authorKris Parker2009-11-13 22:26:17 +0000
committerKris Parker2009-11-13 22:26:17 +0000
commit1cb48474b399549ca64dca40ab2ad20a80d3db30 (patch)
tree74f3a8754eba20def409d7687997eab510d1709c /GameBuildings.cpp
parenta71d4adc7da44c0d5fa70eaba700afea6bb4f89d (diff)
downloadstonesense-1cb48474b399549ca64dca40ab2ad20a80d3db30.tar.gz
stonesense-1cb48474b399549ca64dca40ab2ad20a80d3db30.tar.bz2
stonesense-1cb48474b399549ca64dca40ab2ad20a80d3db30.tar.xz
First pass at merging new building config
Diffstat (limited to 'GameBuildings.cpp')
-rw-r--r--GameBuildings.cpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/GameBuildings.cpp b/GameBuildings.cpp
index 94f2312..be65f76 100644
--- a/GameBuildings.cpp
+++ b/GameBuildings.cpp
@@ -131,27 +131,27 @@ void MergeBuildingsToSegment(vector<t_building>* buildings, WorldSegment* segmen
void loadBuildingSprites ( Block* b){
- uint32_t i,j;
bool foundBlockBuildingInfo = false;
+ if (b == NULL)
+ {
+ WriteErr("Null Block skipped in loadBuildingSprites\n");
+ return;
+ }
uint32_t numBuildings = (uint32_t)buildingTypes.size();
- for(i = 0; i < numBuildings; i++){
+ for(uint32_t i = 0; i < numBuildings; i++){
BuildingConfiguration& conf = buildingTypes[i];
if(b->building.info.type != conf.gameID) continue;
//check all sprites for one that matches all conditions
- uint32_t numSprites = (uint32_t)conf.sprites.size();
- for(j = 0; j < numSprites; j++){
- if(conf.sprites[j].BlockMatches(b)){
- b->building.sprites = conf.sprites[j].sprites;
- foundBlockBuildingInfo = true;
- break;
- }
+ if (conf.sprites != NULL && conf.sprites->BlockMatches(b))
+ {
+ foundBlockBuildingInfo = true;
}
break;
}
//add yellow box, if needed. But only if the building was not found (this way we can have blank slots in buildings)
if(b->building.sprites.size() == 0 && foundBlockBuildingInfo == false){
- t_SpriteWithOffset unknownBuildingSprite = {SPRITEOBJECT_NA, 0, 0};
+ t_SpriteWithOffset unknownBuildingSprite = {SPRITEOBJECT_NA, 0, 0,-1};
b->building.sprites.push_back( unknownBuildingSprite );
}
}
@@ -174,4 +174,4 @@ bool BlockHasSuspendedBuilding(vector<t_building>* buildingList, Block* b){
return true;
}
return false;
-} \ No newline at end of file
+}