author | KUDr |
Fri, 20 Apr 2007 19:43:06 +0000 | |
changeset 6513 | 454347ca3dfb |
parent 6357 | f0f5e7d1713c |
child 6555 | 418ca90354d4 |
permissions | -rw-r--r-- |
2186 | 1 |
/* $Id$ */ |
2 |
||
6201
bee01dc45e39
(svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas
parents:
5899
diff
changeset
|
3 |
/** @file intro_gui.cpp */ |
bee01dc45e39
(svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas
parents:
5899
diff
changeset
|
4 |
|
0 | 5 |
#include "stdafx.h" |
1891
862800791170
(svn r2397) - CodeChange: rename all "ttd" files to "openttd" files.
Darkvater
parents:
1796
diff
changeset
|
6 |
#include "openttd.h" |
507
04b5403aaf6b
(svn r815) Include strings.h only in the files which need it.
tron
parents:
206
diff
changeset
|
7 |
#include "table/strings.h" |
4937
8cfdd86fd709
(svn r6924) -Codechange: Give the last (in the widget arrays at least) sprites meaningful names.
Darkvater
parents:
4830
diff
changeset
|
8 |
#include "table/sprites.h" |
2163
b17b313113a0
(svn r2673) Include functions.h directly, not globally via openttd.h
tron
parents:
2159
diff
changeset
|
9 |
#include "functions.h" |
0 | 10 |
#include "window.h" |
11 |
#include "gui.h" |
|
12 |
#include "gfx.h" |
|
13 |
#include "player.h" |
|
5469
7edfc643abbc
(svn r7751) -Codechange: move network_* to a new network map. Furthermore move the low level network functions to network/core, so they can be reused by the masterserver and website-serverlist-updater.
rubidium
parents:
5431
diff
changeset
|
14 |
#include "network/network.h" |
2159
f6284cf5fab0
(svn r2669) Shuffle some more stuff around to reduce dependencies
tron
parents:
1891
diff
changeset
|
15 |
#include "variables.h" |
3888
3cbfc7edbc2b
(svn r4944) Codechange: make _patches_newgame available via settings.h and remove instances of extern Patches _patches_newgame in .c files
rubidium
parents:
3207
diff
changeset
|
16 |
#include "settings.h" |
4300
c7e43c47a2b9
(svn r5946) -Add: merged the TGP branch to mainline. TGP adds:
truelight
parents:
4171
diff
changeset
|
17 |
#include "heightmap.h" |
c7e43c47a2b9
(svn r5946) -Add: merged the TGP branch to mainline. TGP adds:
truelight
parents:
4171
diff
changeset
|
18 |
#include "genworld.h" |
5469
7edfc643abbc
(svn r7751) -Codechange: move network_* to a new network map. Furthermore move the low level network functions to network/core, so they can be reused by the masterserver and website-serverlist-updater.
rubidium
parents:
5431
diff
changeset
|
19 |
#include "network/network_gui.h" |
5237
4fce3ea379c2
(svn r7357) -Codechange: new NewGRF set up window which allows modification of NewGRF settings.
peter1138
parents:
4938
diff
changeset
|
20 |
#include "newgrf.h" |
0 | 21 |
|
22 |
static const Widget _select_game_widgets[] = { |
|
4344
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4308
diff
changeset
|
23 |
{ WWT_CAPTION, RESIZE_NONE, 13, 0, 335, 0, 13, STR_0307_OPENTTD, STR_NULL}, |
5237
4fce3ea379c2
(svn r7357) -Codechange: new NewGRF set up window which allows modification of NewGRF settings.
peter1138
parents:
4938
diff
changeset
|
24 |
{ WWT_PANEL, RESIZE_NONE, 13, 0, 335, 14, 194, 0x0, STR_NULL}, |
4344
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4308
diff
changeset
|
25 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 10, 167, 22, 33, STR_0140_NEW_GAME, STR_02FB_START_A_NEW_GAME}, |
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4308
diff
changeset
|
26 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325, 22, 33, STR_0141_LOAD_GAME, STR_02FC_LOAD_A_SAVED_GAME}, |
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4308
diff
changeset
|
27 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 10, 167, 40, 51, STR_029A_PLAY_SCENARIO, STR_0303_START_A_NEW_GAME_USING}, |
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4308
diff
changeset
|
28 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325, 40, 51, STR_PLAY_HEIGHTMAP, STR_PLAY_HEIGHTMAP_HINT}, |
5894
afbd6aea0d56
(svn r8512) -Codechange: From the intro window enter the scenario editor. From the scenario editor dialog, remove the 'load heightmap' option and put that with the other options like 'load scenario', 'save scenario', etc. Play a little bit with positioning of elements inside the scenario editor dialog so it looks better.
Darkvater
parents:
5893
diff
changeset
|
29 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 10, 167, 58, 69, STR_SCENARIO_EDITOR, STR_02FE_CREATE_A_CUSTOMIZED_GAME}, |
4344
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4308
diff
changeset
|
30 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325, 58, 69, STR_MULTIPLAYER, STR_0300_SELECT_MULTIPLAYER_GAME}, |
1711
1365fd255634
(svn r2215) - Feature: Add a temporary mapsize selector to the intro gui. This is sufficient until the real window is designed & coded.
Darkvater
parents:
1625
diff
changeset
|
31 |
|
4938
0447845fd1b3
(svn r6925) -Codechange: Be more strict with widget distinctions. WWT_PANEL is only plain panel,
Darkvater
parents:
4937
diff
changeset
|
32 |
{ WWT_IMGBTN_2, RESIZE_NONE, 12, 10, 86, 77, 131, SPR_SELECT_TEMPERATE, STR_030E_SELECT_TEMPERATE_LANDSCAPE}, |
0447845fd1b3
(svn r6925) -Codechange: Be more strict with widget distinctions. WWT_PANEL is only plain panel,
Darkvater
parents:
4937
diff
changeset
|
33 |
{ WWT_IMGBTN_2, RESIZE_NONE, 12, 90, 166, 77, 131, SPR_SELECT_SUB_ARCTIC, STR_030F_SELECT_SUB_ARCTIC_LANDSCAPE}, |
0447845fd1b3
(svn r6925) -Codechange: Be more strict with widget distinctions. WWT_PANEL is only plain panel,
Darkvater
parents:
4937
diff
changeset
|
34 |
{ WWT_IMGBTN_2, RESIZE_NONE, 12, 170, 246, 77, 131, SPR_SELECT_SUB_TROPICAL, STR_0310_SELECT_SUB_TROPICAL_LANDSCAPE}, |
0447845fd1b3
(svn r6925) -Codechange: Be more strict with widget distinctions. WWT_PANEL is only plain panel,
Darkvater
parents:
4937
diff
changeset
|
35 |
{ WWT_IMGBTN_2, RESIZE_NONE, 12, 250, 326, 77, 131, SPR_SELECT_TOYLAND, STR_0311_SELECT_TOYLAND_LANDSCAPE}, |
1711
1365fd255634
(svn r2215) - Feature: Add a temporary mapsize selector to the intro gui. This is sufficient until the real window is designed & coded.
Darkvater
parents:
1625
diff
changeset
|
36 |
|
4344
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4308
diff
changeset
|
37 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 10, 167, 139, 150, STR_0148_GAME_OPTIONS, STR_0301_DISPLAY_GAME_OPTIONS}, |
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4308
diff
changeset
|
38 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325, 139, 150, STR_01FE_DIFFICULTY, STR_0302_DISPLAY_DIFFICULTY_OPTIONS}, |
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4308
diff
changeset
|
39 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 10, 167, 157, 168, STR_CONFIG_PATCHES, STR_CONFIG_PATCHES_TIP}, |
5237
4fce3ea379c2
(svn r7357) -Codechange: new NewGRF set up window which allows modification of NewGRF settings.
peter1138
parents:
4938
diff
changeset
|
40 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325, 157, 168, STR_NEWGRF_SETTINGS_BUTTON, STR_NULL}, |
4fce3ea379c2
(svn r7357) -Codechange: new NewGRF set up window which allows modification of NewGRF settings.
peter1138
parents:
4938
diff
changeset
|
41 |
|
5315
ca5f5789fe10
(svn r7471) -Codechange: Centre the 'quit' button on the main menu.
Darkvater
parents:
5237
diff
changeset
|
42 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 104, 231, 175, 186, STR_0304_QUIT, STR_0305_QUIT_OPENTTD}, |
4938
0447845fd1b3
(svn r6925) -Codechange: Be more strict with widget distinctions. WWT_PANEL is only plain panel,
Darkvater
parents:
4937
diff
changeset
|
43 |
{ WIDGETS_END}, |
0 | 44 |
}; |
45 |
||
1794
24b4239f2090
(svn r2298) - CodeChange: removed CmdAbuses: CmdSetTownNameType(), CmdStartNewGame(), CmdCreateScenario(), CmdSetNewLandscapeType() and CmdGenRandomNewGame().
Darkvater
parents:
1728
diff
changeset
|
46 |
static inline void SetNewLandscapeType(byte landscape) |
24b4239f2090
(svn r2298) - CodeChange: removed CmdAbuses: CmdSetTownNameType(), CmdStartNewGame(), CmdCreateScenario(), CmdSetNewLandscapeType() and CmdGenRandomNewGame().
Darkvater
parents:
1728
diff
changeset
|
47 |
{ |
24b4239f2090
(svn r2298) - CodeChange: removed CmdAbuses: CmdSetTownNameType(), CmdStartNewGame(), CmdCreateScenario(), CmdSetNewLandscapeType() and CmdGenRandomNewGame().
Darkvater
parents:
1728
diff
changeset
|
48 |
_opt_newgame.landscape = landscape; |
24b4239f2090
(svn r2298) - CodeChange: removed CmdAbuses: CmdSetTownNameType(), CmdStartNewGame(), CmdCreateScenario(), CmdSetNewLandscapeType() and CmdGenRandomNewGame().
Darkvater
parents:
1728
diff
changeset
|
49 |
InvalidateWindowClasses(WC_SELECT_GAME); |
24b4239f2090
(svn r2298) - CodeChange: removed CmdAbuses: CmdSetTownNameType(), CmdStartNewGame(), CmdCreateScenario(), CmdSetNewLandscapeType() and CmdGenRandomNewGame().
Darkvater
parents:
1728
diff
changeset
|
50 |
} |
24b4239f2090
(svn r2298) - CodeChange: removed CmdAbuses: CmdSetTownNameType(), CmdStartNewGame(), CmdCreateScenario(), CmdSetNewLandscapeType() and CmdGenRandomNewGame().
Darkvater
parents:
1728
diff
changeset
|
51 |
|
1711
1365fd255634
(svn r2215) - Feature: Add a temporary mapsize selector to the intro gui. This is sufficient until the real window is designed & coded.
Darkvater
parents:
1625
diff
changeset
|
52 |
static void SelectGameWndProc(Window *w, WindowEvent *e) |
1365fd255634
(svn r2215) - Feature: Add a temporary mapsize selector to the intro gui. This is sufficient until the real window is designed & coded.
Darkvater
parents:
1625
diff
changeset
|
53 |
{ |
1365fd255634
(svn r2215) - Feature: Add a temporary mapsize selector to the intro gui. This is sufficient until the real window is designed & coded.
Darkvater
parents:
1625
diff
changeset
|
54 |
switch (e->event) { |
4719
fc6e14219f72
(svn r6631) -Codechange: Use accessors for click_state.
belugas
parents:
4634
diff
changeset
|
55 |
case WE_CREATE: LowerWindowWidget(w, _opt_newgame.landscape + 8); break; |
fc6e14219f72
(svn r6631) -Codechange: Use accessors for click_state.
belugas
parents:
4634
diff
changeset
|
56 |
|
0 | 57 |
case WE_PAINT: |
6357
f0f5e7d1713c
(svn r9400) -Codechange: Use some more representative enum names for landscape types.
belugas
parents:
6247
diff
changeset
|
58 |
SetWindowWidgetLoweredState(w, 8, _opt_newgame.landscape == LT_TEMPERATE); |
f0f5e7d1713c
(svn r9400) -Codechange: Use some more representative enum names for landscape types.
belugas
parents:
6247
diff
changeset
|
59 |
SetWindowWidgetLoweredState(w, 9, _opt_newgame.landscape == LT_ARCTIC); |
f0f5e7d1713c
(svn r9400) -Codechange: Use some more representative enum names for landscape types.
belugas
parents:
6247
diff
changeset
|
60 |
SetWindowWidgetLoweredState(w, 10, _opt_newgame.landscape == LT_TROPIC); |
f0f5e7d1713c
(svn r9400) -Codechange: Use some more representative enum names for landscape types.
belugas
parents:
6247
diff
changeset
|
61 |
SetWindowWidgetLoweredState(w, 11, _opt_newgame.landscape == LT_TOYLAND); |
1500
a66721629bc0
(svn r2004) - Fix: [ 1149487 ] Autosave ignoring settings
Darkvater
parents:
1390
diff
changeset
|
62 |
SetDParam(0, STR_6801_EASY + _opt_newgame.diff_level); |
0 | 63 |
DrawWindowWidgets(w); |
64 |
break; |
|
65 |
||
66 |
case WE_CLICK: |
|
4634
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4548
diff
changeset
|
67 |
switch (e->we.click.widget) { |
4300
c7e43c47a2b9
(svn r5946) -Add: merged the TGP branch to mainline. TGP adds:
truelight
parents:
4171
diff
changeset
|
68 |
case 2: ShowGenerateLandscape(); break; |
0 | 69 |
case 3: ShowSaveLoadDialog(SLD_LOAD_GAME); break; |
4300
c7e43c47a2b9
(svn r5946) -Add: merged the TGP branch to mainline. TGP adds:
truelight
parents:
4171
diff
changeset
|
70 |
case 4: ShowSaveLoadDialog(SLD_LOAD_SCENARIO); break; |
c7e43c47a2b9
(svn r5946) -Add: merged the TGP branch to mainline. TGP adds:
truelight
parents:
4171
diff
changeset
|
71 |
case 5: ShowSaveLoadDialog(SLD_LOAD_HEIGHTMAP); break; |
5899
6f5ece1805fe
(svn r8522) -Regression (r8512): The flat/random window moved the to scenario editor did not use the right settings for generating land
Darkvater
parents:
5894
diff
changeset
|
72 |
case 6: StartScenarioEditor(); break; |
4300
c7e43c47a2b9
(svn r5946) -Add: merged the TGP branch to mainline. TGP adds:
truelight
parents:
4171
diff
changeset
|
73 |
case 7: |
105 | 74 |
if (!_network_available) { |
2749
c9312a4a1efe
(svn r3294) - Fix: use INVALID_STRING_ID instead of -1.
Darkvater
parents:
2725
diff
changeset
|
75 |
ShowErrorMessage(INVALID_STRING_ID, STR_NETWORK_ERR_NOTAVAILABLE, 0, 0); |
4077
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3888
diff
changeset
|
76 |
} else { |
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
161
diff
changeset
|
77 |
ShowNetworkGameWindow(); |
4077
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3888
diff
changeset
|
78 |
} |
0 | 79 |
break; |
4300
c7e43c47a2b9
(svn r5946) -Add: merged the TGP branch to mainline. TGP adds:
truelight
parents:
4171
diff
changeset
|
80 |
case 8: case 9: case 10: case 11: |
4719
fc6e14219f72
(svn r6631) -Codechange: Use accessors for click_state.
belugas
parents:
4634
diff
changeset
|
81 |
RaiseWindowWidget(w, _opt_newgame.landscape + 8); |
4634
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4548
diff
changeset
|
82 |
SetNewLandscapeType(e->we.click.widget - 8); |
4300
c7e43c47a2b9
(svn r5946) -Add: merged the TGP branch to mainline. TGP adds:
truelight
parents:
4171
diff
changeset
|
83 |
break; |
c7e43c47a2b9
(svn r5946) -Add: merged the TGP branch to mainline. TGP adds:
truelight
parents:
4171
diff
changeset
|
84 |
case 12: ShowGameOptions(); break; |
c7e43c47a2b9
(svn r5946) -Add: merged the TGP branch to mainline. TGP adds:
truelight
parents:
4171
diff
changeset
|
85 |
case 13: ShowGameDifficulty(); break; |
c7e43c47a2b9
(svn r5946) -Add: merged the TGP branch to mainline. TGP adds:
truelight
parents:
4171
diff
changeset
|
86 |
case 14: ShowPatchesSelection(); break; |
5352
86fca6a41aa1
(svn r7523) -Feature: Add the possibility to change the newgrf configuration of a running game.
Darkvater
parents:
5315
diff
changeset
|
87 |
case 15: ShowNewGRFSettings(true, true, false, &_grfconfig_newgame); break; |
5237
4fce3ea379c2
(svn r7357) -Codechange: new NewGRF set up window which allows modification of NewGRF settings.
peter1138
parents:
4938
diff
changeset
|
88 |
case 16: HandleExitGameRequest(); break; |
129
df1a60bc0d70
(svn r130) Change: hotkey for console is Backquote (the key left to '1', regardless of keyboard layout
dominik
parents:
126
diff
changeset
|
89 |
} |
0 | 90 |
break; |
91 |
} |
|
92 |
} |
|
93 |
||
94 |
static const WindowDesc _select_game_desc = { |
|
5237
4fce3ea379c2
(svn r7357) -Codechange: new NewGRF set up window which allows modification of NewGRF settings.
peter1138
parents:
4938
diff
changeset
|
95 |
WDP_CENTER, WDP_CENTER, 336, 195, |
5893
7e431a4abebb
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium
parents:
5584
diff
changeset
|
96 |
WC_SELECT_GAME, WC_NONE, |
0 | 97 |
WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, |
98 |
_select_game_widgets, |
|
99 |
SelectGameWndProc |
|
100 |
}; |
|
101 |
||
6247 | 102 |
void ShowSelectGameWindow() |
0 | 103 |
{ |
104 |
AllocateWindowDesc(&_select_game_desc); |
|
105 |
} |
|
106 |
||
5419
a3d7068578bd
(svn r7622) -Codechange: Convert some more windows to ShowQuery. This includes the depot
Darkvater
parents:
5352
diff
changeset
|
107 |
static void AskExitGameCallback(Window *w, bool confirmed) |
a3d7068578bd
(svn r7622) -Codechange: Convert some more windows to ShowQuery. This includes the depot
Darkvater
parents:
5352
diff
changeset
|
108 |
{ |
a3d7068578bd
(svn r7622) -Codechange: Convert some more windows to ShowQuery. This includes the depot
Darkvater
parents:
5352
diff
changeset
|
109 |
if (confirmed) _exit_game = true; |
a3d7068578bd
(svn r7622) -Codechange: Convert some more windows to ShowQuery. This includes the depot
Darkvater
parents:
5352
diff
changeset
|
110 |
} |
0 | 111 |
|
6247 | 112 |
void AskExitGame() |
2639 | 113 |
{ |
0 | 114 |
#if defined(_WIN32) |
534
306bc86eb23e
(svn r901) Small step in the process to clean up the DPARAM mess:
tron
parents:
507
diff
changeset
|
115 |
SetDParam(0, STR_0133_WINDOWS); |
0 | 116 |
#elif defined(__APPLE__) |
534
306bc86eb23e
(svn r901) Small step in the process to clean up the DPARAM mess:
tron
parents:
507
diff
changeset
|
117 |
SetDParam(0, STR_0135_OSX); |
0 | 118 |
#elif defined(__BEOS__) |
534
306bc86eb23e
(svn r901) Small step in the process to clean up the DPARAM mess:
tron
parents:
507
diff
changeset
|
119 |
SetDParam(0, STR_OSNAME_BEOS); |
0 | 120 |
#elif defined(__MORPHOS__) |
534
306bc86eb23e
(svn r901) Small step in the process to clean up the DPARAM mess:
tron
parents:
507
diff
changeset
|
121 |
SetDParam(0, STR_OSNAME_MORPHOS); |
867
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
810
diff
changeset
|
122 |
#elif defined(__AMIGA__) |
587 | 123 |
SetDParam(0, STR_OSNAME_AMIGAOS); |
810
a1494b19bd2a
(svn r1281) -Fix: the OS/2 is now finished. Fixes:
truelight
parents:
774
diff
changeset
|
124 |
#elif defined(__OS2__) |
a1494b19bd2a
(svn r1281) -Fix: the OS/2 is now finished. Fixes:
truelight
parents:
774
diff
changeset
|
125 |
SetDParam(0, STR_OSNAME_OS2); |
6221
dcdd06445346
(svn r9018) -Change: added SunOS as OS name in the quit dialog
miham
parents:
6201
diff
changeset
|
126 |
#elif defined(SUNOS) |
dcdd06445346
(svn r9018) -Change: added SunOS as OS name in the quit dialog
miham
parents:
6201
diff
changeset
|
127 |
SetDParam(0, STR_OSNAME_SUNOS); |
0 | 128 |
#else |
534
306bc86eb23e
(svn r901) Small step in the process to clean up the DPARAM mess:
tron
parents:
507
diff
changeset
|
129 |
SetDParam(0, STR_0134_UNIX); |
0 | 130 |
#endif |
5419
a3d7068578bd
(svn r7622) -Codechange: Convert some more windows to ShowQuery. This includes the depot
Darkvater
parents:
5352
diff
changeset
|
131 |
ShowQuery( |
a3d7068578bd
(svn r7622) -Codechange: Convert some more windows to ShowQuery. This includes the depot
Darkvater
parents:
5352
diff
changeset
|
132 |
STR_00C7_QUIT, |
a3d7068578bd
(svn r7622) -Codechange: Convert some more windows to ShowQuery. This includes the depot
Darkvater
parents:
5352
diff
changeset
|
133 |
STR_00CA_ARE_YOU_SURE_YOU_WANT_TO, |
a3d7068578bd
(svn r7622) -Codechange: Convert some more windows to ShowQuery. This includes the depot
Darkvater
parents:
5352
diff
changeset
|
134 |
NULL, |
a3d7068578bd
(svn r7622) -Codechange: Convert some more windows to ShowQuery. This includes the depot
Darkvater
parents:
5352
diff
changeset
|
135 |
AskExitGameCallback |
a3d7068578bd
(svn r7622) -Codechange: Convert some more windows to ShowQuery. This includes the depot
Darkvater
parents:
5352
diff
changeset
|
136 |
); |
0 | 137 |
} |
138 |
||
139 |
||
5419
a3d7068578bd
(svn r7622) -Codechange: Convert some more windows to ShowQuery. This includes the depot
Darkvater
parents:
5352
diff
changeset
|
140 |
static void AskExitToGameMenuCallback(Window *w, bool confirmed) |
2639 | 141 |
{ |
5419
a3d7068578bd
(svn r7622) -Codechange: Convert some more windows to ShowQuery. This includes the depot
Darkvater
parents:
5352
diff
changeset
|
142 |
if (confirmed) _switch_mode = SM_MENU; |
0 | 143 |
} |
144 |
||
6247 | 145 |
void AskExitToGameMenu() |
0 | 146 |
{ |
5419
a3d7068578bd
(svn r7622) -Codechange: Convert some more windows to ShowQuery. This includes the depot
Darkvater
parents:
5352
diff
changeset
|
147 |
ShowQuery( |
a3d7068578bd
(svn r7622) -Codechange: Convert some more windows to ShowQuery. This includes the depot
Darkvater
parents:
5352
diff
changeset
|
148 |
STR_0161_QUIT_GAME, |
a3d7068578bd
(svn r7622) -Codechange: Convert some more windows to ShowQuery. This includes the depot
Darkvater
parents:
5352
diff
changeset
|
149 |
(_game_mode != GM_EDITOR) ? STR_ABANDON_GAME_QUERY : STR_QUIT_SCENARIO_QUERY, |
a3d7068578bd
(svn r7622) -Codechange: Convert some more windows to ShowQuery. This includes the depot
Darkvater
parents:
5352
diff
changeset
|
150 |
NULL, |
a3d7068578bd
(svn r7622) -Codechange: Convert some more windows to ShowQuery. This includes the depot
Darkvater
parents:
5352
diff
changeset
|
151 |
AskExitToGameMenuCallback |
a3d7068578bd
(svn r7622) -Codechange: Convert some more windows to ShowQuery. This includes the depot
Darkvater
parents:
5352
diff
changeset
|
152 |
); |
0 | 153 |
} |