diff options
| author | Petr Mrázek | 2012-02-19 10:59:36 +0100 |
|---|---|---|
| committer | Petr Mrázek | 2012-02-19 10:59:36 +0100 |
| commit | 37ad6067867c1cbc421a9f37f7a85366dbd262ba (patch) | |
| tree | 0eff05739525953e8b54f4ea7eb401a45e74da8f /GameBuildings.cpp | |
| parent | 263aaab4af4821f416f08870caa575394668d784 (diff) | |
| download | stonesense-37ad6067867c1cbc421a9f37f7a85366dbd262ba.tar.gz stonesense-37ad6067867c1cbc421a9f37f7a85366dbd262ba.tar.bz2 stonesense-37ad6067867c1cbc421a9f37f7a85366dbd262ba.tar.xz | |
Trim more fat.
Diffstat (limited to 'GameBuildings.cpp')
| -rw-r--r-- | GameBuildings.cpp | 49 |
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){
|
