| OpenTTD
    | 
GUI to change NewGRF settings. More...
#include "stdafx.h"#include "error.h"#include "settings_gui.h"#include "newgrf.h"#include "strings_func.h"#include "window_func.h"#include "gamelog.h"#include "settings_type.h"#include "settings_func.h"#include "widgets/dropdown_type.h"#include "widgets/dropdown_func.h"#include "network/network.h"#include "network/network_content.h"#include "sortlist_type.h"#include "stringfilter_type.h"#include "querystring_gui.h"#include "core/geometry_func.hpp"#include "newgrf_text.h"#include "textfile_gui.h"#include "tilehighlight_func.h"#include "fios.h"#include "widgets/newgrf_widget.h"#include "widgets/misc_widget.h"#include "table/sprites.h"#include <map>#include "safeguards.h"Go to the source code of this file.
| Data Structures | |
| struct | NewGRFParametersWindow | 
| Window for setting the parameters of a NewGRF.  More... | |
| struct | NewGRFTextfileWindow | 
| Window for displaying the textfile of a NewGRF.  More... | |
| class | DropDownListPresetItem | 
| struct | NewGRFWindow | 
| Window for showing NewGRF files.  More... | |
| class | NWidgetNewGRFDisplay | 
| Custom nested widget container for the NewGRF gui.  More... | |
| struct | SavePresetWindow | 
| Class for the save preset window.  More... | |
| struct | ScanProgressWindow | 
| Window for showing the progress of NewGRF scanning.  More... | |
| Typedefs | |
| typedef std::map< uint32, const GRFConfig * > | GrfIdMap | 
| Map of grfid to the grf config. | |
| Functions | |
| void | ShowNewGRFError () | 
| Show the first NewGRF error we can find. | |
| static void | ShowNewGRFInfo (const GRFConfig *c, uint x, uint y, uint right, uint bottom, bool show_params) | 
| static void | OpenGRFParameterWindow (GRFConfig *c, bool editable) | 
| void | ShowNewGRFTextfileWindow (TextfileType file_type, const GRFConfig *c) | 
| static void | FillGrfidMap (const GRFConfig *c, GrfIdMap *grfid_map) | 
| Add all grf configs from c into the map. | |
| static void | NewGRFConfirmationCallback (Window *w, bool confirmed) | 
| Callback function for the newgrf 'apply changes' confirmation window. | |
| static void | ShowSavePresetWindow (const char *initial_text) | 
| Open the window for saving a preset. | |
| void | ShowMissingContentWindow (const GRFConfig *list) | 
| Show the content list window with all missing grfs from the given list. | |
| NWidgetBase * | NewGRFDisplay (int *biggest_index) | 
| Construct nested container widget for managing the lists and the info panel of the NewGRF GUI. | |
| void | ShowNewGRFSettings (bool editable, bool show_params, bool exec_changes, GRFConfig **config) | 
| Setup the NewGRF gui. | |
| void | UpdateNewGRFScanStatus (uint num, const char *name) | 
| Update the NewGRF scan status. | |
| Variables | |
| static const int | MAX_NEWGRFS = MAX_FILE_SLOTS - 6 | 
| static const NWidgetPart | _nested_newgrf_parameter_widgets [] | 
| static WindowDesc | _newgrf_parameters_desc (WDP_CENTER,"settings_newgrf_config", 500, 208, WC_GRF_PARAMETERS, WC_NONE, 0, _nested_newgrf_parameter_widgets, lengthof(_nested_newgrf_parameter_widgets)) | 
| Window definition for the change grf parameters window. | |
| static GRFPresetList | _grf_preset_list | 
| List of known NewGRF presets. | |
| static const NWidgetPart | _nested_newgrf_actives_widgets [] | 
| static const NWidgetPart | _nested_newgrf_availables_widgets [] | 
| static const NWidgetPart | _nested_newgrf_infopanel_widgets [] | 
| static const NWidgetPart | _nested_newgrf_widgets [] | 
| static WindowDesc | _newgrf_desc (WDP_CENTER,"settings_newgrf", 300, 263, WC_GAME_OPTIONS, WC_NONE, 0, _nested_newgrf_widgets, lengthof(_nested_newgrf_widgets)) | 
| static const NWidgetPart | _nested_save_preset_widgets [] | 
| Widget parts of the save preset window. | |
| static WindowDesc | _save_preset_desc (WDP_CENTER,"save_preset", 140, 110, WC_SAVE_PRESET, WC_GAME_OPTIONS, WDF_MODAL, _nested_save_preset_widgets, lengthof(_nested_save_preset_widgets)) | 
| Window description of the preset save window. | |
| static const NWidgetPart | _nested_scan_progress_widgets [] | 
| Widgets for the progress window. | |
| static WindowDesc | _scan_progress_desc (WDP_CENTER, NULL, 0, 0, WC_MODAL_PROGRESS, WC_NONE, 0, _nested_scan_progress_widgets, lengthof(_nested_scan_progress_widgets)) | 
| Description of the widgets and other settings of the window. | |
GUI to change NewGRF settings.
Definition in file newgrf_gui.cpp.
Add all grf configs from c into the map.
| c | Grf list to add. | 
| grfid_map | Map to add them to. | 
Definition at line 599 of file newgrf_gui.cpp.
References GRFIdentifier::grfid, GRFConfig::ident, and GRFConfig::next.
Referenced by NewGRFWindow::CanUpgradeCurrent(), and NewGRFWindow::UpgradeCurrent().
| 
 | static | 
