Mercurial > hg > openttd
annotate src/fios_gui.cpp @ 15400:821c26b30fd9 draft
(svn r20043) -Codechange: Introduce vertical alignment for DrawStringMultiLine().
author | alberth <alberth@openttd.org> |
---|---|
date | Fri, 02 Jul 2010 13:53:05 +0000 |
parents | 51659ba5ab27 |
children | 011c8bee59d1 |
rev | line source |
---|---|
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
1 /* $Id$ */ |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
2 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
3 /* |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
4 * This file is part of OpenTTD. |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
5 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
6 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
7 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>. |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
8 */ |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
9 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
10 /** @file fios_gui.cpp GUIs for loading/saving games, scenarios, heightmaps, ... */ |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
11 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
12 #include "stdafx.h" |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
13 #include "openttd.h" |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
14 #include "saveload/saveload.h" |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
15 #include "gui.h" |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
16 #include "gfx_func.h" |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
17 #include "command_func.h" |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
18 #include "network/network.h" |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
19 #include "network/network_content.h" |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
20 #include "strings_func.h" |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
21 #include "fileio_func.h" |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
22 #include "fios.h" |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
23 #include "window_func.h" |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
24 #include "tilehighlight_func.h" |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
25 #include "querystring_gui.h" |
15298
1028938fd078
(svn r19937) -Codechange: Move some fios related prototypes to fios.h
frosch <frosch@openttd.org>
parents:
15282
diff
changeset
|
26 #include "engine_func.h" |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
27 #include "landscape_type.h" |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
28 #include "date_func.h" |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
29 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
30 #include "table/sprites.h" |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
31 #include "table/strings.h" |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
32 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
33 SaveLoadDialogMode _saveload_mode; |
15334
09680603c66b
(svn r19975) -Add: SL_LOAD_CHECK mode for partial reading of savegames.
frosch <frosch@openttd.org>
parents:
15325
diff
changeset
|
34 LoadCheckData _load_check_data; ///< Data loaded from save during SL_LOAD_CHECK. |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
35 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
36 static bool _fios_path_changed; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
37 static bool _savegame_sort_dirty; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
38 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
39 |
15334
09680603c66b
(svn r19975) -Add: SL_LOAD_CHECK mode for partial reading of savegames.
frosch <frosch@openttd.org>
parents:
15325
diff
changeset
|
40 /** |
09680603c66b
(svn r19975) -Add: SL_LOAD_CHECK mode for partial reading of savegames.
frosch <frosch@openttd.org>
parents:
15325
diff
changeset
|
41 * Reset read data. |
09680603c66b
(svn r19975) -Add: SL_LOAD_CHECK mode for partial reading of savegames.
frosch <frosch@openttd.org>
parents:
15325
diff
changeset
|
42 */ |
09680603c66b
(svn r19975) -Add: SL_LOAD_CHECK mode for partial reading of savegames.
frosch <frosch@openttd.org>
parents:
15325
diff
changeset
|
43 void LoadCheckData::Clear() |
09680603c66b
(svn r19975) -Add: SL_LOAD_CHECK mode for partial reading of savegames.
frosch <frosch@openttd.org>
parents:
15325
diff
changeset
|
44 { |
09680603c66b
(svn r19975) -Add: SL_LOAD_CHECK mode for partial reading of savegames.
frosch <frosch@openttd.org>
parents:
15325
diff
changeset
|
45 this->checkable = false; |
09680603c66b
(svn r19975) -Add: SL_LOAD_CHECK mode for partial reading of savegames.
frosch <frosch@openttd.org>
parents:
15325
diff
changeset
|
46 this->error = INVALID_STRING_ID; |
09680603c66b
(svn r19975) -Add: SL_LOAD_CHECK mode for partial reading of savegames.
frosch <frosch@openttd.org>
parents:
15325
diff
changeset
|
47 free(this->error_data); |
09680603c66b
(svn r19975) -Add: SL_LOAD_CHECK mode for partial reading of savegames.
frosch <frosch@openttd.org>
parents:
15325
diff
changeset
|
48 this->error_data = NULL; |
15335
3d75c6abc840
(svn r19976) -Add: Read mapsize during SL_LOAD_CHECK.
frosch <frosch@openttd.org>
parents:
15334
diff
changeset
|
49 |
3d75c6abc840
(svn r19976) -Add: Read mapsize during SL_LOAD_CHECK.
frosch <frosch@openttd.org>
parents:
15334
diff
changeset
|
50 this->map_size_x = this->map_size_y = 256; // Default for old savegames which do not store mapsize. |
15336
3e790f032a7c
(svn r19977) -Add: Read current date during SL_LOAD_CHECK.
frosch <frosch@openttd.org>
parents:
15335
diff
changeset
|
51 this->current_date = 0; |
15337
c37904846c25
(svn r19978) -Add: Read settings during SL_LOAD_CHECK.
frosch <frosch@openttd.org>
parents:
15336
diff
changeset
|
52 memset(&this->settings, 0, sizeof(this->settings)); |
15339
3a3570b1fd4c
(svn r19980) -Add: Load some general data from savegames on SL_LOAD_CHECK.
frosch <frosch@openttd.org>
parents:
15337
diff
changeset
|
53 |
3a3570b1fd4c
(svn r19980) -Add: Load some general data from savegames on SL_LOAD_CHECK.
frosch <frosch@openttd.org>
parents:
15337
diff
changeset
|
54 const CompanyPropertiesMap::iterator end = this->companies.End(); |
3a3570b1fd4c
(svn r19980) -Add: Load some general data from savegames on SL_LOAD_CHECK.
frosch <frosch@openttd.org>
parents:
15337
diff
changeset
|
55 for (CompanyPropertiesMap::iterator it = this->companies.Begin(); it != end; it++) { |
3a3570b1fd4c
(svn r19980) -Add: Load some general data from savegames on SL_LOAD_CHECK.
frosch <frosch@openttd.org>
parents:
15337
diff
changeset
|
56 delete it->second; |
3a3570b1fd4c
(svn r19980) -Add: Load some general data from savegames on SL_LOAD_CHECK.
frosch <frosch@openttd.org>
parents:
15337
diff
changeset
|
57 } |
3a3570b1fd4c
(svn r19980) -Add: Load some general data from savegames on SL_LOAD_CHECK.
frosch <frosch@openttd.org>
parents:
15337
diff
changeset
|
58 companies.Clear(); |
15340
7113e55b1216
(svn r19981) -Add: Read NewGRF configuration during SL_LOAD_CHECK.
frosch <frosch@openttd.org>
parents:
15339
diff
changeset
|
59 |
7113e55b1216
(svn r19981) -Add: Read NewGRF configuration during SL_LOAD_CHECK.
frosch <frosch@openttd.org>
parents:
15339
diff
changeset
|
60 ClearGRFConfigList(&this->grfconfig); |
15334
09680603c66b
(svn r19975) -Add: SL_LOAD_CHECK mode for partial reading of savegames.
frosch <frosch@openttd.org>
parents:
15325
diff
changeset
|
61 } |
09680603c66b
(svn r19975) -Add: SL_LOAD_CHECK mode for partial reading of savegames.
frosch <frosch@openttd.org>
parents:
15325
diff
changeset
|
62 |
09680603c66b
(svn r19975) -Add: SL_LOAD_CHECK mode for partial reading of savegames.
frosch <frosch@openttd.org>
parents:
15325
diff
changeset
|
63 |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
64 enum SaveLoadWindowWidgets { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
65 SLWW_WINDOWTITLE, |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
66 SLWW_SORT_BYNAME, |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
67 SLWW_SORT_BYDATE, |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
68 SLWW_BACKGROUND, |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
69 SLWW_FILE_BACKGROUND, |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
70 SLWW_HOME_BUTTON, |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
71 SLWW_DRIVES_DIRECTORIES_LIST, |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
72 SLWW_SCROLLBAR, |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
73 SLWW_CONTENT_DOWNLOAD, ///< only available for play scenario/heightmap (content download) |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
74 SLWW_SAVE_OSK_TITLE, ///< only available for save operations |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
75 SLWW_DELETE_SELECTION, ///< same in here |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
76 SLWW_SAVE_GAME, ///< not to mention in here too |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
77 SLWW_CONTENT_DOWNLOAD_SEL, ///< Selection 'stack' to 'hide' the content download |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
78 SLWW_DETAILS, ///< Panel with game details |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
79 SLWW_NEWGRF_INFO, ///< Button to open NewGgrf configuration |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
80 SLWW_LOAD_BUTTON, ///< Button to load game/scenario |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
81 }; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
82 |
15342
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
83 /** Load game/scenario with optional content download */ |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
84 static const NWidgetPart _nested_load_dialog_widgets[] = { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
85 NWidget(NWID_HORIZONTAL), |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
86 NWidget(WWT_CLOSEBOX, COLOUR_GREY), |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
87 NWidget(WWT_CAPTION, COLOUR_GREY, SLWW_WINDOWTITLE), |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
88 EndContainer(), |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
89 NWidget(WWT_PANEL, COLOUR_GREY, SLWW_BACKGROUND), SetFill(1, 0), SetResize(1, 0), EndContainer(), |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
90 NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
91 NWidget(NWID_VERTICAL), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
92 NWidget(NWID_HORIZONTAL), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
93 NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
94 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_SORT_BYNAME), SetDataTip(STR_SORT_BY_CAPTION_NAME, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0), SetResize(1, 0), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
95 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_SORT_BYDATE), SetDataTip(STR_SORT_BY_CAPTION_DATE, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0), SetResize(1, 0), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
96 EndContainer(), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
97 NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, SLWW_HOME_BUTTON), SetMinimalSize(12, 12), SetDataTip(SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON), |
15341
bbb2b959f4a1
(svn r19982) -Codechange: Shuffle some widget positions in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15340
diff
changeset
|
98 EndContainer(), |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
99 NWidget(WWT_PANEL, COLOUR_GREY, SLWW_FILE_BACKGROUND), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
100 NWidget(NWID_HORIZONTAL), |
15341
bbb2b959f4a1
(svn r19982) -Codechange: Shuffle some widget positions in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15340
diff
changeset
|
101 NWidget(WWT_INSET, COLOUR_GREY, SLWW_DRIVES_DIRECTORIES_LIST), SetFill(1, 1), SetPadding(2, 1, 2, 2), |
bbb2b959f4a1
(svn r19982) -Codechange: Shuffle some widget positions in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15340
diff
changeset
|
102 SetDataTip(0x0, STR_SAVELOAD_LIST_TOOLTIP), SetResize(1, 10), EndContainer(), |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
103 NWidget(WWT_SCROLLBAR, COLOUR_GREY, SLWW_SCROLLBAR), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
104 EndContainer(), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
105 NWidget(NWID_SELECTION, INVALID_COLOUR, SLWW_CONTENT_DOWNLOAD_SEL), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
106 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_CONTENT_DOWNLOAD), SetResize(1, 0), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
107 SetDataTip(STR_INTRO_ONLINE_CONTENT, STR_INTRO_TOOLTIP_ONLINE_CONTENT), |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
108 EndContainer(), |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
109 EndContainer(), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
110 EndContainer(), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
111 NWidget(WWT_PANEL, COLOUR_GREY), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
112 NWidget(WWT_EMPTY, INVALID_COLOUR, SLWW_DETAILS), SetResize(1, 1), SetFill(1, 1), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
113 NWidget(NWID_HORIZONTAL), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
114 NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
115 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_NEWGRF_INFO), SetDataTip(STR_INTRO_NEWGRF_SETTINGS, STR_NULL), SetFill(1, 0), SetResize(1, 0), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
116 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_LOAD_BUTTON), SetDataTip(STR_SAVELOAD_LOAD_BUTTON, STR_SAVELOAD_LOAD_TOOLTIP), SetFill(1, 0), SetResize(1, 0), |
15341
bbb2b959f4a1
(svn r19982) -Codechange: Shuffle some widget positions in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15340
diff
changeset
|
117 EndContainer(), |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
118 NWidget(WWT_RESIZEBOX, COLOUR_GREY), |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
119 EndContainer(), |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
120 EndContainer(), |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
121 EndContainer(), |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
122 }; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
123 |
15342
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
124 /** Load heightmap with content download */ |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
125 static const NWidgetPart _nested_load_heightmap_dialog_widgets[] = { |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
126 NWidget(NWID_HORIZONTAL), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
127 NWidget(WWT_CLOSEBOX, COLOUR_GREY), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
128 NWidget(WWT_CAPTION, COLOUR_GREY, SLWW_WINDOWTITLE), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
129 EndContainer(), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
130 NWidget(WWT_PANEL, COLOUR_GREY, SLWW_BACKGROUND), SetFill(1, 0), SetResize(1, 0), EndContainer(), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
131 NWidget(NWID_VERTICAL), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
132 NWidget(NWID_HORIZONTAL), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
133 NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
134 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_SORT_BYNAME), SetDataTip(STR_SORT_BY_CAPTION_NAME, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0), SetResize(1, 0), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
135 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_SORT_BYDATE), SetDataTip(STR_SORT_BY_CAPTION_DATE, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0), SetResize(1, 0), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
136 EndContainer(), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
137 NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, SLWW_HOME_BUTTON), SetMinimalSize(12, 12), SetDataTip(SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
138 EndContainer(), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
139 NWidget(WWT_PANEL, COLOUR_GREY, SLWW_FILE_BACKGROUND), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
140 NWidget(NWID_HORIZONTAL), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
141 NWidget(WWT_INSET, COLOUR_GREY, SLWW_DRIVES_DIRECTORIES_LIST), SetFill(1, 1), SetPadding(2, 1, 2, 2), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
142 SetDataTip(0x0, STR_SAVELOAD_LIST_TOOLTIP), SetResize(1, 10), EndContainer(), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
143 NWidget(WWT_SCROLLBAR, COLOUR_GREY, SLWW_SCROLLBAR), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
144 EndContainer(), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
145 NWidget(NWID_HORIZONTAL), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
146 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_CONTENT_DOWNLOAD), SetResize(1, 0), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
147 SetDataTip(STR_INTRO_ONLINE_CONTENT, STR_INTRO_TOOLTIP_ONLINE_CONTENT), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
148 NWidget(WWT_RESIZEBOX, COLOUR_GREY), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
149 EndContainer(), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
150 EndContainer(), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
151 EndContainer(), |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
152 }; |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
153 |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
154 /** Save game/scenario */ |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
155 static const NWidgetPart _nested_save_dialog_widgets[] = { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
156 NWidget(NWID_HORIZONTAL), |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
157 NWidget(WWT_CLOSEBOX, COLOUR_GREY), |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
158 NWidget(WWT_CAPTION, COLOUR_GREY, SLWW_WINDOWTITLE), |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
159 EndContainer(), |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
160 NWidget(WWT_PANEL, COLOUR_GREY, SLWW_BACKGROUND), SetFill(1, 0), SetResize(1, 0), EndContainer(), |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
161 NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
162 NWidget(NWID_VERTICAL), |
15341
bbb2b959f4a1
(svn r19982) -Codechange: Shuffle some widget positions in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15340
diff
changeset
|
163 NWidget(NWID_HORIZONTAL), |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
164 NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
165 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_SORT_BYNAME), SetDataTip(STR_SORT_BY_CAPTION_NAME, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0), SetResize(1, 0), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
166 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_SORT_BYDATE), SetDataTip(STR_SORT_BY_CAPTION_DATE, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0), SetResize(1, 0), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
167 EndContainer(), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
168 NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, SLWW_HOME_BUTTON), SetMinimalSize(12, 12), SetDataTip(SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON), |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
169 EndContainer(), |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
170 NWidget(WWT_PANEL, COLOUR_GREY, SLWW_FILE_BACKGROUND), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
171 NWidget(NWID_HORIZONTAL), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
172 NWidget(WWT_INSET, COLOUR_GREY, SLWW_DRIVES_DIRECTORIES_LIST), SetPadding(2, 1, 0, 2), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
173 SetDataTip(0x0, STR_SAVELOAD_LIST_TOOLTIP), SetResize(1, 10), EndContainer(), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
174 NWidget(WWT_SCROLLBAR, COLOUR_GREY, SLWW_SCROLLBAR), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
175 EndContainer(), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
176 NWidget(WWT_EDITBOX, COLOUR_GREY, SLWW_SAVE_OSK_TITLE), SetPadding(3, 2, 2, 2), SetFill(1, 0), SetResize(1, 0), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
177 SetDataTip(STR_SAVELOAD_OSKTITLE, STR_SAVELOAD_EDITBOX_TOOLTIP), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
178 EndContainer(), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
179 NWidget(NWID_HORIZONTAL), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
180 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_DELETE_SELECTION), SetDataTip(STR_SAVELOAD_DELETE_BUTTON, STR_SAVELOAD_DELETE_TOOLTIP), SetFill(1, 0), SetResize(1, 0), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
181 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_SAVE_GAME), SetDataTip(STR_SAVELOAD_SAVE_BUTTON, STR_SAVELOAD_SAVE_TOOLTIP), SetFill(1, 0), SetResize(1, 0), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
182 EndContainer(), |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
183 EndContainer(), |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
184 NWidget(WWT_PANEL, COLOUR_GREY), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
185 NWidget(WWT_EMPTY, INVALID_COLOUR, SLWW_DETAILS), SetResize(1, 1), SetFill(1, 1), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
186 NWidget(NWID_HORIZONTAL), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
187 NWidget(NWID_SPACER), SetResize(1, 0), SetFill(1, 1), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
188 NWidget(WWT_RESIZEBOX, COLOUR_GREY), |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
189 EndContainer(), |
15341
bbb2b959f4a1
(svn r19982) -Codechange: Shuffle some widget positions in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15340
diff
changeset
|
190 EndContainer(), |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
191 EndContainer(), |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
192 }; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
193 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
194 /* Colours for fios types */ |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
195 const TextColour _fios_colours[] = { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
196 TC_LIGHT_BLUE, TC_DARK_GREEN, TC_DARK_GREEN, TC_ORANGE, TC_LIGHT_BROWN, |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
197 TC_ORANGE, TC_LIGHT_BROWN, TC_ORANGE, TC_ORANGE, TC_YELLOW |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
198 }; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
199 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
200 void BuildFileList() |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
201 { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
202 _fios_path_changed = true; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
203 FiosFreeSavegameList(); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
204 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
205 switch (_saveload_mode) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
206 case SLD_NEW_GAME: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
207 case SLD_LOAD_SCENARIO: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
208 case SLD_SAVE_SCENARIO: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
209 FiosGetScenarioList(_saveload_mode); break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
210 case SLD_LOAD_HEIGHTMAP: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
211 FiosGetHeightmapList(_saveload_mode); break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
212 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
213 default: FiosGetSavegameList(_saveload_mode); break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
214 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
215 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
216 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
217 static void MakeSortedSaveGameList() |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
218 { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
219 uint sort_start = 0; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
220 uint sort_end = 0; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
221 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
222 /* Directories are always above the files (FIOS_TYPE_DIR) |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
223 * Drives (A:\ (windows only) are always under the files (FIOS_TYPE_DRIVE) |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
224 * Only sort savegames/scenarios, not directories |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
225 */ |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
226 for (const FiosItem *item = _fios_items.Begin(); item != _fios_items.End(); item++) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
227 switch (item->type) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
228 case FIOS_TYPE_DIR: sort_start++; break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
229 case FIOS_TYPE_PARENT: sort_start++; break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
230 case FIOS_TYPE_DRIVE: sort_end++; break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
231 default: break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
232 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
233 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
234 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
235 uint s_amount = _fios_items.Length() - sort_start - sort_end; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
236 QSortT(_fios_items.Get(sort_start), s_amount, CompareFiosItems); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
237 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
238 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
239 struct SaveLoadWindow : public QueryStringBaseWindow { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
240 private: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
241 FiosItem o_dir; |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
242 const FiosItem *selected; |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
243 public: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
244 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
245 void GenerateFileName() |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
246 { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
247 GenerateDefaultSaveName(this->edit_str_buf, &this->edit_str_buf[this->edit_str_size - 1]); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
248 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
249 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
250 SaveLoadWindow(const WindowDesc *desc, SaveLoadDialogMode mode) : QueryStringBaseWindow(64) |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
251 { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
252 static const StringID saveload_captions[] = { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
253 STR_SAVELOAD_LOAD_CAPTION, |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
254 STR_SAVELOAD_LOAD_SCENARIO, |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
255 STR_SAVELOAD_SAVE_CAPTION, |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
256 STR_SAVELOAD_SAVE_SCENARIO, |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
257 STR_SAVELOAD_LOAD_HEIGHTMAP, |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
258 }; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
259 assert((uint)mode < lengthof(saveload_captions)); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
260 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
261 /* Use an array to define what will be the current file type being handled |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
262 * by current file mode */ |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
263 switch (mode) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
264 case SLD_SAVE_GAME: this->GenerateFileName(); break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
265 case SLD_SAVE_SCENARIO: strecpy(this->edit_str_buf, "UNNAMED", &this->edit_str_buf[edit_str_size - 1]); break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
266 default: break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
267 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
268 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
269 this->afilter = CS_ALPHANUMERAL; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
270 InitializeTextBuffer(&this->text, this->edit_str_buf, this->edit_str_size, 240); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
271 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
272 this->CreateNestedTree(desc); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
273 if (mode == SLD_LOAD_GAME) this->GetWidget<NWidgetStacked>(SLWW_CONTENT_DOWNLOAD_SEL)->SetDisplayedPlane(SZSP_HORIZONTAL); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
274 this->GetWidget<NWidgetCore>(SLWW_WINDOWTITLE)->widget_data = saveload_captions[mode]; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
275 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
276 this->FinishInitNested(desc, 0); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
277 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
278 this->LowerWidget(SLWW_DRIVES_DIRECTORIES_LIST); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
279 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
280 /* pause is only used in single-player, non-editor mode, non-menu mode. It |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
281 * will be unpaused in the WE_DESTROY event handler. */ |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
282 if (_game_mode != GM_MENU && !_networking && _game_mode != GM_EDITOR) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
283 DoCommandP(0, PM_PAUSED_SAVELOAD, 1, CMD_PAUSE); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
284 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
285 SetObjectToPlace(SPR_CURSOR_ZZZ, PAL_NONE, HT_NONE, WC_MAIN_WINDOW, 0); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
286 |
15325
84cad5d4ab8d
(svn r19966) -Codechange: Use InvalidateData() in saveload GUI when appropiate.
frosch <frosch@openttd.org>
parents:
15298
diff
changeset
|
287 this->OnInvalidateData(0); |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
288 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
289 ResetObjectToPlace(); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
290 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
291 o_dir.type = FIOS_TYPE_DIRECT; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
292 switch (_saveload_mode) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
293 case SLD_SAVE_GAME: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
294 case SLD_LOAD_GAME: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
295 FioGetDirectory(o_dir.name, lengthof(o_dir.name), SAVE_DIR); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
296 break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
297 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
298 case SLD_SAVE_SCENARIO: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
299 case SLD_LOAD_SCENARIO: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
300 FioGetDirectory(o_dir.name, lengthof(o_dir.name), SCENARIO_DIR); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
301 break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
302 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
303 case SLD_LOAD_HEIGHTMAP: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
304 FioGetDirectory(o_dir.name, lengthof(o_dir.name), HEIGHTMAP_DIR); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
305 break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
306 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
307 default: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
308 strecpy(o_dir.name, _personal_dir, lastof(o_dir.name)); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
309 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
310 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
311 /* Focus the edit box by default in the save windows */ |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
312 if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
313 this->SetFocusedWidget(SLWW_SAVE_OSK_TITLE); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
314 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
315 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
316 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
317 virtual ~SaveLoadWindow() |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
318 { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
319 /* pause is only used in single-player, non-editor mode, non menu mode */ |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
320 if (!_networking && _game_mode != GM_EDITOR && _game_mode != GM_MENU) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
321 DoCommandP(0, PM_PAUSED_SAVELOAD, 0, CMD_PAUSE); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
322 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
323 FiosFreeSavegameList(); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
324 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
325 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
326 virtual void DrawWidget(const Rect &r, int widget) const |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
327 { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
328 switch (widget) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
329 case SLWW_SORT_BYNAME: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
330 case SLWW_SORT_BYDATE: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
331 if (((_savegame_sort_order & SORT_BY_NAME) != 0) == (widget == SLWW_SORT_BYNAME)) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
332 this->DrawSortButtonState(widget, _savegame_sort_order & SORT_DESCENDING ? SBS_DOWN : SBS_UP); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
333 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
334 break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
335 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
336 case SLWW_BACKGROUND: { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
337 static const char *path = NULL; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
338 static StringID str = STR_ERROR_UNABLE_TO_READ_DRIVE; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
339 static uint64 tot = 0; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
340 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
341 if (_fios_path_changed) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
342 str = FiosGetDescText(&path, &tot); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
343 _fios_path_changed = false; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
344 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
345 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
346 if (str != STR_ERROR_UNABLE_TO_READ_DRIVE) SetDParam(0, tot); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
347 DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, r.top + FONT_HEIGHT_NORMAL + WD_FRAMERECT_TOP, str); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
348 DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, r.top + WD_FRAMERECT_TOP, path, TC_BLACK); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
349 } break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
350 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
351 case SLWW_DRIVES_DIRECTORIES_LIST: { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
352 GfxFillRect(r.left + 1, r.top + 1, r.right, r.bottom, 0xD7); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
353 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
354 uint y = r.top + WD_FRAMERECT_TOP; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
355 for (uint pos = this->vscroll.GetPosition(); pos < _fios_items.Length(); pos++) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
356 const FiosItem *item = _fios_items.Get(pos); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
357 |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
358 if (item == this->selected) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
359 GfxFillRect(r.left + 1, y, r.right, y + this->resize.step_height, 156); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
360 } |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
361 DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, item->title, _fios_colours[item->type]); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
362 y += this->resize.step_height; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
363 if (y >= this->vscroll.GetCapacity() * this->resize.step_height + r.top + WD_FRAMERECT_TOP) break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
364 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
365 } break; |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
366 |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
367 case SLWW_DETAILS: { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
368 GfxFillRect(r.left + WD_FRAMERECT_LEFT, r.top + WD_FRAMERECT_TOP, |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
369 r.right - WD_FRAMERECT_RIGHT, r.top + FONT_HEIGHT_NORMAL * 2 + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM, 0x0A); |
15400
821c26b30fd9
(svn r20043) -Codechange: Introduce vertical alignment for DrawStringMultiLine().
alberth <alberth@openttd.org>
parents:
15343
diff
changeset
|
370 DrawString(r.left, r.right, r.top + FONT_HEIGHT_NORMAL / 2 + WD_FRAMERECT_TOP, STR_SAVELOAD_DETAIL_CAPTION, TC_FROMSTRING, SA_HOR_CENTER); |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
371 |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
372 if (this->selected == NULL) break; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
373 |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
374 uint y = r.top + FONT_HEIGHT_NORMAL * 2 + WD_PAR_VSEP_NORMAL + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
375 uint y_max = r.bottom - FONT_HEIGHT_NORMAL - WD_FRAMERECT_BOTTOM; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
376 |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
377 if (y > y_max) break; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
378 if (!_load_check_data.checkable) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
379 /* Old savegame, no information available */ |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
380 DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_SAVELOAD_DETAIL_NOT_AVAILABLE); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
381 y += FONT_HEIGHT_NORMAL; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
382 } else if (_load_check_data.error != INVALID_STRING_ID) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
383 /* Incompatible / broken savegame */ |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
384 SetDParamStr(0, _load_check_data.error_data); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
385 y = DrawStringMultiLine(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
386 y, r.bottom - WD_FRAMERECT_BOTTOM, _load_check_data.error, TC_RED); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
387 } else { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
388 /* Mapsize */ |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
389 SetDParam(0, _load_check_data.map_size_x); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
390 SetDParam(1, _load_check_data.map_size_y); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
391 DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_NETWORK_SERVER_LIST_MAP_SIZE); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
392 y += FONT_HEIGHT_NORMAL; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
393 if (y > y_max) break; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
394 |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
395 /* Climate */ |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
396 byte landscape = _load_check_data.settings.game_creation.landscape; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
397 if (landscape < NUM_LANDSCAPE) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
398 SetDParam(0, STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE + landscape); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
399 DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_NETWORK_SERVER_LIST_LANDSCAPE); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
400 y += FONT_HEIGHT_NORMAL; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
401 } |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
402 |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
403 y += WD_PAR_VSEP_NORMAL; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
404 if (y > y_max) break; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
405 |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
406 /* Start date (if available) */ |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
407 if (_load_check_data.settings.game_creation.starting_year != 0) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
408 SetDParam(0, ConvertYMDToDate(_load_check_data.settings.game_creation.starting_year, 0, 1)); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
409 DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_NETWORK_SERVER_LIST_START_DATE); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
410 y += FONT_HEIGHT_NORMAL; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
411 } |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
412 if (y > y_max) break; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
413 |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
414 /* Hide current date for scenarios */ |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
415 if (_saveload_mode != SLD_LOAD_SCENARIO && _saveload_mode != SLD_SAVE_SCENARIO) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
416 /* Current date */ |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
417 SetDParam(0, _load_check_data.current_date); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
418 DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_NETWORK_SERVER_LIST_CURRENT_DATE); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
419 y += FONT_HEIGHT_NORMAL; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
420 } |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
421 |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
422 /* Hide the NewGRF stuff when saving. We also hide the button. */ |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
423 if (_saveload_mode == SLD_LOAD_GAME || _saveload_mode == SLD_LOAD_SCENARIO) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
424 y += WD_PAR_VSEP_NORMAL; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
425 if (y > y_max) break; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
426 |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
427 /* NewGrf compatibility */ |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
428 SetDParam(0, _load_check_data.grfconfig == NULL ? STR_NEWGRF_LIST_NONE : |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
429 STR_NEWGRF_LIST_ALL_FOUND + _load_check_data.grf_compatibility); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
430 DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_SAVELOAD_DETAIL_GRFSTATUS); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
431 y += FONT_HEIGHT_NORMAL; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
432 } |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
433 if (y > y_max) break; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
434 |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
435 /* Hide the company stuff for scenarios */ |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
436 if (_saveload_mode != SLD_LOAD_SCENARIO && _saveload_mode != SLD_SAVE_SCENARIO) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
437 y += FONT_HEIGHT_NORMAL; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
438 if (y > y_max) break; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
439 |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
440 /* Companies / AIs */ |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
441 CompanyPropertiesMap::const_iterator end = _load_check_data.companies.End(); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
442 for (CompanyPropertiesMap::const_iterator it = _load_check_data.companies.Begin(); it != end; it++) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
443 SetDParam(0, it->first + 1); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
444 const CompanyProperties &c = *it->second; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
445 if (c.name != NULL) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
446 SetDParam(1, STR_JUST_RAW_STRING); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
447 SetDParamStr(2, c.name); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
448 } else { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
449 SetDParam(1, c.name_1); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
450 SetDParam(2, c.name_2); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
451 } |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
452 DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_SAVELOAD_DETAIL_COMPANY_INDEX); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
453 y += FONT_HEIGHT_NORMAL; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
454 if (y > y_max) break; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
455 } |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
456 } |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
457 } |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
458 } break; |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
459 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
460 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
461 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
462 virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
463 { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
464 switch (widget) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
465 case SLWW_BACKGROUND: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
466 size->height = 2 * FONT_HEIGHT_NORMAL + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
467 break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
468 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
469 case SLWW_DRIVES_DIRECTORIES_LIST: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
470 resize->height = FONT_HEIGHT_NORMAL; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
471 size->height = resize->height * 10 + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
472 break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
473 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
474 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
475 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
476 virtual void OnPaint() |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
477 { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
478 if (_savegame_sort_dirty) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
479 _savegame_sort_dirty = false; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
480 MakeSortedSaveGameList(); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
481 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
482 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
483 this->vscroll.SetCount(_fios_items.Length()); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
484 this->DrawWidgets(); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
485 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
486 if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
487 this->DrawEditBox(SLWW_SAVE_OSK_TITLE); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
488 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
489 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
490 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
491 virtual void OnClick(Point pt, int widget, int click_count) |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
492 { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
493 switch (widget) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
494 case SLWW_SORT_BYNAME: // Sort save names by name |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
495 _savegame_sort_order = (_savegame_sort_order == SORT_BY_NAME) ? |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
496 SORT_BY_NAME | SORT_DESCENDING : SORT_BY_NAME; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
497 _savegame_sort_dirty = true; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
498 this->SetDirty(); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
499 break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
500 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
501 case SLWW_SORT_BYDATE: // Sort save names by date |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
502 _savegame_sort_order = (_savegame_sort_order == SORT_BY_DATE) ? |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
503 SORT_BY_DATE | SORT_DESCENDING : SORT_BY_DATE; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
504 _savegame_sort_dirty = true; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
505 this->SetDirty(); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
506 break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
507 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
508 case SLWW_HOME_BUTTON: // OpenTTD 'button', jumps to OpenTTD directory |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
509 FiosBrowseTo(&o_dir); |
15325
84cad5d4ab8d
(svn r19966) -Codechange: Use InvalidateData() in saveload GUI when appropiate.
frosch <frosch@openttd.org>
parents:
15298
diff
changeset
|
510 this->InvalidateData(); |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
511 break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
512 |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
513 case SLWW_LOAD_BUTTON: |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
514 if (this->selected != NULL && !_load_check_data.HasErrors()) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
515 _switch_mode = (_game_mode == GM_EDITOR) ? SM_LOAD_SCENARIO : SM_LOAD; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
516 |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
517 const char *name = FiosBrowseTo(this->selected); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
518 SetFiosType(this->selected->type); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
519 |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
520 strecpy(_file_to_saveload.name, name, lastof(_file_to_saveload.name)); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
521 strecpy(_file_to_saveload.title, this->selected->title, lastof(_file_to_saveload.title)); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
522 |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
523 delete this; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
524 } |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
525 break; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
526 |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
527 case SLWW_NEWGRF_INFO: |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
528 if (_load_check_data.HasNewGrfs()) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
529 ShowNewGRFSettings(false, false, false, &_load_check_data.grfconfig); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
530 } |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
531 break; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
532 |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
533 case SLWW_DRIVES_DIRECTORIES_LIST: { // Click the listbox |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
534 int y = (pt.y - this->GetWidget<NWidgetBase>(SLWW_DRIVES_DIRECTORIES_LIST)->pos_y - WD_FRAMERECT_TOP) / this->resize.step_height; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
535 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
536 if (y < 0 || (y += this->vscroll.GetPosition()) >= this->vscroll.GetCount()) return; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
537 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
538 const FiosItem *file = _fios_items.Get(y); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
539 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
540 const char *name = FiosBrowseTo(file); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
541 if (name != NULL) { |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
542 if (click_count == 1) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
543 if (this->selected != file) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
544 this->selected = file; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
545 _load_check_data.Clear(); |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
546 |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
547 if (file->type == FIOS_TYPE_FILE || file->type == FIOS_TYPE_SCENARIO) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
548 SaveOrLoad(name, SL_LOAD_CHECK, NO_DIRECTORY, false); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
549 } |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
550 |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
551 this->InvalidateData(1); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
552 } |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
553 if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
554 /* Copy clicked name to editbox */ |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
555 ttd_strlcpy(this->text.buf, file->title, this->text.maxsize); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
556 UpdateTextBufferSize(&this->text); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
557 this->SetWidgetDirty(SLWW_SAVE_OSK_TITLE); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
558 } |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
559 } else if (!_load_check_data.HasErrors()) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
560 this->selected = file; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
561 if (_saveload_mode == SLD_LOAD_GAME || _saveload_mode == SLD_LOAD_SCENARIO) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
562 this->OnClick(pt, SLWW_LOAD_BUTTON, 1); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
563 } else if (_saveload_mode == SLD_LOAD_HEIGHTMAP) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
564 SetFiosType(file->type); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
565 strecpy(_file_to_saveload.name, name, lastof(_file_to_saveload.name)); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
566 strecpy(_file_to_saveload.title, file->title, lastof(_file_to_saveload.title)); |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
567 |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
568 delete this; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
569 ShowHeightmapLoad(); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
570 } |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
571 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
572 } else { |
15325
84cad5d4ab8d
(svn r19966) -Codechange: Use InvalidateData() in saveload GUI when appropiate.
frosch <frosch@openttd.org>
parents:
15298
diff
changeset
|
573 /* Changed directory, need refresh. */ |
84cad5d4ab8d
(svn r19966) -Codechange: Use InvalidateData() in saveload GUI when appropiate.
frosch <frosch@openttd.org>
parents:
15298
diff
changeset
|
574 this->InvalidateData(); |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
575 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
576 break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
577 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
578 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
579 case SLWW_CONTENT_DOWNLOAD: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
580 if (!_network_available) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
581 ShowErrorMessage(STR_NETWORK_ERROR_NOTAVAILABLE, INVALID_STRING_ID, WL_ERROR); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
582 } else { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
583 #if defined(ENABLE_NETWORK) |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
584 switch (_saveload_mode) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
585 default: NOT_REACHED(); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
586 case SLD_LOAD_SCENARIO: ShowNetworkContentListWindow(NULL, CONTENT_TYPE_SCENARIO); break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
587 case SLD_LOAD_HEIGHTMAP: ShowNetworkContentListWindow(NULL, CONTENT_TYPE_HEIGHTMAP); break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
588 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
589 #endif |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
590 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
591 break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
592 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
593 case SLWW_DELETE_SELECTION: case SLWW_SAVE_GAME: // Delete, Save game |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
594 break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
595 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
596 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
597 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
598 virtual void OnMouseLoop() |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
599 { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
600 if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
601 this->HandleEditBox(SLWW_SAVE_OSK_TITLE); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
602 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
603 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
604 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
605 virtual EventState OnKeyPress(uint16 key, uint16 keycode) |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
606 { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
607 if (keycode == WKC_ESC) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
608 delete this; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
609 return ES_HANDLED; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
610 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
611 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
612 EventState state = ES_NOT_HANDLED; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
613 if ((_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO) && |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
614 this->HandleEditBoxKey(SLWW_SAVE_OSK_TITLE, key, keycode, state) == HEBR_CONFIRM) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
615 this->HandleButtonClick(SLWW_SAVE_GAME); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
616 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
617 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
618 return state; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
619 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
620 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
621 virtual void OnTimeout() |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
622 { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
623 /* This test protects against using widgets 11 and 12 which are only available |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
624 * in those two saveload mode */ |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
625 if (!(_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO)) return; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
626 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
627 if (this->IsWidgetLowered(SLWW_DELETE_SELECTION)) { // Delete button clicked |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
628 if (!FiosDelete(this->text.buf)) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
629 ShowErrorMessage(STR_ERROR_UNABLE_TO_DELETE_FILE, INVALID_STRING_ID, WL_ERROR); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
630 } else { |
15325
84cad5d4ab8d
(svn r19966) -Codechange: Use InvalidateData() in saveload GUI when appropiate.
frosch <frosch@openttd.org>
parents:
15298
diff
changeset
|
631 this->InvalidateData(); |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
632 /* Reset file name to current date on successful delete */ |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
633 if (_saveload_mode == SLD_SAVE_GAME) GenerateFileName(); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
634 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
635 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
636 UpdateTextBufferSize(&this->text); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
637 } else if (this->IsWidgetLowered(SLWW_SAVE_GAME)) { // Save button clicked |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
638 _switch_mode = SM_SAVE; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
639 FiosMakeSavegameName(_file_to_saveload.name, this->text.buf, sizeof(_file_to_saveload.name)); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
640 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
641 /* In the editor set up the vehicle engines correctly (date might have changed) */ |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
642 if (_game_mode == GM_EDITOR) StartupEngines(); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
643 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
644 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
645 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
646 virtual void OnResize() |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
647 { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
648 this->vscroll.SetCapacityFromWidget(this, SLWW_DRIVES_DIRECTORIES_LIST); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
649 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
650 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
651 virtual void OnInvalidateData(int data) |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
652 { |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
653 switch (data) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
654 case 0: |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
655 /* Rescan files */ |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
656 this->selected = NULL; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
657 _load_check_data.Clear(); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
658 BuildFileList(); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
659 /* FALL THROUGH */ |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
660 case 1: |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
661 /* Selection changes */ |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
662 if (_saveload_mode == SLD_LOAD_GAME || _saveload_mode == SLD_LOAD_SCENARIO) { |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
663 this->SetWidgetDisabledState(SLWW_LOAD_BUTTON, |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
664 this->selected == NULL || _load_check_data.HasErrors()); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
665 this->SetWidgetDisabledState(SLWW_NEWGRF_INFO, |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
666 !_load_check_data.HasNewGrfs()); |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
667 } |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
668 break; |
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
669 } |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
670 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
671 }; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
672 |
15342
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
673 /** Load game/scenario */ |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
674 static const WindowDesc _load_dialog_desc( |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
675 WDP_CENTER, 500, 294, |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
676 WC_SAVELOAD, WC_NONE, |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
677 WDF_UNCLICK_BUTTONS, |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
678 _nested_load_dialog_widgets, lengthof(_nested_load_dialog_widgets) |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
679 ); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
680 |
15342
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
681 /** Load heightmap */ |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
682 static const WindowDesc _load_heightmap_dialog_desc( |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
683 WDP_CENTER, 257, 320, |
15342
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
684 WC_SAVELOAD, WC_NONE, |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
685 WDF_UNCLICK_BUTTONS, |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
686 _nested_load_heightmap_dialog_widgets, lengthof(_nested_load_heightmap_dialog_widgets) |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
687 ); |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
688 |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
689 /** Save game/scenario */ |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
690 static const WindowDesc _save_dialog_desc( |
15343
51659ba5ab27
(svn r19984) -Feature: Show some savegame details when selecting items in saveload GUIs.
frosch <frosch@openttd.org>
parents:
15342
diff
changeset
|
691 WDP_CENTER, 500, 294, |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
692 WC_SAVELOAD, WC_NONE, |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
693 WDF_UNCLICK_BUTTONS, |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
694 _nested_save_dialog_widgets, lengthof(_nested_save_dialog_widgets) |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
695 ); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
696 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
697 /** These values are used to convert the file/operations mode into a corresponding file type. |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
698 * So each entry, as expressed by the related comment, is based on the enum */ |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
699 static const FileType _file_modetotype[] = { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
700 FT_SAVEGAME, ///< used for SLD_LOAD_GAME |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
701 FT_SCENARIO, ///< used for SLD_LOAD_SCENARIO |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
702 FT_SAVEGAME, ///< used for SLD_SAVE_GAME |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
703 FT_SCENARIO, ///< used for SLD_SAVE_SCENARIO |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
704 FT_HEIGHTMAP, ///< used for SLD_LOAD_HEIGHTMAP |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
705 FT_SAVEGAME, ///< SLD_NEW_GAME |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
706 }; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
707 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
708 void ShowSaveLoadDialog(SaveLoadDialogMode mode) |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
709 { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
710 DeleteWindowById(WC_SAVELOAD, 0); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
711 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
712 const WindowDesc *sld; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
713 switch (mode) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
714 case SLD_SAVE_GAME: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
715 case SLD_SAVE_SCENARIO: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
716 sld = &_save_dialog_desc; break; |
15342
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
717 case SLD_LOAD_HEIGHTMAP: |
f239c675c8dd
(svn r19983) -Add: Separate nested widget array for load heightmap GUI.
frosch <frosch@openttd.org>
parents:
15341
diff
changeset
|
718 sld = &_load_heightmap_dialog_desc; break; |
15282
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
719 default: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
720 sld = &_load_dialog_desc; break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
721 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
722 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
723 _saveload_mode = mode; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
724 _file_to_saveload.filetype = _file_modetotype[mode]; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
725 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
726 new SaveLoadWindow(sld, mode); |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
727 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
728 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
729 void SetFiosType(const byte fiostype) |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
730 { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
731 switch (fiostype) { |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
732 case FIOS_TYPE_FILE: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
733 case FIOS_TYPE_SCENARIO: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
734 _file_to_saveload.mode = SL_LOAD; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
735 break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
736 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
737 case FIOS_TYPE_OLDFILE: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
738 case FIOS_TYPE_OLD_SCENARIO: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
739 _file_to_saveload.mode = SL_OLD_LOAD; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
740 break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
741 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
742 #ifdef WITH_PNG |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
743 case FIOS_TYPE_PNG: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
744 _file_to_saveload.mode = SL_PNG; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
745 break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
746 #endif /* WITH_PNG */ |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
747 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
748 case FIOS_TYPE_BMP: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
749 _file_to_saveload.mode = SL_BMP; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
750 break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
751 |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
752 default: |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
753 _file_to_saveload.mode = SL_INVALID; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
754 break; |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
755 } |
4e9378affc1f
(svn r19917) -Codechange: Split save/load GUI to separate file.
frosch <frosch@openttd.org>
parents:
diff
changeset
|
756 } |