Mercurial > hg > openttd
annotate src/main_gui.cpp @ 13792:a998faa00d15 draft
(svn r18318) -Codechange: add an enum value for manual window placement
author | rubidium <rubidium@openttd.org> |
---|---|
date | Sat, 28 Nov 2009 13:54:28 +0000 (2009-11-28) |
parents | 2123810ad874 |
children | 3e68f07eb821 |
rev | line source |
---|---|
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1 /* $Id$ */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2 |
12778
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12632
diff
changeset
|
3 /* |
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12632
diff
changeset
|
4 * This file is part of OpenTTD. |
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12632
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. |
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12632
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. |
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12632
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/>. |
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12632
diff
changeset
|
8 */ |
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12632
diff
changeset
|
9 |
9111
d48433370037
(svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.
rubidium <rubidium@openttd.org>
parents:
8994
diff
changeset
|
10 /** @file main_gui.cpp Handling of the main viewport. */ |
6201
3b141366478a
(svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents:
5894
diff
changeset
|
11 |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
12 #include "stdafx.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
13 #include "openttd.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
14 #include "currency.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
15 #include "spritecache.h" |
8107
f65cf2bc3255
(svn r11668) -Codechange: more refactoring aimed at reducing compile time and making it more logic where function definitions can be found.
rubidium <rubidium@openttd.org>
parents:
8106
diff
changeset
|
16 #include "window_gui.h" |
f65cf2bc3255
(svn r11668) -Codechange: more refactoring aimed at reducing compile time and making it more logic where function definitions can be found.
rubidium <rubidium@openttd.org>
parents:
8106
diff
changeset
|
17 #include "window_func.h" |
f65cf2bc3255
(svn r11668) -Codechange: more refactoring aimed at reducing compile time and making it more logic where function definitions can be found.
rubidium <rubidium@openttd.org>
parents:
8106
diff
changeset
|
18 #include "textbuf_gui.h" |
8224
c45446125bf0
(svn r11787) -Codechange: more header rewrites. This time related to viewport.h.
rubidium <rubidium@openttd.org>
parents:
8214
diff
changeset
|
19 #include "viewport_func.h" |
8116
9cc845deddfe
(svn r11677) -Codechange: move price and command related types/functions to their respective places.
rubidium <rubidium@openttd.org>
parents:
8114
diff
changeset
|
20 #include "command_func.h" |
9336
5287277c4972
(svn r13228) -Codechange: split console.h.
rubidium <rubidium@openttd.org>
parents:
9301
diff
changeset
|
21 #include "console_gui.h" |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
22 #include "genworld.h" |
6427
2437ed7b277c
(svn r9563) -Feature: Add more finer control to transparency options, including a new toolbar, accessible from the map menu or Ctrl X. Patch by Wolf01.
peter1138 <peter1138@openttd.org>
parents:
6357
diff
changeset
|
23 #include "transparency_gui.h" |
8131
e300ac8001ae
(svn r11692) -Codechange: move some functions from 'functions.h' to a more logical place and remove about 50% of the includes of 'functions.h'
rubidium <rubidium@openttd.org>
parents:
8123
diff
changeset
|
24 #include "functions.h" |
8157
019833e42fda
(svn r11719) -Codechange: split sound.h in a header with types and one with functions.
rubidium <rubidium@openttd.org>
parents:
8149
diff
changeset
|
25 #include "sound_func.h" |
7849
e6ee8bfd9045
(svn r11399) -Feature(ette): transparency settings can now be saved and thus remembered.
belugas <belugas@openttd.org>
parents:
7824
diff
changeset
|
26 #include "transparency.h" |
8114
2d6af5d7a142
(svn r11675) -Codechange: split the string types from the string functions.
rubidium <rubidium@openttd.org>
parents:
8111
diff
changeset
|
27 #include "strings_func.h" |
8123
c26c28875749
(svn r11684) -Codechange: split gfx.h in a type and functional header.
rubidium <rubidium@openttd.org>
parents:
8121
diff
changeset
|
28 #include "zoom_func.h" |
10208
39cf8eebfda5
(svn r14422) -Codechange: also reflect the changes of r14421 in the filenames.
rubidium <rubidium@openttd.org>
parents:
10207
diff
changeset
|
29 #include "company_base.h" |
39cf8eebfda5
(svn r14422) -Codechange: also reflect the changes of r14421 in the filenames.
rubidium <rubidium@openttd.org>
parents:
10207
diff
changeset
|
30 #include "company_func.h" |
8723
36823c86c7f1
(svn r12398) -Codechange [FS#1770]: Move toolbar related code to it's own little neighbourhood. Based on a patch by Dominik.
rubidium <rubidium@openttd.org>
parents:
8615
diff
changeset
|
31 #include "toolbar_gui.h" |
9248
2588c85f3a5a
(svn r13114) -Codechange: use InvalidateData instead of direct window access to modify the state of the statusbar from outside the statusbar.
rubidium <rubidium@openttd.org>
parents:
9240
diff
changeset
|
32 #include "statusbar_gui.h" |
9127
428852b86d4d
(svn r12987) -Codechange: split viewport and tile selection.
rubidium <rubidium@openttd.org>
parents:
9116
diff
changeset
|
33 #include "tilehighlight_func.h" |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
34 |
8264
2495310e220f
(svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium <rubidium@openttd.org>
parents:
8254
diff
changeset
|
35 #include "network/network.h" |
9428
ba7cdcf21f4c
(svn r13343) -Codechange: reorder/move variable/functions in the network headers so that nothing from the network directory needs to include basically all network headers.
rubidium <rubidium@openttd.org>
parents:
9413
diff
changeset
|
36 #include "network/network_func.h" |
8264
2495310e220f
(svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium <rubidium@openttd.org>
parents:
8254
diff
changeset
|
37 #include "network/network_gui.h" |
10468
0edf9b619634
(svn r14723) -Codechange: shuffling some stuff around to reduce indirect #include dependencies.
rubidium <rubidium@openttd.org>
parents:
10462
diff
changeset
|
38 #include "network/network_base.h" |
8264
2495310e220f
(svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium <rubidium@openttd.org>
parents:
8254
diff
changeset
|
39 |
2495310e220f
(svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium <rubidium@openttd.org>
parents:
8254
diff
changeset
|
40 #include "table/sprites.h" |
2495310e220f
(svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium <rubidium@openttd.org>
parents:
8254
diff
changeset
|
41 #include "table/strings.h" |
2495310e220f
(svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium <rubidium@openttd.org>
parents:
8254
diff
changeset
|
42 |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
43 static int _rename_id = 1; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
44 static int _rename_what = -1; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
45 |
6847
506a6e1063f4
(svn r10087) -Fix [FS#834]: multiple subsequent "give money" actions could result in duplicate messages that money has been transfered when it only happened once.
rubidium <rubidium@openttd.org>
parents:
6845
diff
changeset
|
46 void CcGiveMoney(bool success, TileIndex tile, uint32 p1, uint32 p2) |
506a6e1063f4
(svn r10087) -Fix [FS#834]: multiple subsequent "give money" actions could result in duplicate messages that money has been transfered when it only happened once.
rubidium <rubidium@openttd.org>
parents:
6845
diff
changeset
|
47 { |
6898
a7d1b5936638
(svn r10145) -Fix: make compiling with networking disabled (again) possible.
rubidium <rubidium@openttd.org>
parents:
6857
diff
changeset
|
48 #ifdef ENABLE_NETWORK |
9413
512ea64da840
(svn r13325) -Codechange: split the client-side only settings from the settings stored in the savegame so there is no need to have a duplicate copy of it for new games.
rubidium <rubidium@openttd.org>
parents:
9354
diff
changeset
|
49 if (!success || !_settings_game.economy.give_money) return; |
6847
506a6e1063f4
(svn r10087) -Fix [FS#834]: multiple subsequent "give money" actions could result in duplicate messages that money has been transfered when it only happened once.
rubidium <rubidium@openttd.org>
parents:
6845
diff
changeset
|
50 |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10145
diff
changeset
|
51 /* Inform the company of the action of one of it's clients (controllers). */ |
10507
5e0fb429b3ae
(svn r14764) -Codechange: make the '***' chat messages like "Game paused (not enough players)" fully translateable.
rubidium <rubidium@openttd.org>
parents:
10499
diff
changeset
|
52 char msg[64]; |
5e0fb429b3ae
(svn r14764) -Codechange: make the '***' chat messages like "Game paused (not enough players)" fully translateable.
rubidium <rubidium@openttd.org>
parents:
10499
diff
changeset
|
53 SetDParam(0, p2); |
5e0fb429b3ae
(svn r14764) -Codechange: make the '***' chat messages like "Game paused (not enough players)" fully translateable.
rubidium <rubidium@openttd.org>
parents:
10499
diff
changeset
|
54 GetString(msg, STR_COMPANY_NAME, lastof(msg)); |
6847
506a6e1063f4
(svn r10087) -Fix [FS#834]: multiple subsequent "give money" actions could result in duplicate messages that money has been transfered when it only happened once.
rubidium <rubidium@openttd.org>
parents:
6845
diff
changeset
|
55 |
506a6e1063f4
(svn r10087) -Fix [FS#834]: multiple subsequent "give money" actions could result in duplicate messages that money has been transfered when it only happened once.
rubidium <rubidium@openttd.org>
parents:
6845
diff
changeset
|
56 if (!_network_server) { |
10507
5e0fb429b3ae
(svn r14764) -Codechange: make the '***' chat messages like "Game paused (not enough players)" fully translateable.
rubidium <rubidium@openttd.org>
parents:
10499
diff
changeset
|
57 NetworkClientSendChat(NETWORK_ACTION_GIVE_MONEY, DESTTYPE_TEAM, p2, msg, p1); |
6847
506a6e1063f4
(svn r10087) -Fix [FS#834]: multiple subsequent "give money" actions could result in duplicate messages that money has been transfered when it only happened once.
rubidium <rubidium@openttd.org>
parents:
6845
diff
changeset
|
58 } else { |
10507
5e0fb429b3ae
(svn r14764) -Codechange: make the '***' chat messages like "Game paused (not enough players)" fully translateable.
rubidium <rubidium@openttd.org>
parents:
10499
diff
changeset
|
59 NetworkServerSendChat(NETWORK_ACTION_GIVE_MONEY, DESTTYPE_TEAM, p2, msg, CLIENT_ID_SERVER, p1); |
6847
506a6e1063f4
(svn r10087) -Fix [FS#834]: multiple subsequent "give money" actions could result in duplicate messages that money has been transfered when it only happened once.
rubidium <rubidium@openttd.org>
parents:
6845
diff
changeset
|
60 } |
6898
a7d1b5936638
(svn r10145) -Fix: make compiling with networking disabled (again) possible.
rubidium <rubidium@openttd.org>
parents:
6857
diff
changeset
|
61 #endif /* ENABLE_NETWORK */ |
6847
506a6e1063f4
(svn r10087) -Fix [FS#834]: multiple subsequent "give money" actions could result in duplicate messages that money has been transfered when it only happened once.
rubidium <rubidium@openttd.org>
parents:
6845
diff
changeset
|
62 } |
506a6e1063f4
(svn r10087) -Fix [FS#834]: multiple subsequent "give money" actions could result in duplicate messages that money has been transfered when it only happened once.
rubidium <rubidium@openttd.org>
parents:
6845
diff
changeset
|
63 |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
64 void HandleOnEditText(const char *str) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
65 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
66 switch (_rename_what) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
67 #ifdef ENABLE_NETWORK |
6201
3b141366478a
(svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents:
5894
diff
changeset
|
68 case 3: { // Give money, you can only give money in excess of loan |
13444
bc21e507dd03
(svn r17953) -Fix: when you start giving money (input window for amount), then get moved to spectators and you click 'Ok' a crash would occur
rubidium <rubidium@openttd.org>
parents:
13344
diff
changeset
|
69 const Company *c = Company::GetIfValid(_local_company); |
bc21e507dd03
(svn r17953) -Fix: when you start giving money (input window for amount), then get moved to spectators and you click 'Ok' a crash would occur
rubidium <rubidium@openttd.org>
parents:
13344
diff
changeset
|
70 if (c == NULL) break; |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10145
diff
changeset
|
71 Money money = min(c->money - c->current_loan, (Money)(atoi(str) / _currency->rate)); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
72 |
7922
ff1975ced735
(svn r11475) -Codechange: rename clamp and clampu to Clamp and ClampU to fit with the coding style
skidd13 <skidd13@openttd.org>
parents:
7889
diff
changeset
|
73 uint32 money_c = Clamp(ClampToI32(money), 0, 20000000); // Clamp between 20 million and 0 |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
74 |
6201
3b141366478a
(svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents:
5894
diff
changeset
|
75 /* Give 'id' the money, and substract it from ourself */ |
12632
e41943276802
(svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives
rubidium <rubidium@openttd.org>
parents:
12581
diff
changeset
|
76 DoCommandP(0, money_c, _rename_id, CMD_GIVE_MONEY | CMD_MSG(STR_ERROR_INSUFFICIENT_FUNDS), CcGiveMoney, str); |
6492
e0b6c88a6650
(svn r9673) -Cleanup: remove spaces before tabs and replace non-indenting tabs with spaces.
rubidium <rubidium@openttd.org>
parents:
6486
diff
changeset
|
77 } break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
78 #endif /* ENABLE_NETWORK */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
79 default: NOT_REACHED(); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
80 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
81 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
82 _rename_id = _rename_what = -1; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
83 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
84 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
85 /** |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
86 * This code is shared for the majority of the pushbuttons. |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
87 * Handles e.g. the pressing of a button (to build things), playing of click sound and sets certain parameters |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
88 * |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
89 * @param w Window which called the function |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
90 * @param widget ID of the widget (=button) that called this function |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
91 * @param cursor How should the cursor image change? E.g. cursor with depot image in it |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
92 * @param mode Tile highlighting mode, e.g. drawing a rectangle or a dot on the ground |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
93 * @param placeproc Procedure which will be called when someone clicks on the map |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
94 * @return true if the button is clicked, false if it's unclicked |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
95 */ |
11702
cdaad565efe5
(svn r16088) -Codechange: merge HighLightStyle and ViewportHighlightMode as they are basically the same thing
rubidium <rubidium@openttd.org>
parents:
11375
diff
changeset
|
96 bool HandlePlacePushButton(Window *w, int widget, CursorID cursor, HighLightStyle mode, PlaceProc *placeproc) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
97 { |
7997
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
98 if (w->IsWidgetDisabled(widget)) return false; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
99 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
100 SndPlayFx(SND_15_BEEP); |
9116
44beb31166aa
(svn r12976) -Codechange: use w->SetDirty() instead of SetWindowDirty(w) when it's certain that w != NULL.
rubidium <rubidium@openttd.org>
parents:
9111
diff
changeset
|
101 w->SetDirty(); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
102 |
7997
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
103 if (w->IsWidgetLowered(widget)) { |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
104 ResetObjectToPlace(); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
105 return false; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
106 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
107 |
5668
3d6d9bff3dd8
(svn r8128) -Codechange: Split sprite and palette remap into separate 32 bit values.
peter1138 <peter1138@openttd.org>
parents:
5601
diff
changeset
|
108 SetObjectToPlace(cursor, PAL_NONE, mode, w->window_class, w->window_number); |
7997
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
109 w->LowerWidget(widget); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
110 _place_proc = placeproc; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
111 return true; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
112 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
113 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
114 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
115 void CcPlaySound10(bool success, TileIndex tile, uint32 p1, uint32 p2) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
116 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
117 if (success) SndPlayTileFx(SND_12_EXPLOSION, tile); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
118 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
119 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
120 #ifdef ENABLE_NETWORK |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10145
diff
changeset
|
121 void ShowNetworkGiveMoneyWindow(CompanyID company) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
122 { |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10145
diff
changeset
|
123 _rename_id = company; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
124 _rename_what = 3; |
10145
dbe302da93a8
(svn r14331) -Codechange: use an enum as additional parameter for ShowQueryString()
smatz <smatz@openttd.org>
parents:
10056
diff
changeset
|
125 ShowQueryString(STR_EMPTY, STR_NETWORK_GIVE_MONEY_CAPTION, 30, 180, NULL, CS_NUMERAL, QSF_NONE); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
126 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
127 #endif /* ENABLE_NETWORK */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
128 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
129 |
11368
82c90cd591ab
(svn r15718) -Cleanup: apply some comment coding style on the rest of the sources too
rubidium <rubidium@openttd.org>
parents:
11361
diff
changeset
|
130 /* Zooms a viewport in a window in or out |
82c90cd591ab
(svn r15718) -Cleanup: apply some comment coding style on the rest of the sources too
rubidium <rubidium@openttd.org>
parents:
11361
diff
changeset
|
131 * No button handling or what so ever */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
132 bool DoZoomInOutWindow(int how, Window *w) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
133 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
134 ViewPort *vp; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
135 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
136 assert(w != NULL); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
137 vp = w->viewport; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
138 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
139 switch (how) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
140 case ZOOM_IN: |
6626
f940341a80f0
(svn r9846) -Codechange: introduced ZOOM_LVL_MIN and ZOOM_LVL_MAX for the obvious reasons
truelight <truelight@openttd.org>
parents:
6624
diff
changeset
|
141 if (vp->zoom == ZOOM_LVL_MIN) return false; |
8095
538d8ce486cd
(svn r11656) -Codechange: add ZOOM_LVL_BEGIN and postfix operators so ZoomLevel can be used in some iterations
smatz <smatz@openttd.org>
parents:
8082
diff
changeset
|
142 vp->zoom = (ZoomLevel)((int)vp->zoom - 1); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
143 vp->virtual_width >>= 1; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
144 vp->virtual_height >>= 1; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
145 |
9184
a7020e34c67b
(svn r13047) -Codechange: remove vp_d
glx <glx@openttd.org>
parents:
9165
diff
changeset
|
146 w->viewport->scrollpos_x += vp->virtual_width >> 1; |
a7020e34c67b
(svn r13047) -Codechange: remove vp_d
glx <glx@openttd.org>
parents:
9165
diff
changeset
|
147 w->viewport->scrollpos_y += vp->virtual_height >> 1; |
a7020e34c67b
(svn r13047) -Codechange: remove vp_d
glx <glx@openttd.org>
parents:
9165
diff
changeset
|
148 w->viewport->dest_scrollpos_x = w->viewport->scrollpos_x; |
a7020e34c67b
(svn r13047) -Codechange: remove vp_d
glx <glx@openttd.org>
parents:
9165
diff
changeset
|
149 w->viewport->dest_scrollpos_y = w->viewport->scrollpos_y; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
150 break; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
151 case ZOOM_OUT: |
6626
f940341a80f0
(svn r9846) -Codechange: introduced ZOOM_LVL_MIN and ZOOM_LVL_MAX for the obvious reasons
truelight <truelight@openttd.org>
parents:
6624
diff
changeset
|
152 if (vp->zoom == ZOOM_LVL_MAX) return false; |
8095
538d8ce486cd
(svn r11656) -Codechange: add ZOOM_LVL_BEGIN and postfix operators so ZoomLevel can be used in some iterations
smatz <smatz@openttd.org>
parents:
8082
diff
changeset
|
153 vp->zoom = (ZoomLevel)((int)vp->zoom + 1); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
154 |
9184
a7020e34c67b
(svn r13047) -Codechange: remove vp_d
glx <glx@openttd.org>
parents:
9165
diff
changeset
|
155 w->viewport->scrollpos_x -= vp->virtual_width >> 1; |
a7020e34c67b
(svn r13047) -Codechange: remove vp_d
glx <glx@openttd.org>
parents:
9165
diff
changeset
|
156 w->viewport->scrollpos_y -= vp->virtual_height >> 1; |
a7020e34c67b
(svn r13047) -Codechange: remove vp_d
glx <glx@openttd.org>
parents:
9165
diff
changeset
|
157 w->viewport->dest_scrollpos_x = w->viewport->scrollpos_x; |
a7020e34c67b
(svn r13047) -Codechange: remove vp_d
glx <glx@openttd.org>
parents:
9165
diff
changeset
|
158 w->viewport->dest_scrollpos_y = w->viewport->scrollpos_y; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
159 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
160 vp->virtual_width <<= 1; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
161 vp->virtual_height <<= 1; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
162 break; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
163 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
164 if (vp != NULL) { // the vp can be null when how == ZOOM_NONE |
9184
a7020e34c67b
(svn r13047) -Codechange: remove vp_d
glx <glx@openttd.org>
parents:
9165
diff
changeset
|
165 vp->virtual_left = w->viewport->scrollpos_x; |
a7020e34c67b
(svn r13047) -Codechange: remove vp_d
glx <glx@openttd.org>
parents:
9165
diff
changeset
|
166 vp->virtual_top = w->viewport->scrollpos_y; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
167 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
168 /* Update the windows that have zoom-buttons to perhaps disable their buttons */ |
13168
b3177ea0bd67
(svn r17673) -Codechange: make InvalidateThisWindowData a function of the window class
rubidium <rubidium@openttd.org>
parents:
13072
diff
changeset
|
169 w->InvalidateData(); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
170 return true; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
171 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
172 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
173 void ZoomInOrOutToCursorWindow(bool in, Window *w) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
174 { |
8723
36823c86c7f1
(svn r12398) -Codechange [FS#1770]: Move toolbar related code to it's own little neighbourhood. Based on a patch by Dominik.
rubidium <rubidium@openttd.org>
parents:
8615
diff
changeset
|
175 assert(w != NULL); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
176 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
177 if (_game_mode != GM_MENU) { |
8723
36823c86c7f1
(svn r12398) -Codechange [FS#1770]: Move toolbar related code to it's own little neighbourhood. Based on a patch by Dominik.
rubidium <rubidium@openttd.org>
parents:
8615
diff
changeset
|
178 ViewPort *vp = w->viewport; |
6626
f940341a80f0
(svn r9846) -Codechange: introduced ZOOM_LVL_MIN and ZOOM_LVL_MAX for the obvious reasons
truelight <truelight@openttd.org>
parents:
6624
diff
changeset
|
179 if ((in && vp->zoom == ZOOM_LVL_MIN) || (!in && vp->zoom == ZOOM_LVL_MAX)) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
180 return; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
181 |
10642
29bc871ff8d1
(svn r14944) -Cleanup: add spaces around some operators
rubidium <rubidium@openttd.org>
parents:
10507
diff
changeset
|
182 Point pt = GetTileZoomCenterWindow(in, w); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
183 if (pt.x != -1) { |
11375
1d342902ac94
(svn r15725) -Fix: centering on a vehicle didn't respect its z coordinate
smatz <smatz@openttd.org>
parents:
11368
diff
changeset
|
184 ScrollWindowTo(pt.x, pt.y, -1, w, true); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
185 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
186 DoZoomInOutWindow(in ? ZOOM_IN : ZOOM_OUT, w); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
187 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
188 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
189 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
190 |
12391
b7b1110f6c24
(svn r16821) -Codechange: unify the naming of type::UpdateVirtCoord and UpdateAll[Type]VirtCoords.
rubidium <rubidium@openttd.org>
parents:
11922
diff
changeset
|
191 extern void UpdateAllStationVirtCoords(); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
192 |
12581
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
193 /** Widgets of the main window. */ |
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
194 enum MainWindowWidgets { |
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
195 MW_VIEWPORT, ///< Main window viewport. |
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
196 }; |
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
197 |
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
198 static const struct NWidgetPart _nested_main_window_widgets[] = { |
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
199 NWidget(NWID_VIEWPORT, INVALID_COLOUR, MW_VIEWPORT), SetResize(1, 1), |
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
200 }; |
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
201 |
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
202 static const WindowDesc _main_window_desc( |
13792
a998faa00d15
(svn r18318) -Codechange: add an enum value for manual window placement
rubidium <rubidium@openttd.org>
parents:
13628
diff
changeset
|
203 WDP_MANUAL, WDP_MANUAL, 0, 0, |
12581
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
204 WC_MAIN_WINDOW, WC_NONE, |
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
205 0, |
13564
bae287664b02
(svn r18086) -Codechange: remove 'widget' from WindowDesc
rubidium <rubidium@openttd.org>
parents:
13444
diff
changeset
|
206 _nested_main_window_widgets, lengthof(_nested_main_window_widgets) |
12581
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
207 ); |
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
208 |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
209 struct MainWindow : Window |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
210 { |
12581
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
211 MainWindow() : Window() |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
212 { |
12581
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
213 this->InitNested(&_main_window_desc, 0); |
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
214 ResizeWindow(this, _screen.width, _screen.height); |
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
215 |
13072
75bd67594af2
(svn r17572) -Codechange: Use the Window::GetWidget() function to access nested widgets through the nested_array.
alberth <alberth@openttd.org>
parents:
12778
diff
changeset
|
216 NWidgetViewport *nvp = this->GetWidget<NWidgetViewport>(MW_VIEWPORT); |
12581
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
217 nvp->InitializeViewport(this, TileXY(32, 32), ZOOM_LVL_VIEWPORT); |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
218 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
219 |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
220 virtual void OnPaint() |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
221 { |
12581
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
222 this->DrawWidgets(); |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
223 if (_game_mode == GM_MENU) { |
12581
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
224 int off_x = this->width / 2; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
225 |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
226 DrawSprite(SPR_OTTD_O, PAL_NONE, off_x - 120, 50); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
227 DrawSprite(SPR_OTTD_P, PAL_NONE, off_x - 86, 50); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
228 DrawSprite(SPR_OTTD_E, PAL_NONE, off_x - 53, 50); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
229 DrawSprite(SPR_OTTD_N, PAL_NONE, off_x - 22, 50); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
230 |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
231 DrawSprite(SPR_OTTD_T, PAL_NONE, off_x + 34, 50); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
232 DrawSprite(SPR_OTTD_T, PAL_NONE, off_x + 65, 50); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
233 DrawSprite(SPR_OTTD_D, PAL_NONE, off_x + 96, 50); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
234 } |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
235 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
236 |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
237 virtual EventState OnKeyPress(uint16 key, uint16 keycode) |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
238 { |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
239 switch (keycode) { |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
240 case 'Q' | WKC_CTRL: |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
241 case 'Q' | WKC_META: |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
242 HandleExitGameRequest(); |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
243 return ES_HANDLED; |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
244 } |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
245 |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
246 /* Disable all key shortcuts, except quit shortcuts when |
11361
02313cc6114e
(svn r15711) -Codechange: lots of whitespace cleanup/fixes
rubidium <rubidium@openttd.org>
parents:
11085
diff
changeset
|
247 * generating the world, otherwise they create threading |
02313cc6114e
(svn r15711) -Codechange: lots of whitespace cleanup/fixes
rubidium <rubidium@openttd.org>
parents:
11085
diff
changeset
|
248 * problem during the generating, resulting in random |
02313cc6114e
(svn r15711) -Codechange: lots of whitespace cleanup/fixes
rubidium <rubidium@openttd.org>
parents:
11085
diff
changeset
|
249 * assertions that are hard to trigger and debug */ |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
250 if (IsGeneratingWorld()) return ES_NOT_HANDLED; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
251 |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
252 if (keycode == WKC_BACKQUOTE) { |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
253 IConsoleSwitch(); |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
254 return ES_HANDLED; |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
255 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
256 |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
257 if (keycode == ('B' | WKC_CTRL)) { |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
258 extern bool _draw_bounding_boxes; |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
259 _draw_bounding_boxes = !_draw_bounding_boxes; |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
260 MarkWholeScreenDirty(); |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
261 return ES_HANDLED; |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
262 } |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
263 |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
264 if (_game_mode == GM_MENU) return ES_NOT_HANDLED; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
265 |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
266 switch (keycode) { |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
267 case 'C': |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
268 case 'Z': { |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
269 Point pt = GetTileBelowCursor(); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
270 if (pt.x != -1) { |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
271 if (keycode == 'Z') MaxZoomInOut(ZOOM_IN, this); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
272 ScrollMainWindowTo(pt.x, pt.y); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
273 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
274 break; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
275 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
276 |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
277 case WKC_ESC: ResetObjectToPlace(); break; |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
278 case WKC_DELETE: DeleteNonVitalWindows(); break; |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
279 case WKC_DELETE | WKC_SHIFT: DeleteAllNonVitalWindows(); break; |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
280 case 'R' | WKC_CTRL: MarkWholeScreenDirty(); break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
281 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
282 #if defined(_DEBUG) |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
283 case '0' | WKC_ALT: // Crash the game |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
284 *(byte*)0 = 0; |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
285 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
286 |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
287 case '1' | WKC_ALT: // Gimme money |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
288 /* Server can not cheat in advertise mode either! */ |
10382
65c13f6ed86f
(svn r14633) -Fix: compile failure when building a debug build without network support.
rubidium <rubidium@openttd.org>
parents:
10208
diff
changeset
|
289 #ifdef ENABLE_NETWORK |
9481
cbb53dc04d5b
(svn r13433) -Codechange: remove a now useless global variable.
rubidium <rubidium@openttd.org>
parents:
9428
diff
changeset
|
290 if (!_networking || !_network_server || !_settings_client.network.server_advertise) |
10382
65c13f6ed86f
(svn r14633) -Fix: compile failure when building a debug build without network support.
rubidium <rubidium@openttd.org>
parents:
10208
diff
changeset
|
291 #endif /* ENABLE_NETWORK */ |
10499
45ca88a8de7d
(svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter.
rubidium <rubidium@openttd.org>
parents:
10468
diff
changeset
|
292 DoCommandP(0, 10000000, 0, CMD_MONEY_CHEAT); |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
293 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
294 |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
295 case '2' | WKC_ALT: // Update the coordinates of all station signs |
12391
b7b1110f6c24
(svn r16821) -Codechange: unify the naming of type::UpdateVirtCoord and UpdateAll[Type]VirtCoords.
rubidium <rubidium@openttd.org>
parents:
11922
diff
changeset
|
296 UpdateAllStationVirtCoords(); |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
297 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
298 #endif |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
299 |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
300 case '1' | WKC_CTRL: |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
301 case '2' | WKC_CTRL: |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
302 case '3' | WKC_CTRL: |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
303 case '4' | WKC_CTRL: |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
304 case '5' | WKC_CTRL: |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
305 case '6' | WKC_CTRL: |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
306 case '7' | WKC_CTRL: |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
307 case '8' | WKC_CTRL: |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
308 case '9' | WKC_CTRL: |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
309 /* Transparency toggle hot keys */ |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
310 ToggleTransparency((TransparencyOption)(keycode - ('1' | WKC_CTRL))); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
311 MarkWholeScreenDirty(); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
312 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
313 |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
314 case '1' | WKC_CTRL | WKC_SHIFT: |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
315 case '2' | WKC_CTRL | WKC_SHIFT: |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
316 case '3' | WKC_CTRL | WKC_SHIFT: |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
317 case '4' | WKC_CTRL | WKC_SHIFT: |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
318 case '5' | WKC_CTRL | WKC_SHIFT: |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
319 case '6' | WKC_CTRL | WKC_SHIFT: |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
320 case '7' | WKC_CTRL | WKC_SHIFT: |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
321 case '8' | WKC_CTRL | WKC_SHIFT: |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
322 /* Invisibility toggle hot keys */ |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
323 ToggleInvisibilityWithTransparency((TransparencyOption)(keycode - ('1' | WKC_CTRL | WKC_SHIFT))); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
324 MarkWholeScreenDirty(); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
325 break; |
8806
104bbcae351d
(svn r12547) -Feature: invisibility options to make objects invisible instead of transparent
smatz <smatz@openttd.org>
parents:
8790
diff
changeset
|
326 |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
327 case 'X' | WKC_CTRL: |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
328 ShowTransparencyToolbar(); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
329 break; |
6427
2437ed7b277c
(svn r9563) -Feature: Add more finer control to transparency options, including a new toolbar, accessible from the map menu or Ctrl X. Patch by Wolf01.
peter1138 <peter1138@openttd.org>
parents:
6357
diff
changeset
|
330 |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
331 case 'X': |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
332 ResetRestoreAllTransparency(); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
333 break; |
6427
2437ed7b277c
(svn r9563) -Feature: Add more finer control to transparency options, including a new toolbar, accessible from the map menu or Ctrl X. Patch by Wolf01.
peter1138 <peter1138@openttd.org>
parents:
6357
diff
changeset
|
334 |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
335 #ifdef ENABLE_NETWORK |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
336 case WKC_RETURN: case 'T': // smart chat; send to team if any, otherwise to all |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
337 if (_networking) { |
10462
435b95d3074d
(svn r14717) -Change: more 'Index' -> ClientID to not confuse ClientID and ClientIndex
rubidium <rubidium@openttd.org>
parents:
10460
diff
changeset
|
338 const NetworkClientInfo *cio = NetworkFindClientInfoFromClientID(_network_own_client_id); |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
339 if (cio == NULL) break; |
5672
e6ba5c304b87
(svn r8132) -Fix (r6824): The game could crash when the chat key (<ENTER>) is pressed too vehemently during the join of the game. Your client's id does not exist in the clients list yet, and returns NULL.
Darkvater <Darkvater@openttd.org>
parents:
5668
diff
changeset
|
340 |
10460
8ce8857713b8
(svn r14715) -Codechange: move some network code from the main gui file into one of the the network files.
rubidium <rubidium@openttd.org>
parents:
10454
diff
changeset
|
341 ShowNetworkChatQueryWindow(NetworkClientPreferTeamChat(cio) ? DESTTYPE_TEAM : DESTTYPE_BROADCAST, cio->client_playas); |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
342 } |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
343 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
344 |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10145
diff
changeset
|
345 case WKC_SHIFT | WKC_RETURN: case WKC_SHIFT | 'T': // send text message to all clients |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
346 if (_networking) ShowNetworkChatQueryWindow(DESTTYPE_BROADCAST, 0); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
347 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
348 |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
349 case WKC_CTRL | WKC_RETURN: case WKC_CTRL | 'T': // send text to all team mates |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
350 if (_networking) { |
10462
435b95d3074d
(svn r14717) -Change: more 'Index' -> ClientID to not confuse ClientID and ClientIndex
rubidium <rubidium@openttd.org>
parents:
10460
diff
changeset
|
351 const NetworkClientInfo *cio = NetworkFindClientInfoFromClientID(_network_own_client_id); |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
352 if (cio == NULL) break; |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
353 |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
354 ShowNetworkChatQueryWindow(DESTTYPE_TEAM, cio->client_playas); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
355 } |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
356 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
357 #endif |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
358 |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
359 default: return ES_NOT_HANDLED; |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
360 } |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
361 return ES_HANDLED; |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
362 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
363 |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
364 virtual void OnScroll(Point delta) |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
365 { |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
366 ViewPort *vp = IsPtInWindowViewport(this, _cursor.pos.x, _cursor.pos.y); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
367 |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
368 if (vp == NULL) { |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
369 _cursor.fix_at = false; |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
370 _scrolling_viewport = false; |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
371 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
372 |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
373 this->viewport->scrollpos_x += ScaleByZoom(delta.x, vp->zoom); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
374 this->viewport->scrollpos_y += ScaleByZoom(delta.y, vp->zoom); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
375 this->viewport->dest_scrollpos_x = this->viewport->scrollpos_x; |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
376 this->viewport->dest_scrollpos_y = this->viewport->scrollpos_y; |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
377 }; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
378 |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
379 virtual void OnMouseWheel(int wheel) |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
380 { |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
381 ZoomInOrOutToCursorWindow(wheel < 0, this); |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
382 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
383 |
13344
04b02b2cfa2b
(svn r17853) -Codechange: remove the 'delta' parameter from OnResize; it was used in ways that aren't always wanted, causing bugs and the like. Also with nested widgets most reasons for handling OnResize have gone.
rubidium <rubidium@openttd.org>
parents:
13186
diff
changeset
|
384 virtual void OnResize() |
12581
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
385 { |
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
386 if (this->viewport != NULL) { |
13072
75bd67594af2
(svn r17572) -Codechange: Use the Window::GetWidget() function to access nested widgets through the nested_array.
alberth <alberth@openttd.org>
parents:
12778
diff
changeset
|
387 NWidgetViewport *nvp = this->GetWidget<NWidgetViewport>(MW_VIEWPORT); |
12581
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
388 nvp->UpdateViewportCoordinates(this); |
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
389 } |
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
390 } |
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
391 |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
392 virtual void OnInvalidateData(int data) |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
393 { |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
394 /* Forward the message to the appropiate toolbar (ingame or scenario editor) */ |
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
395 InvalidateWindowData(WC_MAIN_TOOLBAR, 0, data); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
396 } |
9205
a8b1f6fa5f79
(svn r13071) -Codechange: make also a class of the MainWindow.
rubidium <rubidium@openttd.org>
parents:
9184
diff
changeset
|
397 }; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
398 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
399 |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6231
diff
changeset
|
400 void ShowSelectGameWindow(); |
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6231
diff
changeset
|
401 |
11085
8da1855e9f14
(svn r15428) -Codechange: consistently use colour instead of having both color and colour.
rubidium <rubidium@openttd.org>
parents:
10996
diff
changeset
|
402 void SetupColoursAndInitialWindow() |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
403 { |
8977
9cfe40b47731
(svn r12769) -Codechange: some coding style cleanups.
rubidium <rubidium@openttd.org>
parents:
8976
diff
changeset
|
404 for (uint i = 0; i != 16; i++) { |
11085
8da1855e9f14
(svn r15428) -Codechange: consistently use colour instead of having both color and colour.
rubidium <rubidium@openttd.org>
parents:
10996
diff
changeset
|
405 const byte *b = GetNonSprite(PALETTE_RECOLOUR_START + i, ST_RECOLOUR); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
406 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
407 assert(b); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
408 memcpy(_colour_gradient[i], b + 0xC6, sizeof(_colour_gradient[i])); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
409 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
410 |
12581
374037971842
(svn r17021) -Codechange: Use nested widgets for the main window.
alberth <alberth@openttd.org>
parents:
12391
diff
changeset
|
411 new MainWindow; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
412 |
6201
3b141366478a
(svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents:
5894
diff
changeset
|
413 /* XXX: these are not done */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
414 switch (_game_mode) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
415 default: NOT_REACHED(); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
416 case GM_MENU: |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
417 ShowSelectGameWindow(); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
418 break; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
419 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
420 case GM_NORMAL: |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
421 case GM_EDITOR: |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
422 ShowVitalWindows(); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
423 break; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
424 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
425 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
426 |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6231
diff
changeset
|
427 void ShowVitalWindows() |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
428 { |
9240
5cedbfe95435
(svn r13106) -Codechange: rework the toolbar code a little so functions do not have to return the Window they just created.
rubidium <rubidium@openttd.org>
parents:
9205
diff
changeset
|
429 AllocateToolbar(); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
430 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
431 /* Status bad only for normal games */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
432 if (_game_mode == GM_EDITOR) return; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
433 |
8976
cbf8b2b89c08
(svn r12768) -Codechange: move the statusbar GUI to it's own file.
rubidium <rubidium@openttd.org>
parents:
8975
diff
changeset
|
434 ShowStatusBar(); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
435 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
436 |
8857
a75a0c683fea
(svn r12619) -Codechange: lots of documentation about window related stuff. Patch by Alberth.
rubidium <rubidium@openttd.org>
parents:
8806
diff
changeset
|
437 /** |
a75a0c683fea
(svn r12619) -Codechange: lots of documentation about window related stuff. Patch by Alberth.
rubidium <rubidium@openttd.org>
parents:
8806
diff
changeset
|
438 * Size of the application screen changed. |
a75a0c683fea
(svn r12619) -Codechange: lots of documentation about window related stuff. Patch by Alberth.
rubidium <rubidium@openttd.org>
parents:
8806
diff
changeset
|
439 * Adapt the game screen-size, re-allocate the open windows, and repaint everything |
a75a0c683fea
(svn r12619) -Codechange: lots of documentation about window related stuff. Patch by Alberth.
rubidium <rubidium@openttd.org>
parents:
8806
diff
changeset
|
440 */ |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6231
diff
changeset
|
441 void GameSizeChanged() |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
442 { |
9533
176a9fe1018f
(svn r13537) -Fix [FS#2090](r13523): QSortT won't work this way, use Dimension instead of uint16[2] for resolutions
smatz <smatz@openttd.org>
parents:
9481
diff
changeset
|
443 _cur_resolution.width = _screen.width; |
176a9fe1018f
(svn r13537) -Fix [FS#2090](r13523): QSortT won't work this way, use Dimension instead of uint16[2] for resolutions
smatz <smatz@openttd.org>
parents:
9481
diff
changeset
|
444 _cur_resolution.height = _screen.height; |
8985
480d464f5e24
(svn r12779) -Codechange: remove a few constants from openttd.h.
rubidium <rubidium@openttd.org>
parents:
8979
diff
changeset
|
445 ScreenSizeChanged(); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
446 RelocateAllWindows(_screen.width, _screen.height); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
447 MarkWholeScreenDirty(); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
448 } |