Slightly improve funding highlight update
This commit is contained in:
@@ -94,6 +94,10 @@ This is usable for any OpenTTD servers
|
|||||||
- Fix town HR couter.
|
- Fix town HR couter.
|
||||||
- Allow spectators to open industry funding window from the menu.
|
- Allow spectators to open industry funding window from the menu.
|
||||||
- Fix graphical glitches after switching to location with hotkey.
|
- Fix graphical glitches after switching to location with hotkey.
|
||||||
|
- Make new tint highlights work with 32bpp sprites.
|
||||||
|
- Show preview when building a rail depot.
|
||||||
|
- Fix: sprite preview in sprite aligner is too small with scaled UI.
|
||||||
|
- Slightly improve funding highlight update.
|
||||||
|
|
||||||
*** 1.10.2 (5 Jun 2020) ***
|
*** 1.10.2 (5 Jun 2020) ***
|
||||||
- Add new minimap mode showing industries, height and farms at the same time.
|
- Add new minimap mode showing industries, height and farms at the same time.
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ extern bool IsInsideSelectedRectangle(int x, int y);
|
|||||||
extern RailType _cur_railtype;
|
extern RailType _cur_railtype;
|
||||||
RoadBits FindRailsToConnect(TileIndex tile);
|
RoadBits FindRailsToConnect(TileIndex tile);
|
||||||
extern DiagDirection _build_depot_direction; ///< Currently selected depot direction
|
extern DiagDirection _build_depot_direction; ///< Currently selected depot direction
|
||||||
|
extern uint32 _realtime_tick;
|
||||||
|
|
||||||
|
|
||||||
namespace citymania {
|
namespace citymania {
|
||||||
@@ -46,7 +47,8 @@ struct TileZoning {
|
|||||||
uint8 town_zone : 3;
|
uint8 town_zone : 3;
|
||||||
uint8 industry_fund_result : 2;
|
uint8 industry_fund_result : 2;
|
||||||
uint8 advertisement_zone : 2;
|
uint8 advertisement_zone : 2;
|
||||||
IndustryType industry_fund_type;
|
// IndustryType industry_fund_type;
|
||||||
|
uint8 industry_fund_update;
|
||||||
};
|
};
|
||||||
|
|
||||||
static TileZoning *_mz = nullptr;
|
static TileZoning *_mz = nullptr;
|
||||||
@@ -243,9 +245,12 @@ std::pair<ZoningBorder, uint8> CalcTileBorders(TileIndex tile, F getter) {
|
|||||||
|
|
||||||
|
|
||||||
bool CanBuildIndustryOnTileCached(IndustryType type, TileIndex tile) {
|
bool CanBuildIndustryOnTileCached(IndustryType type, TileIndex tile) {
|
||||||
if (_mz[tile].industry_fund_type != type || !_mz[tile].industry_fund_result) {
|
// if (_mz[tile].industry_fund_type != type || !_mz[tile].industry_fund_result) {
|
||||||
|
uint8 tick_hash = (_realtime_tick & 255);
|
||||||
|
if (_mz[tile].industry_fund_update != tick_hash || !_mz[tile].industry_fund_result) {
|
||||||
bool res = CanBuildIndustryOnTile(type, tile);
|
bool res = CanBuildIndustryOnTile(type, tile);
|
||||||
_mz[tile].industry_fund_type = type;
|
// _mz[tile].industry_fund_type = type;
|
||||||
|
_mz[tile].industry_fund_update = tick_hash;
|
||||||
_mz[tile].industry_fund_result = res ? 2 : 1;
|
_mz[tile].industry_fund_result = res ? 2 : 1;
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user