Changeset - r18552:fc7b2cfc2e6b
[Not reviewed]
master
0 3 0
terkhen - 13 years ago 2011-12-03 22:23:10
terkhen@openttd.org
(svn r23407) -Codechange: Keep a bitmap of all cargos accepted by towns.
3 files changed with 18 insertions and 0 deletions:
0 comments (0 inline, 0 general)
src/saveload/town_sl.cpp
Show inline comments
 
@@ -99,6 +99,7 @@ void UpdateHousesAndTowns()
 
		UpdateTownRadius(town);
 
		UpdateTownCargos(town);
 
	}
 
	UpdateTownCargoBitmap();
 
}
 

	
 
/** Save and load of towns. */
src/town.h
Show inline comments
 
@@ -185,6 +185,7 @@ void UpdateTownMaxPass(Town *t);
 
void UpdateTownRadius(Town *t);
 
void UpdateTownCargos(Town *t);
 
void UpdateTownCargoTotal(Town *t);
 
void UpdateTownCargoBitmap();
 
CommandCost CheckIfAuthorityAllowsNewStation(TileIndex tile, DoCommandFlag flags);
 
Town *ClosestTownFromTile(TileIndex tile, uint threshold);
 
void ChangeTownRating(Town *t, int add, int max, DoCommandFlag flags);
 
@@ -284,4 +285,6 @@ void MakeDefaultName(T *obj)
 
	obj->town_cn = (uint16)next; // set index...
 
}
 

	
 
extern uint32 _town_cargos_accepted;
 

	
 
#endif /* TOWN_H */
src/town_cmd.cpp
Show inline comments
 
@@ -52,6 +52,7 @@
 
#include "table/town_land.h"
 

	
 
TownID _new_town_id;
 
uint32 _town_cargos_accepted; ///< Bitmap of all cargos accepted by houses.
 

	
 
/* Initialize the town-pool */
 
TownPool _town_pool("Town");
 
@@ -742,6 +743,17 @@ void UpdateTownCargos(Town *t)
 
	UpdateTownCargoTotal(t);
 
}
 

	
 
/** Updates the bitmap of all cargos accepted by houses. */
 
void UpdateTownCargoBitmap()
 
{
 
	Town *town;
 
	_town_cargos_accepted = 0;
 

	
 
	FOR_ALL_TOWNS(town) {
 
		_town_cargos_accepted |= town->cargo_accepted_total;
 
	}
 
}
 

	
 
static bool GrowTown(Town *t);
 

	
 
static void TownTickHandler(Town *t)
 
@@ -3143,6 +3155,8 @@ void TownsMonthlyLoop()
 
		UpdateTownUnwanted(t);
 
		UpdateTownCargos(t);
 
	}
 

	
 
	UpdateTownCargoBitmap();
 
}
 

	
 
void TownsYearlyLoop()
0 comments (0 inline, 0 general)