Callback function for the newgrf 'apply changes' confirmation window.
| w | Window which is calling this callback | 
| confirmed | boolean value, true when yes was clicked, false otherwise | 
Definition at line 1968 of file newgrf_gui.cpp.
References _grfconfig, NewGRFWindow::active_sel, NewGRFWindow::actives, NewGRFWindow::avails, CopyGRFConfigList(), DeleteWindowByClass(), GUIList< T, F >::ForceRebuild(), GamelogGRFUpdate(), GamelogStartAction(), GamelogStopAction(), GLAT_GRF, Window::InvalidateData(), GRFConfig::next, NewGRFWindow::orig_list, ReInitAllWindows(), ReloadNewGRFData(), WC_BUILD_OBJECT, and WC_GRF_PARAMETERS.
Referenced by NewGRFWindow::OnClick().
| NWidgetBase* NewGRFDisplay | ( | int * | biggest_index | ) | 
Construct nested container widget for managing the lists and the info panel of the NewGRF GUI.
Definition at line 1924 of file newgrf_gui.cpp.
References lengthof, MakeNWidgets(), and max().
| void ShowMissingContentWindow | ( | const GRFConfig * | list | ) | 
Show the content list window with all missing grfs from the given list.
| list | The list of grfs to check for missing / not exactly matching ones. | 
Definition at line 1555 of file newgrf_gui.cpp.
References SmallVector< T, S >::Append(), BSWAP32(), CONTENT_TYPE_NEWGRF, ContentInfo::DOES_NOT_EXIST, GRFConfig::flags, GCF_COMPATIBLE, GCS_NOT_FOUND, GRFConfig::GetName(), GRFIdentifier::grfid, HasBit(), GRFConfig::ident, lastof, SmallVector< T, S >::Length(), ContentInfo::md5sum, GRFIdentifier::md5sum, ContentInfo::name, GRFConfig::next, GRFConfig::original_md5sum, ShowNetworkContentListWindow(), ContentInfo::state, GRFConfig::status, strecpy(), ContentInfo::type, and ContentInfo::unique_id.
Referenced by SaveLoadWindow::OnClick(), NetworkGameWindow::OnClick(), and NewGRFWindow::OnClick().
| void ShowNewGRFSettings | ( | bool | editable, | 
| bool | show_params, | ||
| bool | exec_changes, | ||
| GRFConfig ** | config | ||
| ) | 
Setup the NewGRF gui.
| editable | allow the user to make changes to the grfconfig in the window | 
| show_params | show information about what parameters are set for the grf files | 
| exec_changes | if changes are made to the list (editable is true), apply these changes immediately or only update the list | 
| config | pointer to a linked-list of grfconfig's that will be shown | 
Definition at line 2006 of file newgrf_gui.cpp.
References DeleteWindowByClass(), and WC_GAME_OPTIONS.
Referenced by MenuClickSettings(), SelectGameWindow::OnClick(), SaveLoadWindow::OnClick(), and NetworkGameWindow::OnClick().
| 
 | static | 
Open the window for saving a preset.
| initial_text | Initial text to display in the edit box, or NULL. | 
Definition at line 2162 of file newgrf_gui.cpp.
References DeleteWindowByClass(), and WC_SAVE_PRESET.
Referenced by NewGRFWindow::OnClick().
| void UpdateNewGRFScanStatus | ( | uint | num, | 
| const char * | name | ||
| ) | 
Update the NewGRF scan status.
| num | The number of NewGRFs scanned so far. | 
| name | The name of the last scanned NewGRF. | 
Definition at line 2280 of file newgrf_gui.cpp.
References FindWindowByClass(), ScanProgressWindow::UpdateNewGRFScanStatus(), and WC_MODAL_PROGRESS.
Referenced by ScanNewGRFFiles().
| 
 | static | 
List of known NewGRF presets.
Definition at line 572 of file newgrf_gui.cpp.
Referenced by NewGRFWindow::OnClick(), NewGRFWindow::OnDropdownSelect(), NewGRFWindow::OnQueryTextFinished(), NewGRFWindow::SetStringParameters(), and NewGRFWindow::UpdateWidgetSize().
| 
 | static | 
Definition at line 1939 of file newgrf_gui.cpp.
| 
 | static | 
Widget parts of the save preset window.
Definition at line 2013 of file newgrf_gui.cpp.
| 
 | static | 
Widgets for the progress window.
Definition at line 2169 of file newgrf_gui.cpp.
| 
 | static | 
Window description of the preset save window.
| 
 | static | 
Description of the widgets and other settings of the window.
 1.8.1.2
 1.8.1.2