summaryrefslogtreecommitdiff
path: root/src/newgrf_gui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/newgrf_gui.cpp')
-rw-r--r--src/newgrf_gui.cpp224
1 files changed, 112 insertions, 112 deletions
diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp
index e2a76319c..aa8764f3c 100644
--- a/src/newgrf_gui.cpp
+++ b/src/newgrf_gui.cpp
@@ -48,11 +48,11 @@ void ShowNewGRFError()
/* Do not show errors when entering the main screen */
if (_game_mode == GM_MENU) return;
- for (const GRFConfig *c = _grfconfig; c != NULL; c = c->next) {
+ for (const GRFConfig *c = _grfconfig; c != nullptr; c = c->next) {
/* We only want to show fatal errors */
- if (c->error == NULL || c->error->severity != STR_NEWGRF_ERROR_MSG_FATAL) continue;
+ if (c->error == nullptr || c->error->severity != STR_NEWGRF_ERROR_MSG_FATAL) continue;
- SetDParam (0, c->error->custom_message == NULL ? c->error->message : STR_JUST_RAW_STRING);
+ SetDParam (0, c->error->custom_message == nullptr ? c->error->message : STR_JUST_RAW_STRING);
SetDParamStr(1, c->error->custom_message);
SetDParamStr(2, c->filename);
SetDParamStr(3, c->error->data);
@@ -66,7 +66,7 @@ void ShowNewGRFError()
static void ShowNewGRFInfo(const GRFConfig *c, uint x, uint y, uint right, uint bottom, bool show_params)
{
- if (c->error != NULL) {
+ if (c->error != nullptr) {
char message[512];
SetDParamStr(0, c->error->custom_message); // is skipped by built-in messages
SetDParamStr(1, c->filename);
@@ -74,14 +74,14 @@ static void ShowNewGRFInfo(const GRFConfig *c, uint x, uint y, uint right, uint
for (uint i = 0; i < lengthof(c->error->param_value); i++) {
SetDParam(3 + i, c->error->param_value[i]);
}
- GetString(message, c->error->custom_message == NULL ? c->error->message : STR_JUST_RAW_STRING, lastof(message));
+ GetString(message, c->error->custom_message == nullptr ? c->error->message : STR_JUST_RAW_STRING, lastof(message));
SetDParamStr(0, message);
y = DrawStringMultiLine(x, right, y, bottom, c->error->severity);
}
/* Draw filename or not if it is not known (GRF sent over internet) */
- if (c->filename != NULL) {
+ if (c->filename != nullptr) {
SetDParamStr(0, c->filename);
y = DrawStringMultiLine(x, right, y, bottom, STR_NEWGRF_SETTINGS_FILENAME);
}
@@ -222,9 +222,9 @@ struct NewGRFParametersWindow : public Window {
Dimension suggestion = {500 - WD_FRAMERECT_LEFT - WD_FRAMERECT_RIGHT, (uint)FONT_HEIGHT_NORMAL * 4 + WD_TEXTPANEL_TOP + WD_TEXTPANEL_BOTTOM};
for (uint i = 0; i < this->grf_config->param_info.size(); i++) {
const GRFParameterInfo *par_info = this->grf_config->param_info[i];
- if (par_info == NULL) continue;
+ if (par_info == nullptr) continue;
const char *desc = GetGRFStringFromGRFText(par_info->desc);
- if (desc == NULL) continue;
+ if (desc == nullptr) continue;
Dimension d = GetStringMultiLineBoundingBox(desc, suggestion);
d.height += WD_TEXTPANEL_TOP + WD_TEXTPANEL_BOTTOM;
suggestion = maxdim(d, suggestion);
@@ -246,10 +246,10 @@ struct NewGRFParametersWindow : public Window {
void DrawWidget(const Rect &r, int widget) const override
{
if (widget == WID_NP_DESCRIPTION) {
- const GRFParameterInfo *par_info = (this->clicked_row < this->grf_config->param_info.size()) ? this->grf_config->param_info[this->clicked_row] : NULL;
- if (par_info == NULL) return;
+ const GRFParameterInfo *par_info = (this->clicked_row < this->grf_config->param_info.size()) ? this->grf_config->param_info[this->clicked_row] : nullptr;
+ if (par_info == nullptr) return;
const char *desc = GetGRFStringFromGRFText(par_info->desc);
- if (desc == NULL) return;
+ if (desc == nullptr) return;
DrawStringMultiLine(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, r.top + WD_TEXTPANEL_TOP, r.bottom - WD_TEXTPANEL_BOTTOM, desc, TC_BLACK);
return;
} else if (widget != WID_NP_BACKGROUND) {
@@ -265,8 +265,8 @@ struct NewGRFParametersWindow : public Window {
int button_y_offset = (this->line_height - SETTING_BUTTON_HEIGHT) / 2;
int text_y_offset = (this->line_height - FONT_HEIGHT_NORMAL) / 2;
for (uint i = this->vscroll->GetPosition(); this->vscroll->IsVisible(i) && i < this->vscroll->GetCount(); i++) {
- GRFParameterInfo *par_info = (i < this->grf_config->param_info.size()) ? this->grf_config->param_info[i] : NULL;
- if (par_info == NULL) par_info = GetDummyParameterInfo(i);
+ GRFParameterInfo *par_info = (i < this->grf_config->param_info.size()) ? this->grf_config->param_info[i] : nullptr;
+ if (par_info == nullptr) par_info = GetDummyParameterInfo(i);
uint32 current_value = par_info->GetValue(this->grf_config);
bool selected = (i == this->clicked_row);
@@ -283,7 +283,7 @@ struct NewGRFParametersWindow : public Window {
SetDParam(3, current_value);
if (par_info->value_names.Contains(current_value)) {
const char *label = GetGRFStringFromGRFText(par_info->value_names.Find(current_value)->second);
- if (label != NULL) {
+ if (label != nullptr) {
SetDParam(2, STR_JUST_RAW_STRING);
SetDParamStr(3, label);
}
@@ -291,7 +291,7 @@ struct NewGRFParametersWindow : public Window {
}
const char *name = GetGRFStringFromGRFText(par_info->name);
- if (name != NULL) {
+ if (name != nullptr) {
SetDParam(0, STR_JUST_RAW_STRING);
SetDParamStr(1, name);
} else {
@@ -350,8 +350,8 @@ struct NewGRFParametersWindow : public Window {
if (_current_text_dir == TD_RTL) x = wid->current_x - 1 - x;
x -= 4;
- GRFParameterInfo *par_info = (num < this->grf_config->param_info.size()) ? this->grf_config->param_info[num] : NULL;
- if (par_info == NULL) par_info = GetDummyParameterInfo(num);
+ GRFParameterInfo *par_info = (num < this->grf_config->param_info.size()) ? this->grf_config->param_info[num] : nullptr;
+ if (par_info == nullptr) par_info = GetDummyParameterInfo(num);
/* One of the arrows is clicked */
uint32 old_val = par_info->GetValue(this->grf_config);
@@ -431,8 +431,8 @@ struct NewGRFParametersWindow : public Window {
{
if (StrEmpty(str)) return;
int32 value = atoi(str);
- GRFParameterInfo *par_info = ((uint)this->clicked_row < this->grf_config->param_info.size()) ? this->grf_config->param_info[this->clicked_row] : NULL;
- if (par_info == NULL) par_info = GetDummyParameterInfo(this->clicked_row);
+ GRFParameterInfo *par_info = ((uint)this->clicked_row < this->grf_config->param_info.size()) ? this->grf_config->param_info[this->clicked_row] : nullptr;
+ if (par_info == nullptr) par_info = GetDummyParameterInfo(this->clicked_row);
uint32 val = Clamp<uint32>(value, par_info->min_value, par_info->max_value);
par_info->SetValue(this->grf_config, val);
this->SetDirty();
@@ -441,8 +441,8 @@ struct NewGRFParametersWindow : public Window {
void OnDropdownSelect(int widget, int index) override
{
assert(this->clicked_dropdown);
- GRFParameterInfo *par_info = ((uint)this->clicked_row < this->grf_config->param_info.size()) ? this->grf_config->param_info[this->clicked_row] : NULL;
- if (par_info == NULL) par_info = GetDummyParameterInfo(this->clicked_row);
+ GRFParameterInfo *par_info = ((uint)this->clicked_row < this->grf_config->param_info.size()) ? this->grf_config->param_info[this->clicked_row] : nullptr;
+ if (par_info == nullptr) par_info = GetDummyParameterInfo(this->clicked_row);
par_info->SetValue(this->grf_config, index);
this->SetDirty();
}
@@ -574,7 +574,7 @@ typedef std::map<uint32, const GRFConfig *> GrfIdMap; ///< Map of grfid to the g
*/
static void FillGrfidMap(const GRFConfig *c, GrfIdMap *grfid_map)
{
- while (c != NULL) {
+ while (c != nullptr) {
std::pair<uint32, const GRFConfig *> p(c->ident.grfid, c);
grfid_map->insert(p);
c = c->next;
@@ -598,7 +598,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
static GUIGRFConfigList::FilterFunction * const filter_funcs[]; ///< Filter functions of the #GUIGRFConfigList.
GUIGRFConfigList avails; ///< Available (non-active) grfs.
- const GRFConfig *avail_sel; ///< Currently selected available grf. \c NULL is none is selected.
+ const GRFConfig *avail_sel; ///< Currently selected available grf. \c nullptr is none is selected.
int avail_pos; ///< Index of #avail_sel if existing, else \c -1.
StringFilter string_filter; ///< Filter for available grf.
QueryString filter_editbox; ///< Filter editbox;
@@ -620,10 +620,10 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
NewGRFWindow(WindowDesc *desc, bool editable, bool show_params, bool execute, GRFConfig **orig_list) : Window(desc), filter_editbox(EDITBOX_MAX_SIZE)
{
- this->avail_sel = NULL;
+ this->avail_sel = nullptr;
this->avail_pos = -1;
- this->active_sel = NULL;
- this->actives = NULL;
+ this->active_sel = nullptr;
+ this->actives = nullptr;
this->orig_list = orig_list;
this->editable = editable;
this->execute = execute;
@@ -684,7 +684,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
GrfIdMap grfid_map;
FillGrfidMap(this->actives, &grfid_map);
- for (const GRFConfig *a = _all_grfs; a != NULL; a = a->next) {
+ for (const GRFConfig *a = _all_grfs; a != nullptr; a = a->next) {
GrfIdMap::const_iterator iter = grfid_map.find(a->ident.grfid);
if (iter != grfid_map.end() && a->version > iter->second->version) return true;
}
@@ -697,7 +697,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
GrfIdMap grfid_map;
FillGrfidMap(this->actives, &grfid_map);
- for (const GRFConfig *a = _all_grfs; a != NULL; a = a->next) {
+ for (const GRFConfig *a = _all_grfs; a != nullptr; a = a->next) {
GrfIdMap::iterator iter = grfid_map.find(a->ident.grfid);
if (iter == grfid_map.end() || iter->second->version >= a->version) continue;
@@ -709,7 +709,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
if (this->active_sel == *c) {
DeleteWindowByClass(WC_GRF_PARAMETERS);
DeleteWindowByClass(WC_TEXTFILE);
- this->active_sel = NULL;
+ this->active_sel = nullptr;
}
delete *c;
*c = d;
@@ -842,7 +842,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
uint warning_left = rtl ? r.right - square.width - warning.width - 10 : r.left + square.width + 10;
int i = 0;
- for (const GRFConfig *c = this->actives; c != NULL; c = c->next, i++) {
+ for (const GRFConfig *c = this->actives; c != nullptr; c = c->next, i++) {
if (this->vscroll->IsVisible(i)) {
const char *text = c->GetName();
bool h = (this->active_sel == c);
@@ -853,15 +853,15 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
} else if (i == this->active_over) {
/* Get index of current selection. */
int active_sel_pos = 0;
- for (GRFConfig *c = this->actives; c != NULL && c != this->active_sel; c = c->next, active_sel_pos++) {}
+ for (GRFConfig *c = this->actives; c != nullptr && c != this->active_sel; c = c->next, active_sel_pos++) {}
if (active_sel_pos != this->active_over) {
uint top = this->active_over < active_sel_pos ? y + 1 : y + step_height - 2;
GfxFillRect(r.left + WD_FRAMERECT_LEFT, top - 1, r.right - WD_FRAMERECT_RIGHT, top + 1, PC_GREY);
}
}
DrawSprite(SPR_SQUARE, pal, square_left, y + square_offset_y);
- if (c->error != NULL) DrawSprite(SPR_WARNING_SIGN, 0, warning_left, y + warning_offset_y);
- uint txtoffset = c->error == NULL ? 0 : warning.width;
+ if (c->error != nullptr) DrawSprite(SPR_WARNING_SIGN, 0, warning_left, y + warning_offset_y);
+ uint txtoffset = c->error == nullptr ? 0 : warning.width;
DrawString(text_left + (rtl ? 0 : txtoffset), text_right - (rtl ? txtoffset : 0), y + offset_y, text, h ? TC_WHITE : TC_ORANGE);
y += step_height;
}
@@ -901,8 +901,8 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
case WID_NS_NEWGRF_INFO: {
const GRFConfig *selected = this->active_sel;
- if (selected == NULL) selected = this->avail_sel;
- if (selected != NULL) {
+ if (selected == nullptr) selected = this->avail_sel;
+ if (selected != nullptr) {
ShowNewGRFInfo(selected, r.left + WD_FRAMERECT_LEFT, r.top + WD_FRAMERECT_TOP, r.right - WD_FRAMERECT_RIGHT, r.bottom - WD_FRAMERECT_BOTTOM, this->show_params);
}
break;
@@ -913,9 +913,9 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
void OnClick(Point pt, int widget, int click_count) override
{
if (widget >= WID_NS_NEWGRF_TEXTFILE && widget < WID_NS_NEWGRF_TEXTFILE + TFT_END) {
- if (this->active_sel == NULL && this->avail_sel == NULL) return;
+ if (this->active_sel == nullptr && this->avail_sel == nullptr) return;
- ShowNewGRFTextfileWindow((TextfileType)(widget - WID_NS_NEWGRF_TEXTFILE), this->active_sel != NULL ? this->active_sel : this->avail_sel);
+ ShowNewGRFTextfileWindow((TextfileType)(widget - WID_NS_NEWGRF_TEXTFILE), this->active_sel != nullptr ? this->active_sel : this->avail_sel);
return;
}
@@ -936,7 +936,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
}
case WID_NS_OPEN_URL: {
- const GRFConfig *c = (this->avail_sel == NULL) ? this->active_sel : this->avail_sel;
+ const GRFConfig *c = (this->avail_sel == nullptr) ? this->active_sel : this->avail_sel;
extern void OpenBrowser(const char *url);
OpenBrowser(c->GetURL());
@@ -944,7 +944,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
}
case WID_NS_PRESET_SAVE:
- ShowSavePresetWindow((this->preset == -1) ? NULL : this->grf_presets[this->preset].c_str());
+ ShowSavePresetWindow((this->preset == -1) ? nullptr : this->grf_presets[this->preset].c_str());
break;
case WID_NS_PRESET_DELETE:
@@ -958,10 +958,10 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
break;
case WID_NS_MOVE_UP: { // Move GRF up
- if (this->active_sel == NULL || !this->editable) break;
+ if (this->active_sel == nullptr || !this->editable) break;
int pos = 0;
- for (GRFConfig **pc = &this->actives; *pc != NULL; pc = &(*pc)->next, pos++) {
+ for (GRFConfig **pc = &this->actives; *pc != nullptr; pc = &(*pc)->next, pos++) {
GRFConfig *c = *pc;
if (c->next == this->active_sel) {
c->next = this->active_sel->next;
@@ -977,10 +977,10 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
}
case WID_NS_MOVE_DOWN: { // Move GRF down
- if (this->active_sel == NULL || !this->editable) break;
+ if (this->active_sel == nullptr || !this->editable) break;
int pos = 1; // Start at 1 as we swap the selected newgrf with the next one
- for (GRFConfig **pc = &this->actives; *pc != NULL; pc = &(*pc)->next, pos++) {
+ for (GRFConfig **pc = &this->actives; *pc != nullptr; pc = &(*pc)->next, pos++) {
GRFConfig *c = *pc;
if (c == this->active_sel) {
*pc = c->next;
@@ -1001,19 +1001,19 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
uint i = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_NS_FILE_LIST);
GRFConfig *c;
- for (c = this->actives; c != NULL && i > 0; c = c->next, i--) {}
+ for (c = this->actives; c != nullptr && i > 0; c = c->next, i--) {}
if (this->active_sel != c) {
DeleteWindowByClass(WC_GRF_PARAMETERS);
DeleteWindowByClass(WC_TEXTFILE);
}
this->active_sel = c;
- this->avail_sel = NULL;
+ this->avail_sel = nullptr;
this->avail_pos = -1;
this->InvalidateData();
if (click_count == 1) {
- if (this->editable && this->active_sel != NULL) SetObjectToPlaceWnd(SPR_CURSOR_MOUSE, PAL_NONE, HT_DRAG, this);
+ if (this->editable && this->active_sel != nullptr) SetObjectToPlaceWnd(SPR_CURSOR_MOUSE, PAL_NONE, HT_DRAG, this);
break;
}
/* With double click, continue */
@@ -1021,20 +1021,20 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
}
case WID_NS_REMOVE: { // Remove GRF
- if (this->active_sel == NULL || !this->editable) break;
+ if (this->active_sel == nullptr || !this->editable) break;
DeleteWindowByClass(WC_GRF_PARAMETERS);
DeleteWindowByClass(WC_TEXTFILE);
/* Choose the next GRF file to be the selected file. */
GRFConfig *newsel = this->active_sel->next;
- for (GRFConfig **pc = &this->actives; *pc != NULL; pc = &(*pc)->next) {
+ for (GRFConfig **pc = &this->actives; *pc != nullptr; pc = &(*pc)->next) {
GRFConfig *c = *pc;
/* If the new selection is empty (i.e. we're deleting the last item
* in the list, pick the file just before the selected file */
- if (newsel == NULL && c->next == this->active_sel) newsel = c;
+ if (newsel == nullptr && c->next == this->active_sel) newsel = c;
if (c == this->active_sel) {
- if (newsel == c) newsel = NULL;
+ if (newsel == c) newsel = nullptr;
*pc = c->next;
delete c;
@@ -1045,14 +1045,14 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
this->active_sel = newsel;
this->preset = -1;
this->avail_pos = -1;
- this->avail_sel = NULL;
+ this->avail_sel = nullptr;
this->avails.ForceRebuild();
this->InvalidateData(GOID_NEWGRF_LIST_EDITED);
break;
}
case WID_NS_UPGRADE: { // Upgrade GRF.
- if (!this->editable || this->actives == NULL) break;
+ if (!this->editable || this->actives == nullptr) break;
UpgradeCurrent();
this->InvalidateData(GOID_NEWGRF_LIST_EDITED);
break;
@@ -1062,7 +1062,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
ResetObjectToPlace();
uint i = this->vscroll2->GetScrolledRowFromWidget(pt.y, this, WID_NS_AVAIL_LIST);
- this->active_sel = NULL;
+ this->active_sel = nullptr;
DeleteWindowByClass(WC_GRF_PARAMETERS);
if (i < this->avails.size()) {
if (this->avail_sel != this->avails[i]) DeleteWindowByClass(WC_TEXTFILE);
@@ -1071,7 +1071,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
}
this->InvalidateData();
if (click_count == 1) {
- if (this->editable && this->avail_sel != NULL && !HasBit(this->avail_sel->flags, GCF_INVALID)) SetObjectToPlaceWnd(SPR_CURSOR_MOUSE, PAL_NONE, HT_DRAG, this);
+ if (this->editable && this->avail_sel != nullptr && !HasBit(this->avail_sel->flags, GCF_INVALID)) SetObjectToPlaceWnd(SPR_CURSOR_MOUSE, PAL_NONE, HT_DRAG, this);
break;
}
/* With double click, continue */
@@ -1079,7 +1079,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
}
case WID_NS_ADD:
- if (this->avail_sel == NULL || !this->editable || HasBit(this->avail_sel->flags, GCF_INVALID)) break;
+ if (this->avail_sel == nullptr || !this->editable || HasBit(this->avail_sel->flags, GCF_INVALID)) break;
this->AddGRFToActive();
break;
@@ -1103,14 +1103,14 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
case WID_NS_VIEW_PARAMETERS:
case WID_NS_SET_PARAMETERS: { // Edit parameters
- if (this->active_sel == NULL || !this->show_params || this->active_sel->num_valid_params == 0) break;
+ if (this->active_sel == nullptr || !this->show_params || this->active_sel->num_valid_params == 0) break;
OpenGRFParameterWindow(this->active_sel, this->editable);
break;
}
case WID_NS_TOGGLE_PALETTE:
- if (this->active_sel != NULL && this->editable) {
+ if (this->active_sel != nullptr && this->editable) {
this->active_sel->palette ^= GRFP_USE_MASK;
this->SetDirty();
}
@@ -1136,8 +1136,8 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
void OnNewGRFsScanned() override
{
- if (this->active_sel == NULL) DeleteWindowByClass(WC_TEXTFILE);
- this->avail_sel = NULL;
+ if (this->active_sel == nullptr) DeleteWindowByClass(WC_TEXTFILE);
+ this->avail_sel = nullptr;
this->avail_pos = -1;
this->avails.ForceRebuild();
this->DeleteChildWindows(WC_QUERY_STRING); // Remove the parameter query window
@@ -1158,13 +1158,13 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
ResetObjectToPlace();
DeleteWindowByClass(WC_GRF_PARAMETERS);
DeleteWindowByClass(WC_TEXTFILE);
- this->active_sel = NULL;
+ this->active_sel = nullptr;
this->InvalidateData(GOID_NEWGRF_PRESET_LOADED);
}
void OnQueryTextFinished(char *str) override
{
- if (str == NULL) return;
+ if (str == nullptr) return;
SaveGRFPresetToConfig(str, this->actives);
this->grf_presets = GetGRFPresetList();
@@ -1195,13 +1195,13 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
case GOID_NEWGRF_RESCANNED:
/* Search the list for items that are now found and mark them as such. */
- for (GRFConfig **l = &this->actives; *l != NULL; l = &(*l)->next) {
+ for (GRFConfig **l = &this->actives; *l != nullptr; l = &(*l)->next) {
GRFConfig *c = *l;
bool compatible = HasBit(c->flags, GCF_COMPATIBLE);
if (c->status != GCS_NOT_FOUND && !compatible) continue;
const GRFConfig *f = FindGRFConfig(c->ident.grfid, FGCM_EXACT, compatible ? c->original_md5sum : c->ident.md5sum);
- if (f == NULL || HasBit(f->flags, GCF_INVALID)) continue;
+ if (f == nullptr || HasBit(f->flags, GCF_INVALID)) continue;
*l = new GRFConfig(*f);
(*l)->next = c->next;
@@ -1221,7 +1221,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
case GOID_NEWGRF_PRESET_LOADED: {
/* Update scrollbars */
int i = 0;
- for (const GRFConfig *c = this->actives; c != NULL; c = c->next, i++) {}
+ for (const GRFConfig *c = this->actives; c != nullptr; c = c->next, i++) {}
this->vscroll->SetCount(i + 1); // Reserve empty space for drag and drop handling.
@@ -1238,10 +1238,10 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
WID_NS_TOGGLE_PALETTE,
WIDGET_LIST_END
);
- this->SetWidgetDisabledState(WID_NS_ADD, !this->editable || this->avail_sel == NULL || HasBit(this->avail_sel->flags, GCF_INVALID));
- this->SetWidgetDisabledState(WID_NS_UPGRADE, !this->editable || this->actives == NULL || !this->CanUpgradeCurrent());
+ this->SetWidgetDisabledState(WID_NS_ADD, !this->editable || this->avail_sel == nullptr || HasBit(this->avail_sel->flags, GCF_INVALID));
+ this->SetWidgetDisabledState(WID_NS_UPGRADE, !this->editable || this->actives == nullptr || !this->CanUpgradeCurrent());
- bool disable_all = this->active_sel == NULL || !this->editable;
+ bool disable_all = this->active_sel == nullptr || !this->editable;
this->SetWidgetsDisabledState(disable_all,
WID_NS_REMOVE,
WID_NS_MOVE_UP,
@@ -1249,28 +1249,28 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
WIDGET_LIST_END
);
- const GRFConfig *c = (this->avail_sel == NULL) ? this->active_sel : this->avail_sel;
+ const GRFConfig *c = (this->avail_sel == nullptr) ? this->active_sel : this->avail_sel;
for (TextfileType tft = TFT_BEGIN; tft < TFT_END; tft++) {
- this->SetWidgetDisabledState(WID_NS_NEWGRF_TEXTFILE + tft, c == NULL || c->GetTextfile(tft) == NULL);
+ this->SetWidgetDisabledState(WID_NS_NEWGRF_TEXTFILE + tft, c == nullptr || c->GetTextfile(tft) == nullptr);
}
- this->SetWidgetDisabledState(WID_NS_OPEN_URL, c == NULL || StrEmpty(c->GetURL()));
+ this->SetWidgetDisabledState(WID_NS_OPEN_URL, c == nullptr || StrEmpty(c->GetURL()));
- this->SetWidgetDisabledState(WID_NS_SET_PARAMETERS, !this->show_params || this->active_sel == NULL || this->active_sel->num_valid_params == 0);
- this->SetWidgetDisabledState(WID_NS_VIEW_PARAMETERS, !this->show_params || this->active_sel == NULL || this->active_sel->num_valid_params == 0);
+ this->SetWidgetDisabledState(WID_NS_SET_PARAMETERS, !this->show_params || this->active_sel == nullptr || this->active_sel->num_valid_params == 0);
+ this->SetWidgetDisabledState(WID_NS_VIEW_PARAMETERS, !this->show_params || this->active_sel == nullptr || this->active_sel->num_valid_params == 0);
this->SetWidgetDisabledState(WID_NS_TOGGLE_PALETTE, disable_all ||
(!(_settings_client.gui.newgrf_developer_tools || _settings_client.gui.scenario_developer) && ((c->palette & GRFP_GRF_MASK) != GRFP_GRF_UNSET)));
if (!disable_all) {
/* All widgets are now enabled, so disable widgets we can't use */
if (this->active_sel == this->actives) this->DisableWidget(WID_NS_MOVE_UP);
- if (this->active_sel->next == NULL) this->DisableWidget(WID_NS_MOVE_DOWN);
+ if (this->active_sel->next == nullptr) this->DisableWidget(WID_NS_MOVE_DOWN);
}
this->SetWidgetDisabledState(WID_NS_PRESET_DELETE, this->preset == -1);
bool has_missing = false;
bool has_compatible = false;
- for (const GRFConfig *c = this->actives; !has_missing && c != NULL; c = c->next) {
+ for (const GRFConfig *c = this->actives; !has_missing && c != nullptr; c = c->next) {
has_missing |= c->status == GCS_NOT_FOUND;
has_compatible |= HasBit(c->flags, GCF_COMPATIBLE);
}
@@ -1332,7 +1332,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
if (this->avails.size() == 0) this->avail_pos = -1;
if (this->avail_pos >= 0) {
- this->active_sel = NULL;
+ this->active_sel = nullptr;
DeleteWindowByClass(WC_GRF_PARAMETERS);
if (this->avail_sel != this->avails[this->avail_pos]) DeleteWindowByClass(WC_TEXTFILE);
this->avail_sel = this->avails[this->avail_pos];
@@ -1358,7 +1358,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
if (!this->editable) return;
if (widget == WID_NS_FILE_LIST) {
- if (this->active_sel != NULL) {
+ if (this->active_sel != nullptr) {
/* Get pointer to the selected file in the active list. */
int from_pos = 0;
GRFConfig **from_prev;
@@ -1369,7 +1369,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
if (to_pos != from_pos) { // Don't move NewGRF file over itself.
/* Get pointer to destination position. */
GRFConfig **to_prev = &this->actives;
- for (int i = from_pos < to_pos ? -1 : 0; *to_prev != NULL && i < to_pos; to_prev = &(*to_prev)->next, i++) {}
+ for (int i = from_pos < to_pos ? -1 : 0; *to_prev != nullptr && i < to_pos; to_prev = &(*to_prev)->next, i++) {}
/* Detach NewGRF file from its original position. */
*from_prev = this->active_sel->next;
@@ -1382,11 +1382,11 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
this->preset = -1;
this->InvalidateData();
}
- } else if (this->avail_sel != NULL) {
+ } else if (this->avail_sel != nullptr) {
int to_pos = min(this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_NS_FILE_LIST), this->vscroll->GetCount() - 1);
this->AddGRFToActive(to_pos);
}
- } else if (widget == WID_NS_AVAIL_LIST && this->active_sel != NULL) {
+ } else if (widget == WID_NS_AVAIL_LIST && this->active_sel != nullptr) {
/* Remove active NewGRF file by dragging it over available list. */
Point dummy = {-1, -1};
this->OnClick(dummy, WID_NS_REMOVE, 1);
@@ -1405,17 +1405,17 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
{
if (!this->editable) return;
- if (widget == WID_NS_FILE_LIST && (this->active_sel != NULL || this->avail_sel != NULL)) {
+ if (widget == WID_NS_FILE_LIST && (this->active_sel != nullptr || this->avail_sel != nullptr)) {
/* An NewGRF file is dragged over the active list. */
int to_pos = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_NS_FILE_LIST);
/* Skip the last dummy line if the source is from the active list. */
- to_pos = min(to_pos, this->vscroll->GetCount() - (this->active_sel != NULL ? 2 : 1));
+ to_pos = min(to_pos, this->vscroll->GetCount() - (this->active_sel != nullptr ? 2 : 1));
if (to_pos != this->active_over) {
this->active_over = to_pos;
this->SetWidgetDirty(WID_NS_FILE_LIST);
}
- } else if (widget == WID_NS_AVAIL_LIST && this->active_sel != NULL) {
+ } else if (widget == WID_NS_AVAIL_LIST && this->active_sel != nullptr) {
this->active_over = -2;
this->SetWidgetDirty(WID_NS_AVAIL_LIST);
} else if (this->active_over != -1) {
@@ -1453,9 +1453,9 @@ private:
this->avails.clear();
- for (const GRFConfig *c = _all_grfs; c != NULL; c = c->next) {
+ for (const GRFConfig *c = _all_grfs; c != nullptr; c = c->next) {
bool found = false;
- for (const GRFConfig *grf = this->actives; grf != NULL && !found; grf = grf->next) found = grf->ident.HasGrfIdentifier(c->ident.grfid, c->ident.md5sum);
+ for (const GRFConfig *grf = this->actives; grf != nullptr && !found; grf = grf->next) found = grf->ident.HasGrfIdentifier(c->ident.grfid, c->ident.md5sum);
if (found) continue;
if (_settings_client.gui.newgrf_show_old_versions) {
@@ -1480,10 +1480,10 @@ private:
this->avails.RebuildDone();
this->avails.Sort();
- if (this->avail_sel != NULL) {
+ if (this->avail_sel != nullptr) {
this->avail_pos = find_index(this->avails, this->avail_sel);
if (this->avail_pos == -1) {
- this->avail_sel = NULL;
+ this->avail_sel = nullptr;
}
}
@@ -1497,15 +1497,15 @@ private:
*/
bool AddGRFToActive(int ins_pos = -1)
{
- if (this->avail_sel == NULL || !this->editable || HasBit(this->avail_sel->flags, GCF_INVALID)) return false;
+ if (this->avail_sel == nullptr || !this->editable || HasBit(this->avail_sel->flags, GCF_INVALID)) return false;
DeleteWindowByClass(WC_TEXTFILE);
uint count = 0;
- GRFConfig **entry = NULL;
+ GRFConfig **entry = nullptr;
GRFConfig **list;
/* Find last entry in the list, checking for duplicate grfid on the way */
- for (list = &this->actives; *list != NULL; list = &(*list)->next, ins_pos--) {
+ for (list = &this->actives; *list != nullptr; list = &(*list)->next, ins_pos--) {
if (ins_pos == 0) entry = list; // Insert position? Save.
if ((*list)->ident.grfid == this->avail_sel->ident.grfid) {
ShowErrorMessage(STR_NEWGRF_DUPLICATE_GRFID, INVALID_STRING_ID, WL_INFO);
@@ -1513,7 +1513,7 @@ private:
}
if (!HasBit((*list)->flags, GCF_STATIC)) count++;
}
- if (entry == NULL) entry = list;
+ if (entry == nullptr) entry = list;
if (count >= NETWORK_MAX_GRF_COUNT) {
ShowErrorMessage(STR_NEWGRF_TOO_MANY_NEWGRFS, INVALID_STRING_ID, WL_INFO);
return false;
@@ -1546,7 +1546,7 @@ void ShowMissingContentWindow(const GRFConfig *list)
{
/* Only show the things in the current list, or everything when nothing's selected */
ContentVector cv;
- for (const GRFConfig *c = list; c != NULL; c = c->next) {
+ for (const GRFConfig *c = list; c != nullptr; c = c->next) {
if (c->status != GCS_NOT_FOUND && !HasBit(c->flags, GCF_COMPATIBLE)) continue;
ContentInfo *ci = new ContentInfo();
@@ -1557,7 +1557,7 @@ void ShowMissingContentWindow(const GRFConfig *list)
memcpy(ci->md5sum, HasBit(c->flags, GCF_COMPATIBLE) ? c->original_md5sum : c->ident.md5sum, sizeof(ci->md5sum));
cv.push_back(ci);
}
- ShowNetworkContentListWindow(cv.size() == 0 ? NULL : &cv, CONTENT_TYPE_NEWGRF);
+ ShowNetworkContentListWindow(cv.size() == 0 ? nullptr : &cv, CONTENT_TYPE_NEWGRF);
}
Listing NewGRFWindow::last_sorting = {false, 0};
@@ -1605,7 +1605,7 @@ public:
void SetupSmallestSize(Window *w, bool init_array) override
{
/* Copy state flag from the window. */
- assert(dynamic_cast<NewGRFWindow *>(w) != NULL);
+ assert(dynamic_cast<NewGRFWindow *>(w) != nullptr);
NewGRFWindow *ngw = (NewGRFWindow *)w;
this->editable = ngw->editable;
@@ -1766,11 +1766,11 @@ public:
NWidgetCore *GetWidgetFromPos(int x, int y) override
{
- if (!IsInsideBS(x, this->pos_x, this->current_x) || !IsInsideBS(y, this->pos_y, this->current_y)) return NULL;
+ if (!IsInsideBS(x, this->pos_x, this->current_x) || !IsInsideBS(y, this->pos_y, this->current_y)) return nullptr;
- NWidgetCore *nw = (this->editable) ? this->avs->GetWidgetFromPos(x, y) : NULL;
- if (nw == NULL) nw = this->acs->GetWidgetFromPos(x, y);
- if (nw == NULL) nw = this->inf->GetWidgetFromPos(x, y);
+ NWidgetCore *nw = (this->editable) ? this->avs->GetWidgetFromPos(x, y) : nullptr;
+ if (nw == nullptr) nw = this->acs->GetWidgetFromPos(x, y);
+ if (nw == nullptr) nw = this->inf->GetWidgetFromPos(x, y);
return nw;
}
@@ -1912,13 +1912,13 @@ static const NWidgetPart _nested_newgrf_infopanel_widgets[] = {
/** Construct nested container widget for managing the lists and the info panel of the NewGRF GUI. */
NWidgetBase* NewGRFDisplay(int *biggest_index)
{
- NWidgetBase *avs = MakeNWidgets(_nested_newgrf_availables_widgets, lengthof(_nested_newgrf_availables_widgets), biggest_index, NULL);
+ NWidgetBase *avs = MakeNWidgets(_nested_newgrf_availables_widgets, lengthof(_nested_newgrf_availables_widgets), biggest_index, nullptr);
int biggest2;
- NWidgetBase *acs = MakeNWidgets(_nested_newgrf_actives_widgets, lengthof(_nested_newgrf_actives_widgets), &biggest2, NULL);
+ NWidgetBase *acs = MakeNWidgets(_nested_newgrf_actives_widgets, lengthof(_nested_newgrf_actives_widgets), &biggest2, nullptr);
*biggest_index = max(*biggest_index, biggest2);
- NWidgetBase *inf = MakeNWidgets(_nested_newgrf_infopanel_widgets, lengthof(_nested_newgrf_infopanel_widgets), &biggest2, NULL);
+ NWidgetBase *inf = MakeNWidgets(_nested_newgrf_infopanel_widgets, lengthof(_nested_newgrf_infopanel_widgets), &biggest2, nullptr);
*biggest_index = max(*biggest_index, biggest2);
return new NWidgetNewGRFDisplay(avs, acs, inf);
@@ -1970,9 +1970,9 @@ static void NewGRFConfirmationCallback(Window *w, bool confirmed)
/* Show new, updated list */
GRFConfig *c;
int i = 0;
- for (c = nw->actives; c != NULL && c != nw->active_sel; c = c->next, i++) {}
+ for (c = nw->actives; c != nullptr && c != nw->active_sel; c = c->next, i++) {}
CopyGRFConfigList(&nw->actives, *nw->orig_list, false);
- for (c = nw->actives; c != NULL && i > 0; c = c->next, i--) {}
+ for (c = nw->actives; c != nullptr && i > 0; c = c->next, i--) {}
nw->active_sel = c;
nw->avails.ForceRebuild();
@@ -2039,13 +2039,13 @@ struct SavePresetWindow : public Window {
/**
* Constructor of the save preset window.
- * @param initial_text Initial text to display in the edit box, or \c NULL.
+ * @param initial_text Initial text to display in the edit box, or \c nullptr.
*/
SavePresetWindow(const char *initial_text) : Window(&_save_preset_desc), presetname_editbox(32)
{
this->presets = GetGRFPresetList();
this->selected = -1;
- if (initial_text != NULL) {
+ if (initial_text != nullptr) {
for (uint i = 0; i < this->presets.size(); i++) {
if (this->presets[i] == initial_text) {
this->selected = i;
@@ -2064,7 +2064,7 @@ struct SavePresetWindow : public Window {
this->vscroll->SetCount((uint)this->presets.size());
this->SetFocusedWidget(WID_SVP_EDITBOX);
- if (initial_text != NULL) this->presetname_editbox.text.Assign(initial_text);
+ if (initial_text != nullptr) this->presetname_editbox.text.Assign(initial_text);
}
~SavePresetWindow()
@@ -2132,7 +2132,7 @@ struct SavePresetWindow : public Window {
case WID_SVP_SAVE: {
Window *w = FindWindowById(WC_GAME_OPTIONS, WN_GAME_OPTIONS_NEWGRF_STATE);
- if (w != NULL && !StrEmpty(this->presetname_editbox.text.buf)) w->OnQueryTextFinished(this->presetname_editbox.text.buf);
+ if (w != nullptr && !StrEmpty(this->presetname_editbox.text.buf)) w->OnQueryTextFinished(this->presetname_editbox.text.buf);
delete this;
break;
}
@@ -2147,7 +2147,7 @@ struct SavePresetWindow : public Window {
/**
* Open the window for saving a preset.
- * @param initial_text Initial text to display in the edit box, or \c NULL.
+ * @param initial_text Initial text to display in the edit box, or \c nullptr.
*/
static void ShowSavePresetWindow(const char *initial_text)
{
@@ -2171,7 +2171,7 @@ static const NWidgetPart _nested_scan_progress_widgets[] = {
/** Description of the widgets and other settings of the window. */
static WindowDesc _scan_progress_desc(
- WDP_CENTER, NULL, 0, 0,
+ WDP_CENTER, nullptr, 0, 0,
WC_MODAL_PROGRESS, WC_NONE,
0,
_nested_scan_progress_widgets, lengthof(_nested_scan_progress_widgets)
@@ -2183,7 +2183,7 @@ struct ScanProgressWindow : public Window {
int scanned; ///< The number of NewGRFs that we have seen.
/** Create the window. */
- ScanProgressWindow() : Window(&_scan_progress_desc), last_name(NULL), scanned(0)
+ ScanProgressWindow() : Window(&_scan_progress_desc), last_name(nullptr), scanned(0)
{
this->InitNested(1);
}
@@ -2235,7 +2235,7 @@ struct ScanProgressWindow : public Window {
SetDParam(1, _settings_client.gui.last_newgrf_count);
DrawString(r.left, r.right, r.top, STR_NEWGRF_SCAN_STATUS, TC_FROMSTRING, SA_HOR_CENTER);
- DrawString(r.left, r.right, r.top + FONT_HEIGHT_NORMAL + WD_PAR_VSEP_NORMAL, this->last_name == NULL ? "" : this->last_name, TC_BLACK, SA_HOR_CENTER);
+ DrawString(r.left, r.right, r.top + FONT_HEIGHT_NORMAL + WD_PAR_VSEP_NORMAL, this->last_name == nullptr ? "" : this->last_name, TC_BLACK, SA_HOR_CENTER);
break;
}
}
@@ -2248,7 +2248,7 @@ struct ScanProgressWindow : public Window {
void UpdateNewGRFScanStatus(uint num, const char *name)
{
free(this->last_name);
- if (name == NULL) {
+ if (name == nullptr) {
char buf[256];
GetString(buf, STR_NEWGRF_SCAN_ARCHIVES, lastof(buf));
this->last_name = stredup(buf);
@@ -2270,6 +2270,6 @@ struct ScanProgressWindow : public Window {
void UpdateNewGRFScanStatus(uint num, const char *name)
{
ScanProgressWindow *w = dynamic_cast<ScanProgressWindow *>(FindWindowByClass(WC_MODAL_PROGRESS));
- if (w == NULL) w = new ScanProgressWindow();
+ if (w == nullptr) w = new ScanProgressWindow();
w->UpdateNewGRFScanStatus(num, name);
}