summaryrefslogtreecommitdiff
path: root/GameBuildings.cpp
diff options
context:
space:
mode:
authorPetr Mrázek2012-02-19 10:59:36 +0100
committerPetr Mrázek2012-02-19 10:59:36 +0100
commit37ad6067867c1cbc421a9f37f7a85366dbd262ba (patch)
tree0eff05739525953e8b54f4ea7eb401a45e74da8f /GameBuildings.cpp
parent263aaab4af4821f416f08870caa575394668d784 (diff)
downloadstonesense-37ad6067867c1cbc421a9f37f7a85366dbd262ba.tar.gz
stonesense-37ad6067867c1cbc421a9f37f7a85366dbd262ba.tar.bz2
stonesense-37ad6067867c1cbc421a9f37f7a85366dbd262ba.tar.xz
Trim more fat.
Diffstat (limited to 'GameBuildings.cpp')
-rw-r--r--GameBuildings.cpp49
1 files changed, 18 insertions, 31 deletions
diff --git a/GameBuildings.cpp b/GameBuildings.cpp
index c7654de..c088fd5 100644
--- a/GameBuildings.cpp
+++ b/GameBuildings.cpp
@@ -142,43 +142,30 @@ void MergeBuildingsToSegment(vector<Buildings::t_building>* buildings, WorldSegm
}
-void loadBuildingSprites ( Block* b){
+void loadBuildingSprites ( Block* b)
+{
bool foundBlockBuildingInfo = false;
if (b == NULL)
{
WriteErr("Null Block skipped in loadBuildingSprites\n");
return;
}
- if(b->building.custom_building_type == -1)
- {
- uint32_t numBuildings = (uint32_t)contentLoader->buildingConfigs.size();
- for(uint32_t i = 0; i < numBuildings; i++){
- BuildingConfiguration& conf = contentLoader->buildingConfigs[i];
- if(b->building.info.type != conf.gameID) continue;
-
- //check all sprites for one that matches all conditions
- if (conf.sprites != NULL && conf.sprites->BlockMatches(b))
- {
- foundBlockBuildingInfo = true;
- }
- break;
- }
- }
- else
- {
- uint32_t numCustBuildings = (uint32_t)contentLoader->customBuildingConfigs.size();
- for(uint32_t i = 0; i < numCustBuildings; i++){
- BuildingConfiguration& cust = contentLoader->customBuildingConfigs[i];
- if(b->building.custom_building_type != cust.gameID) continue;
-
- //check all sprites for one that matches all conditions
- if (cust.sprites != NULL && cust.sprites->BlockMatches(b))
- {
- foundBlockBuildingInfo = true;
- }
- break;
- }
- }
+ uint32_t numBuildings = (uint32_t)contentLoader->buildingConfigs.size();
+ for(uint32_t i = 0; i < numBuildings; i++)
+ {
+ BuildingConfiguration& conf = contentLoader->buildingConfigs[i];
+ if(b->building.info.type != conf.game_type ||
+ b->building.info.subtype != conf.game_subtype ||
+ b->building.info.custom_type != conf.game_custom
+ ) continue;
+
+ //check all sprites for one that matches all conditions
+ 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){