Add several NewGRF variables to vehicle image callback whitelist

Add vehicle flags to control cached image invalidation

Various refactorings
This commit is contained in:
Jonathan G Rennison
2020-08-25 01:26:44 +01:00
parent c82d372d54
commit 810bfd276e
45 changed files with 325 additions and 161 deletions

View File

@@ -30,7 +30,7 @@ struct CanalScopeResolver : public ScopeResolver {
}
uint32 GetRandomBits() const override;
uint32 GetVariable(byte variable, uint32 parameter, bool *available) const override;
uint32 GetVariable(byte variable, uint32 parameter, GetVariableExtra *extra) const override;
};
/** Resolver object for canals. */
@@ -61,7 +61,7 @@ struct CanalResolverObject : public ResolverObject {
return IsTileType(this->tile, MP_WATER) ? GetWaterTileRandomBits(this->tile) : 0;
}
/* virtual */ uint32 CanalScopeResolver::GetVariable(byte variable, uint32 parameter, bool *available) const
/* virtual */ uint32 CanalScopeResolver::GetVariable(byte variable, uint32 parameter, GetVariableExtra *extra) const
{
switch (variable) {
/* Height of tile */
@@ -104,7 +104,7 @@ struct CanalResolverObject : public ResolverObject {
DEBUG(grf, 1, "Unhandled canal variable 0x%02X", variable);
*available = false;
extra->available = false;
return UINT_MAX;
}