Add several NewGRF variables to vehicle image callback whitelist
Add vehicle flags to control cached image invalidation Various refactorings
This commit is contained in:
@@ -167,7 +167,7 @@ public:
|
||||
* @param avail Return whether the variable is available.
|
||||
* @return The resolved variable's value.
|
||||
*/
|
||||
virtual uint Resolve(uint index, uint var, uint param, bool *avail) const = 0;
|
||||
virtual uint Resolve(uint index, uint var, uint param, GetVariableExtra *extra) const = 0;
|
||||
|
||||
/**
|
||||
* Used to decide if the PSA needs a parameter or not.
|
||||
@@ -492,11 +492,11 @@ struct NewGRFInspectWindow : Window {
|
||||
if (nif->variables != nullptr) {
|
||||
this->DrawString(r, i++, "Variables:");
|
||||
for (const NIVariable *niv = nif->variables; niv->name != nullptr; niv++) {
|
||||
bool avail = true;
|
||||
GetVariableExtra extra;
|
||||
uint param = HasVariableParameter(niv->var) ? NewGRFInspectWindow::var60params[GetFeatureNum(this->window_number)][niv->var - 0x60] : 0;
|
||||
uint value = nih->Resolve(index, niv->var, param, &avail);
|
||||
uint value = nih->Resolve(index, niv->var, param, &extra);
|
||||
|
||||
if (!avail) continue;
|
||||
if (!extra.available) continue;
|
||||
|
||||
if (HasVariableParameter(niv->var)) {
|
||||
this->DrawString(r, i++, " %02x[%02x]: %08x (%s)", niv->var, param, value, niv->name);
|
||||
|
Reference in New Issue
Block a user