Debug: Add auto-refresh functionality to the debug window
This commit is contained in:
@@ -3659,6 +3659,8 @@ STR_NEWGRF_PARAMETERS_NUM_PARAM :{LTBLUE}Number
|
|||||||
STR_NEWGRF_INSPECT_CAPTION :{WHITE}Inspect - {STRING5}
|
STR_NEWGRF_INSPECT_CAPTION :{WHITE}Inspect - {STRING5}
|
||||||
STR_NEWGRF_INSPECT_PARENT_BUTTON :{BLACK}Parent
|
STR_NEWGRF_INSPECT_PARENT_BUTTON :{BLACK}Parent
|
||||||
STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Inspect the object of the parent scope
|
STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Inspect the object of the parent scope
|
||||||
|
STR_NEWGRF_INSPECT_REFRESH :{BLACK}R
|
||||||
|
STR_NEWGRF_INSPECT_REFRESH_TOOLTIP :{BLACK}Toggle whether to refresh the contents every frame
|
||||||
|
|
||||||
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT :{STRING1} at {HEX}
|
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT :{STRING1} at {HEX}
|
||||||
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Object
|
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Object
|
||||||
|
@@ -298,6 +298,8 @@ struct NewGRFInspectWindow : Window {
|
|||||||
|
|
||||||
int first_variable_line_index = 0;
|
int first_variable_line_index = 0;
|
||||||
|
|
||||||
|
bool auto_refresh = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check whether the given variable has a parameter.
|
* Check whether the given variable has a parameter.
|
||||||
* @param variable the variable to check.
|
* @param variable the variable to check.
|
||||||
@@ -628,6 +630,13 @@ struct NewGRFInspectWindow : Window {
|
|||||||
this->current_edit_param = niv->var;
|
this->current_edit_param = niv->var;
|
||||||
ShowQueryString(STR_EMPTY, STR_NEWGRF_INSPECT_QUERY_CAPTION, 9, this, CS_HEXADECIMAL, QSF_NONE);
|
ShowQueryString(STR_EMPTY, STR_NEWGRF_INSPECT_QUERY_CAPTION, 9, this, CS_HEXADECIMAL, QSF_NONE);
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case WID_NGRFI_REFRESH: {
|
||||||
|
this->auto_refresh = !this->auto_refresh;
|
||||||
|
this->SetWidgetLoweredState(WID_NGRFI_REFRESH, this->auto_refresh);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -660,6 +669,11 @@ struct NewGRFInspectWindow : Window {
|
|||||||
this->SetWidgetDisabledState(WID_NGRFI_VEH_NEXT, v == nullptr || v->Next() == nullptr);
|
this->SetWidgetDisabledState(WID_NGRFI_VEH_NEXT, v == nullptr || v->Next() == nullptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OnRealtimeTick(uint delta_ms) override
|
||||||
|
{
|
||||||
|
if (this->auto_refresh) this->SetDirty();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/* static */ uint32 NewGRFInspectWindow::var60params[GSF_FAKE_END][0x20] = { {0} }; // Use spec to have 0s in whole array
|
/* static */ uint32 NewGRFInspectWindow::var60params[GSF_FAKE_END][0x20] = { {0} }; // Use spec to have 0s in whole array
|
||||||
@@ -668,6 +682,7 @@ static const NWidgetPart _nested_newgrf_inspect_chain_widgets[] = {
|
|||||||
NWidget(NWID_HORIZONTAL),
|
NWidget(NWID_HORIZONTAL),
|
||||||
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
||||||
NWidget(WWT_CAPTION, COLOUR_GREY, WID_NGRFI_CAPTION), SetDataTip(STR_NEWGRF_INSPECT_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
NWidget(WWT_CAPTION, COLOUR_GREY, WID_NGRFI_CAPTION), SetDataTip(STR_NEWGRF_INSPECT_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||||
|
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_NGRFI_REFRESH), SetDataTip(STR_NEWGRF_INSPECT_REFRESH, STR_NEWGRF_INSPECT_REFRESH_TOOLTIP),
|
||||||
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
||||||
NWidget(WWT_DEFSIZEBOX, COLOUR_GREY),
|
NWidget(WWT_DEFSIZEBOX, COLOUR_GREY),
|
||||||
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
||||||
@@ -693,6 +708,7 @@ static const NWidgetPart _nested_newgrf_inspect_widgets[] = {
|
|||||||
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
||||||
NWidget(WWT_CAPTION, COLOUR_GREY, WID_NGRFI_CAPTION), SetDataTip(STR_NEWGRF_INSPECT_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
NWidget(WWT_CAPTION, COLOUR_GREY, WID_NGRFI_CAPTION), SetDataTip(STR_NEWGRF_INSPECT_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_NGRFI_PARENT), SetDataTip(STR_NEWGRF_INSPECT_PARENT_BUTTON, STR_NEWGRF_INSPECT_PARENT_TOOLTIP),
|
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_NGRFI_PARENT), SetDataTip(STR_NEWGRF_INSPECT_PARENT_BUTTON, STR_NEWGRF_INSPECT_PARENT_TOOLTIP),
|
||||||
|
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_NGRFI_REFRESH), SetDataTip(STR_NEWGRF_INSPECT_REFRESH, STR_NEWGRF_INSPECT_REFRESH_TOOLTIP),
|
||||||
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
||||||
NWidget(WWT_DEFSIZEBOX, COLOUR_GREY),
|
NWidget(WWT_DEFSIZEBOX, COLOUR_GREY),
|
||||||
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
||||||
|
@@ -19,6 +19,7 @@ enum NewGRFInspectWidgets {
|
|||||||
WID_NGRFI_VEH_CHAIN, ///< Display for vehicle chain.
|
WID_NGRFI_VEH_CHAIN, ///< Display for vehicle chain.
|
||||||
WID_NGRFI_MAINPANEL, ///< Panel widget containing the actual data.
|
WID_NGRFI_MAINPANEL, ///< Panel widget containing the actual data.
|
||||||
WID_NGRFI_SCROLLBAR, ///< Scrollbar.
|
WID_NGRFI_SCROLLBAR, ///< Scrollbar.
|
||||||
|
WID_NGRFI_REFRESH, ///< Refresh toggle.
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Widgets of the #SpriteAlignerWindow class. */
|
/** Widgets of the #SpriteAlignerWindow class. */
|
||||||
|
Reference in New Issue
Block a user