mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-11 13:10:45 +00:00
(svn r23407) -Codechange: Keep a bitmap of all cargos accepted by towns.
This commit is contained in:
parent
0e5f334315
commit
de0bf0663a
@ -99,6 +99,7 @@ void UpdateHousesAndTowns()
|
||||
UpdateTownRadius(town);
|
||||
UpdateTownCargos(town);
|
||||
}
|
||||
UpdateTownCargoBitmap();
|
||||
}
|
||||
|
||||
/** Save and load of towns. */
|
||||
|
@ -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 */
|
||||
|
@ -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()
|
||||
|
Loading…
Reference in New Issue
Block a user