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);
|
UpdateTownRadius(town);
|
||||||
UpdateTownCargos(town);
|
UpdateTownCargos(town);
|
||||||
}
|
}
|
||||||
|
UpdateTownCargoBitmap();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Save and load of towns. */
|
/** Save and load of towns. */
|
||||||
|
@ -185,6 +185,7 @@ void UpdateTownMaxPass(Town *t);
|
|||||||
void UpdateTownRadius(Town *t);
|
void UpdateTownRadius(Town *t);
|
||||||
void UpdateTownCargos(Town *t);
|
void UpdateTownCargos(Town *t);
|
||||||
void UpdateTownCargoTotal(Town *t);
|
void UpdateTownCargoTotal(Town *t);
|
||||||
|
void UpdateTownCargoBitmap();
|
||||||
CommandCost CheckIfAuthorityAllowsNewStation(TileIndex tile, DoCommandFlag flags);
|
CommandCost CheckIfAuthorityAllowsNewStation(TileIndex tile, DoCommandFlag flags);
|
||||||
Town *ClosestTownFromTile(TileIndex tile, uint threshold);
|
Town *ClosestTownFromTile(TileIndex tile, uint threshold);
|
||||||
void ChangeTownRating(Town *t, int add, int max, DoCommandFlag flags);
|
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...
|
obj->town_cn = (uint16)next; // set index...
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern uint32 _town_cargos_accepted;
|
||||||
|
|
||||||
#endif /* TOWN_H */
|
#endif /* TOWN_H */
|
||||||
|
@ -52,6 +52,7 @@
|
|||||||
#include "table/town_land.h"
|
#include "table/town_land.h"
|
||||||
|
|
||||||
TownID _new_town_id;
|
TownID _new_town_id;
|
||||||
|
uint32 _town_cargos_accepted; ///< Bitmap of all cargos accepted by houses.
|
||||||
|
|
||||||
/* Initialize the town-pool */
|
/* Initialize the town-pool */
|
||||||
TownPool _town_pool("Town");
|
TownPool _town_pool("Town");
|
||||||
@ -742,6 +743,17 @@ void UpdateTownCargos(Town *t)
|
|||||||
UpdateTownCargoTotal(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 bool GrowTown(Town *t);
|
||||||
|
|
||||||
static void TownTickHandler(Town *t)
|
static void TownTickHandler(Town *t)
|
||||||
@ -3143,6 +3155,8 @@ void TownsMonthlyLoop()
|
|||||||
UpdateTownUnwanted(t);
|
UpdateTownUnwanted(t);
|
||||||
UpdateTownCargos(t);
|
UpdateTownCargos(t);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UpdateTownCargoBitmap();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TownsYearlyLoop()
|
void TownsYearlyLoop()
|
||||||
|
Loading…
Reference in New Issue
Block a user