author | frosch |
Sat, 25 Oct 2008 15:25:52 +0000 | |
changeset 10292 | 6da6cf622f82 |
parent 10279 | cf4b14e20c44 |
child 10295 | 52982b3d0d84 |
permissions | -rw-r--r-- |
2186 | 1 |
/* $Id$ */ |
2 |
||
9111
48ce04029fe4
(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
parents:
8937
diff
changeset
|
3 |
/** @file network_gui.cpp Implementation of the Network related GUIs. */ |
48ce04029fe4
(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
parents:
8937
diff
changeset
|
4 |
|
4826
6a545d194528
(svn r6750) -Codechange: Juggle around some header includes as they're only used when
Darkvater
parents:
4774
diff
changeset
|
5 |
#ifdef ENABLE_NETWORK |
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:
5432
diff
changeset
|
6 |
#include "../stdafx.h" |
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:
5432
diff
changeset
|
7 |
#include "../openttd.h" |
8114
dd6d21dc99c1
(svn r11675) -Codechange: split the string types from the string functions.
rubidium
parents:
8107
diff
changeset
|
8 |
#include "../strings_func.h" |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
9 |
#include "network.h" |
8140
0d0d8c94f84b
(svn r11702) -Codechange: move all date related stuff to date*.
rubidium
parents:
8131
diff
changeset
|
10 |
#include "../date_func.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:
5432
diff
changeset
|
11 |
#include "../fios.h" |
9428
1ba05b499957
(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
parents:
9420
diff
changeset
|
12 |
#include "network_internal.h" |
4013
53a7dd9a1fbf
(svn r5226) Reduce the mess that sending chat messages is
tron
parents:
3860
diff
changeset
|
13 |
#include "network_client.h" |
4826
6a545d194528
(svn r6750) -Codechange: Juggle around some header includes as they're only used when
Darkvater
parents:
4774
diff
changeset
|
14 |
#include "network_gui.h" |
738
b96ab9e63d22
(svn r1194) Feature: You can now add and remove servers from the server list. Those will be remembered until you delete them by pressing the Delete key.
dominik
parents:
735
diff
changeset
|
15 |
#include "network_gamelist.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:
5432
diff
changeset
|
16 |
#include "../gui.h" |
8107
bb7deea89175
(svn r11668) -Codechange: more refactoring aimed at reducing compile time and making it more logic where function definitions can be found.
rubidium
parents:
8106
diff
changeset
|
17 |
#include "../window_gui.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:
5432
diff
changeset
|
18 |
#include "../variables.h" |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
19 |
#include "network_server.h" |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
20 |
#include "network_udp.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:
5432
diff
changeset
|
21 |
#include "../newgrf.h" |
8131
160939e24ed3
(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
parents:
8130
diff
changeset
|
22 |
#include "../functions.h" |
160939e24ed3
(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
parents:
8130
diff
changeset
|
23 |
#include "../window_func.h" |
8213
7bdd7593eb9b
(svn r11776) -Codechange: more header splittings to reduce the dependencies.
rubidium
parents:
8208
diff
changeset
|
24 |
#include "../core/alloc_func.hpp" |
8214
971f861d5543
(svn r11777) -Codechange: split the string header and make do not include it when it's not necessary.
rubidium
parents:
8213
diff
changeset
|
25 |
#include "../string_func.h" |
8224
c5a64d87cc54
(svn r11787) -Codechange: more header rewrites. This time related to viewport.h.
rubidium
parents:
8214
diff
changeset
|
26 |
#include "../gfx_func.h" |
10208
72c00af5c95d
(svn r14422) -Codechange: also reflect the changes of r14421 in the filenames.
rubidium
parents:
10207
diff
changeset
|
27 |
#include "../company_func.h" |
8270
e7c342f6b14c
(svn r11834) -Codechange: only include settings_type.h if needed.
rubidium
parents:
8264
diff
changeset
|
28 |
#include "../settings_type.h" |
8284
ebdc5ba08874
(svn r11848) -Codechange: New class-based drop down list functionality. Lists are now dynamically generated, and can include parameters, or be extended however needed.
peter1138
parents:
8270
diff
changeset
|
29 |
#include "../widgets/dropdown_func.h" |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
30 |
#include "../querystring_gui.h" |
9274
42b67e65f1c2
(svn r13140) -Codechange: move the gui-list-sorting out of window_gui.h so window_gui.h only needs to be included in *_gui.cpp.
rubidium
parents:
9273
diff
changeset
|
31 |
#include "../sortlist_type.h" |
10208
72c00af5c95d
(svn r14422) -Codechange: also reflect the changes of r14421 in the filenames.
rubidium
parents:
10207
diff
changeset
|
32 |
#include "../company_base.h" |
0 | 33 |
|
8264
b1e85998c7d3
(svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium
parents:
8254
diff
changeset
|
34 |
#include "table/strings.h" |
b1e85998c7d3
(svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium
parents:
8254
diff
changeset
|
35 |
#include "../table/sprites.h" |
b1e85998c7d3
(svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium
parents:
8254
diff
changeset
|
36 |
|
2887
810e555d5249
(svn r3439) - CodeChange: Remove a whole bunch of global variables and put them into the WP() macro. Also combine more than one WP-custom element. For this the maximum size of w->custom (WP) has been increased, and multiple types put inside one with possibly moved to the corresponding gui file if it is only used there.
Darkvater
parents:
2886
diff
changeset
|
37 |
|
6247 | 38 |
static void ShowNetworkStartServerWindow(); |
2887
810e555d5249
(svn r3439) - CodeChange: Remove a whole bunch of global variables and put them into the WP() macro. Also combine more than one WP-custom element. For this the maximum size of w->custom (WP) has been increased, and multiple types put inside one with possibly moved to the corresponding gui file if it is only used there.
Darkvater
parents:
2886
diff
changeset
|
39 |
static void ShowNetworkLobbyWindow(NetworkGameList *ngl); |
4300
c7e43c47a2b9
(svn r5946) -Add: merged the TGP branch to mainline. TGP adds:
truelight
parents:
4299
diff
changeset
|
40 |
extern void SwitchMode(int new_mode); |
0 | 41 |
|
42 |
static const StringID _connection_types_dropdown[] = { |
|
675
9be22ffb4625
(svn r1113) -Add: [Network] Added the GUI part for server advertising. When you go
truelight
parents:
670
diff
changeset
|
43 |
STR_NETWORK_LAN_INTERNET, |
9be22ffb4625
(svn r1113) -Add: [Network] Added the GUI part for server advertising. When you go
truelight
parents:
670
diff
changeset
|
44 |
STR_NETWORK_INTERNET_ADVERTISE, |
0 | 45 |
INVALID_STRING_ID |
46 |
}; |
|
47 |
||
764
7e1e17b7c7d4
(svn r1227) -Add: Ingame Server-list (select Internet, then Find Servers)
truelight
parents:
749
diff
changeset
|
48 |
static const StringID _lan_internet_types_dropdown[] = { |
7e1e17b7c7d4
(svn r1227) -Add: Ingame Server-list (select Internet, then Find Servers)
truelight
parents:
749
diff
changeset
|
49 |
STR_NETWORK_LAN, |
7e1e17b7c7d4
(svn r1227) -Add: Ingame Server-list (select Internet, then Find Servers)
truelight
parents:
749
diff
changeset
|
50 |
STR_NETWORK_INTERNET, |
7e1e17b7c7d4
(svn r1227) -Add: Ingame Server-list (select Internet, then Find Servers)
truelight
parents:
749
diff
changeset
|
51 |
INVALID_STRING_ID |
7e1e17b7c7d4
(svn r1227) -Add: Ingame Server-list (select Internet, then Find Servers)
truelight
parents:
749
diff
changeset
|
52 |
}; |
7e1e17b7c7d4
(svn r1227) -Add: Ingame Server-list (select Internet, then Find Servers)
truelight
parents:
749
diff
changeset
|
53 |
|
6796
ff1875ba196d
(svn r10035) -Change: simplified network language string sorting
glx
parents:
6793
diff
changeset
|
54 |
static StringID _language_dropdown[NETLANG_COUNT + 1] = {STR_NULL}; |
6793
05d91fa1c75c
(svn r10032) -Add: sort the strings in server language dropdown
glx
parents:
6780
diff
changeset
|
55 |
|
7321
f91bdca345e8
(svn r10684) -Codechange: some more coding style related changes. Primarily moving { to a new line.
rubidium
parents:
7221
diff
changeset
|
56 |
void SortNetworkLanguages() |
f91bdca345e8
(svn r10684) -Codechange: some more coding style related changes. Primarily moving { to a new line.
rubidium
parents:
7221
diff
changeset
|
57 |
{ |
6796
ff1875ba196d
(svn r10035) -Change: simplified network language string sorting
glx
parents:
6793
diff
changeset
|
58 |
/* Init the strings */ |
ff1875ba196d
(svn r10035) -Change: simplified network language string sorting
glx
parents:
6793
diff
changeset
|
59 |
if (_language_dropdown[0] == STR_NULL) { |
ff1875ba196d
(svn r10035) -Change: simplified network language string sorting
glx
parents:
6793
diff
changeset
|
60 |
for (int i = 0; i < NETLANG_COUNT; i++) _language_dropdown[i] = STR_NETWORK_LANG_ANY + i; |
ff1875ba196d
(svn r10035) -Change: simplified network language string sorting
glx
parents:
6793
diff
changeset
|
61 |
_language_dropdown[NETLANG_COUNT] = INVALID_STRING_ID; |
ff1875ba196d
(svn r10035) -Change: simplified network language string sorting
glx
parents:
6793
diff
changeset
|
62 |
} |
6793
05d91fa1c75c
(svn r10032) -Add: sort the strings in server language dropdown
glx
parents:
6780
diff
changeset
|
63 |
|
6796
ff1875ba196d
(svn r10035) -Change: simplified network language string sorting
glx
parents:
6793
diff
changeset
|
64 |
/* Sort the strings (we don't move 'any' and the 'invalid' one) */ |
ff1875ba196d
(svn r10035) -Change: simplified network language string sorting
glx
parents:
6793
diff
changeset
|
65 |
qsort(&_language_dropdown[1], NETLANG_COUNT - 1, sizeof(StringID), &StringIDSorter); |
6793
05d91fa1c75c
(svn r10032) -Add: sort the strings in server language dropdown
glx
parents:
6780
diff
changeset
|
66 |
} |
6780
ba49b125d95e
(svn r10017) -Add (FS#790): more languages flags for servers
glx
parents:
6531
diff
changeset
|
67 |
|
211 | 68 |
enum { |
2881
ade9a553be53
(svn r3429) - Feature (Followup): Change the gamelist window to accomodate for the new information.
Darkvater
parents:
2879
diff
changeset
|
69 |
NET_PRC__OFFSET_TOP_WIDGET = 54, |
2887
810e555d5249
(svn r3439) - CodeChange: Remove a whole bunch of global variables and put them into the WP() macro. Also combine more than one WP-custom element. For this the maximum size of w->custom (WP) has been increased, and multiple types put inside one with possibly moved to the corresponding gui file if it is only used there.
Darkvater
parents:
2886
diff
changeset
|
70 |
NET_PRC__OFFSET_TOP_WIDGET_COMPANY = 52, |
2881
ade9a553be53
(svn r3429) - Feature (Followup): Change the gamelist window to accomodate for the new information.
Darkvater
parents:
2879
diff
changeset
|
71 |
NET_PRC__SIZE_OF_ROW = 14, |
211 | 72 |
}; |
73 |
||
5035
1bcefcae0ef4
(svn r7077) -Codechange: Send proper message to network window, and handle selection control in
Darkvater
parents:
4957
diff
changeset
|
74 |
/** Update the network new window because a new server is |
1bcefcae0ef4
(svn r7077) -Codechange: Send proper message to network window, and handle selection control in
Darkvater
parents:
4957
diff
changeset
|
75 |
* found on the network. |
1bcefcae0ef4
(svn r7077) -Codechange: Send proper message to network window, and handle selection control in
Darkvater
parents:
4957
diff
changeset
|
76 |
* @param unselect unselect the currently selected item */ |
897
076a21cc614a
(svn r1383) Fix: You can now also delete automatically found servers by pressing "del"
dominik
parents:
893
diff
changeset
|
77 |
void UpdateNetworkGameWindow(bool unselect) |
076a21cc614a
(svn r1383) Fix: You can now also delete automatically found servers by pressing "del"
dominik
parents:
893
diff
changeset
|
78 |
{ |
9165
6f26cc347e7a
(svn r13028) -Codechange: WE_MESSAGE and WE_INVALIDATE_DATA were doing the same thing.
rubidium
parents:
9164
diff
changeset
|
79 |
InvalidateWindowData(WC_NETWORK_WINDOW, 0, unselect); |
897
076a21cc614a
(svn r1383) Fix: You can now also delete automatically found servers by pressing "del"
dominik
parents:
893
diff
changeset
|
80 |
} |
076a21cc614a
(svn r1383) Fix: You can now also delete automatically found servers by pressing "del"
dominik
parents:
893
diff
changeset
|
81 |
|
7960
b88d72baa45b
(svn r11516) -Codechange: cleanup of NetworkGameWindow in network_gui.cpp
smatz
parents:
7959
diff
changeset
|
82 |
/** Enum for NetworkGameWindow, referring to _network_game_window_widgets */ |
b88d72baa45b
(svn r11516) -Codechange: cleanup of NetworkGameWindow in network_gui.cpp
smatz
parents:
7959
diff
changeset
|
83 |
enum NetworkGameWindowWidgets { |
8931
05c473750db1
(svn r12701) -Codechange: do not explicitly number a widget enum because that causes a big diff when adding something.
rubidium
parents:
8738
diff
changeset
|
84 |
NGWW_CLOSE, ///< Close 'X' button |
05c473750db1
(svn r12701) -Codechange: do not explicitly number a widget enum because that causes a big diff when adding something.
rubidium
parents:
8738
diff
changeset
|
85 |
NGWW_CAPTION, ///< Caption of the window |
05c473750db1
(svn r12701) -Codechange: do not explicitly number a widget enum because that causes a big diff when adding something.
rubidium
parents:
8738
diff
changeset
|
86 |
NGWW_RESIZE, ///< Resize button |
7960
b88d72baa45b
(svn r11516) -Codechange: cleanup of NetworkGameWindow in network_gui.cpp
smatz
parents:
7959
diff
changeset
|
87 |
|
8931
05c473750db1
(svn r12701) -Codechange: do not explicitly number a widget enum because that causes a big diff when adding something.
rubidium
parents:
8738
diff
changeset
|
88 |
NGWW_CONNECTION, ///< Label in from of connection droplist |
05c473750db1
(svn r12701) -Codechange: do not explicitly number a widget enum because that causes a big diff when adding something.
rubidium
parents:
8738
diff
changeset
|
89 |
NGWW_CONN_BTN, ///< 'Connection' droplist button |
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
90 |
NGWW_CLIENT, ///< Panel with editbox to set client name |
8931
05c473750db1
(svn r12701) -Codechange: do not explicitly number a widget enum because that causes a big diff when adding something.
rubidium
parents:
8738
diff
changeset
|
91 |
|
05c473750db1
(svn r12701) -Codechange: do not explicitly number a widget enum because that causes a big diff when adding something.
rubidium
parents:
8738
diff
changeset
|
92 |
NGWW_NAME, ///< 'Name' button |
7960
b88d72baa45b
(svn r11516) -Codechange: cleanup of NetworkGameWindow in network_gui.cpp
smatz
parents:
7959
diff
changeset
|
93 |
NGWW_CLIENTS, ///< 'Clients' button |
9660
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
94 |
NGWW_MAPSIZE, ///< 'Map size' button |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
95 |
NGWW_DATE, ///< 'Date' button |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
96 |
NGWW_YEARS, ///< 'Years' button |
7960
b88d72baa45b
(svn r11516) -Codechange: cleanup of NetworkGameWindow in network_gui.cpp
smatz
parents:
7959
diff
changeset
|
97 |
NGWW_INFO, ///< Third button in the game list panel |
b88d72baa45b
(svn r11516) -Codechange: cleanup of NetworkGameWindow in network_gui.cpp
smatz
parents:
7959
diff
changeset
|
98 |
|
8931
05c473750db1
(svn r12701) -Codechange: do not explicitly number a widget enum because that causes a big diff when adding something.
rubidium
parents:
8738
diff
changeset
|
99 |
NGWW_MATRIX, ///< Panel with list of games |
05c473750db1
(svn r12701) -Codechange: do not explicitly number a widget enum because that causes a big diff when adding something.
rubidium
parents:
8738
diff
changeset
|
100 |
NGWW_SCROLLBAR, ///< Scrollbar of matrix |
7960
b88d72baa45b
(svn r11516) -Codechange: cleanup of NetworkGameWindow in network_gui.cpp
smatz
parents:
7959
diff
changeset
|
101 |
|
8937
9a4da442dd50
(svn r12709) -Feature: show the last joined server. Heavily based on a patch by Yexo.
rubidium
parents:
8931
diff
changeset
|
102 |
NGWW_LASTJOINED_LABEL, ///< Label "Last joined server:" |
9a4da442dd50
(svn r12709) -Feature: show the last joined server. Heavily based on a patch by Yexo.
rubidium
parents:
8931
diff
changeset
|
103 |
NGWW_LASTJOINED, ///< Info about the last joined server |
9a4da442dd50
(svn r12709) -Feature: show the last joined server. Heavily based on a patch by Yexo.
rubidium
parents:
8931
diff
changeset
|
104 |
|
8931
05c473750db1
(svn r12701) -Codechange: do not explicitly number a widget enum because that causes a big diff when adding something.
rubidium
parents:
8738
diff
changeset
|
105 |
NGWW_DETAILS, ///< Panel with game details |
05c473750db1
(svn r12701) -Codechange: do not explicitly number a widget enum because that causes a big diff when adding something.
rubidium
parents:
8738
diff
changeset
|
106 |
NGWW_JOIN, ///< 'Join game' button |
05c473750db1
(svn r12701) -Codechange: do not explicitly number a widget enum because that causes a big diff when adding something.
rubidium
parents:
8738
diff
changeset
|
107 |
NGWW_REFRESH, ///< 'Refresh server' button |
05c473750db1
(svn r12701) -Codechange: do not explicitly number a widget enum because that causes a big diff when adding something.
rubidium
parents:
8738
diff
changeset
|
108 |
NGWW_NEWGRF, ///< 'NewGRF Settings' button |
7960
b88d72baa45b
(svn r11516) -Codechange: cleanup of NetworkGameWindow in network_gui.cpp
smatz
parents:
7959
diff
changeset
|
109 |
|
8931
05c473750db1
(svn r12701) -Codechange: do not explicitly number a widget enum because that causes a big diff when adding something.
rubidium
parents:
8738
diff
changeset
|
110 |
NGWW_FIND, ///< 'Find server' button |
7960
b88d72baa45b
(svn r11516) -Codechange: cleanup of NetworkGameWindow in network_gui.cpp
smatz
parents:
7959
diff
changeset
|
111 |
NGWW_ADD, ///< 'Add server' button |
b88d72baa45b
(svn r11516) -Codechange: cleanup of NetworkGameWindow in network_gui.cpp
smatz
parents:
7959
diff
changeset
|
112 |
NGWW_START, ///< 'Start server' button |
b88d72baa45b
(svn r11516) -Codechange: cleanup of NetworkGameWindow in network_gui.cpp
smatz
parents:
7959
diff
changeset
|
113 |
NGWW_CANCEL, ///< 'Cancel' button |
b88d72baa45b
(svn r11516) -Codechange: cleanup of NetworkGameWindow in network_gui.cpp
smatz
parents:
7959
diff
changeset
|
114 |
}; |
b88d72baa45b
(svn r11516) -Codechange: cleanup of NetworkGameWindow in network_gui.cpp
smatz
parents:
7959
diff
changeset
|
115 |
|
9182
412cb6c0caf1
(svn r13045) -Codechange: make list_d (now GUIList) more generic and uniform.
rubidium
parents:
9181
diff
changeset
|
116 |
typedef GUIList<NetworkGameList*> GUIGameServerList; |
10279
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
117 |
typedef uint16 ServerListPosition; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
118 |
static const ServerListPosition SLP_INVALID = 0xFFFF; |
9182
412cb6c0caf1
(svn r13045) -Codechange: make list_d (now GUIList) more generic and uniform.
rubidium
parents:
9181
diff
changeset
|
119 |
|
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
120 |
class NetworkGameWindow : public QueryStringBaseWindow { |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
121 |
protected: |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
122 |
/* Runtime saved values */ |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
123 |
static Listing last_sorting; |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
124 |
|
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
125 |
/* Constants for sorting servers */ |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
126 |
static GUIGameServerList::SortFunction *const sorter_funcs[]; |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
127 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
128 |
byte field; ///< selected text-field |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
129 |
NetworkGameList *server; ///< selected server |
9182
412cb6c0caf1
(svn r13045) -Codechange: make list_d (now GUIList) more generic and uniform.
rubidium
parents:
9181
diff
changeset
|
130 |
GUIGameServerList servers; ///< list with game servers. |
10279
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
131 |
ServerListPosition list_pos; ///< position of the selected server |
0 | 132 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
133 |
/** |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
134 |
* (Re)build the network game list as its amount has changed because |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
135 |
* an item has been added or deleted for example |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
136 |
*/ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
137 |
void BuildNetworkGameList() |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
138 |
{ |
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
139 |
if (!this->servers.NeedRebuild()) return; |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
140 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
141 |
/* Create temporary array of games to use for listing */ |
9365
95e9cbc0257e
(svn r13266) -Codechange: Use SmallVector in GUIList
peter1138
parents:
9354
diff
changeset
|
142 |
this->servers.Clear(); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
143 |
|
9365
95e9cbc0257e
(svn r13266) -Codechange: Use SmallVector in GUIList
peter1138
parents:
9354
diff
changeset
|
144 |
for (NetworkGameList *ngl = _network_game_list; ngl != NULL; ngl = ngl->next) { |
95e9cbc0257e
(svn r13266) -Codechange: Use SmallVector in GUIList
peter1138
parents:
9354
diff
changeset
|
145 |
*this->servers.Append() = ngl; |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
146 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
147 |
|
9365
95e9cbc0257e
(svn r13266) -Codechange: Use SmallVector in GUIList
peter1138
parents:
9354
diff
changeset
|
148 |
this->servers.Compact(); |
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
149 |
this->servers.RebuildDone(); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
150 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
151 |
|
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
152 |
/** Sort servers by name. */ |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
153 |
static int CDECL NGameNameSorter(NetworkGameList* const *a, NetworkGameList* const *b) |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
154 |
{ |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
155 |
return strcasecmp((*a)->info.server_name, (*b)->info.server_name); |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
156 |
} |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
157 |
|
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
158 |
/** Sort servers by the amount of clients online on a |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
159 |
* server. If the two servers have the same amount, the one with the |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
160 |
* higher maximum is preferred. */ |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
161 |
static int CDECL NGameClientSorter(NetworkGameList* const *a, NetworkGameList* const *b) |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
162 |
{ |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
163 |
/* Reverse as per default we are interested in most-clients first */ |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
164 |
int r = (*a)->info.clients_on - (*b)->info.clients_on; |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
165 |
|
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
166 |
if (r == 0) r = (*a)->info.clients_max - (*b)->info.clients_max; |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
167 |
if (r == 0) r = NGameNameSorter(a, b); |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
168 |
|
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
169 |
return r; |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
170 |
} |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
171 |
|
9660
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
172 |
/** Sort servers by map size */ |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
173 |
static int CDECL NGameMapSizeSorter(NetworkGameList* const *a, NetworkGameList* const *b) |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
174 |
{ |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
175 |
/* Sort by the area of the map. */ |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
176 |
int r = ((*a)->info.map_height) * ((*a)->info.map_width) - ((*b)->info.map_height) * ((*b)->info.map_width); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
177 |
|
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
178 |
if (r == 0) r = (*a)->info.map_width - (*b)->info.map_width; |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
179 |
return (r != 0) ? r : NGameClientSorter(a, b); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
180 |
} |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
181 |
|
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
182 |
/** Sort servers by current date */ |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
183 |
static int CDECL NGameDateSorter(NetworkGameList* const *a, NetworkGameList* const *b) |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
184 |
{ |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
185 |
int r = (*a)->info.game_date - (*b)->info.game_date; |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
186 |
return (r != 0) ? r : NGameClientSorter(a, b); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
187 |
} |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
188 |
|
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
189 |
/** Sort servers by the number of days the game is running */ |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
190 |
static int CDECL NGameYearsSorter(NetworkGameList* const *a, NetworkGameList* const *b) |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
191 |
{ |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
192 |
int r = (*a)->info.game_date - (*a)->info.start_date - (*b)->info.game_date + (*b)->info.start_date; |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
193 |
return (r != 0) ? r : NGameDateSorter(a, b); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
194 |
} |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
195 |
|
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
196 |
/** Sort servers by joinability. If both servers are the |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
197 |
* same, prefer the non-passworded server first. */ |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
198 |
static int CDECL NGameAllowedSorter(NetworkGameList* const *a, NetworkGameList* const *b) |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
199 |
{ |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
200 |
/* The servers we do not know anything about (the ones that did not reply) should be at the bottom) */ |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
201 |
int r = StrEmpty((*a)->info.server_revision) - StrEmpty((*b)->info.server_revision); |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
202 |
|
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
203 |
/* Reverse default as we are interested in version-compatible clients first */ |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
204 |
if (r == 0) r = (*b)->info.version_compatible - (*a)->info.version_compatible; |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
205 |
/* The version-compatible ones are then sorted with NewGRF compatible first, incompatible last */ |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
206 |
if (r == 0) r = (*b)->info.compatible - (*a)->info.compatible; |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
207 |
/* Passworded servers should be below unpassworded servers */ |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
208 |
if (r == 0) r = (*a)->info.use_password - (*b)->info.use_password; |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
209 |
/* Finally sort on the name of the server */ |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
210 |
if (r == 0) r = NGameNameSorter(a, b); |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
211 |
|
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
212 |
return r; |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
213 |
} |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
214 |
|
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
215 |
/** Sort the server list */ |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
216 |
void SortNetworkGameList() |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
217 |
{ |
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
218 |
if (!this->servers.Sort()) return; |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
219 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
220 |
/* After sorting ngl->sort_list contains the sorted items. Put these back |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
221 |
* into the original list. Basically nothing has changed, we are only |
10279
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
222 |
* shuffling the ->next pointers. While iterating, look for the |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
223 |
* currently selected server and set list_pos to its position */ |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
224 |
this->list_pos = SLP_INVALID; |
9365
95e9cbc0257e
(svn r13266) -Codechange: Use SmallVector in GUIList
peter1138
parents:
9354
diff
changeset
|
225 |
_network_game_list = this->servers[0]; |
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
226 |
NetworkGameList *item = _network_game_list; |
10279
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
227 |
if (item == this->server) this->list_pos = 0; |
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
228 |
for (uint i = 1; i != this->servers.Length(); i++) { |
9365
95e9cbc0257e
(svn r13266) -Codechange: Use SmallVector in GUIList
peter1138
parents:
9354
diff
changeset
|
229 |
item->next = this->servers[i]; |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
230 |
item = item->next; |
10279
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
231 |
if (item == this->server) this->list_pos = i; |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
232 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
233 |
item->next = NULL; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
234 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
235 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
236 |
/** |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
237 |
* Draw a single server line. |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
238 |
* @param cur_item the server to draw. |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
239 |
* @param y from where to draw? |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
240 |
* @param highlight does the line need to be highlighted? |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
241 |
*/ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
242 |
void DrawServerLine(const NetworkGameList *cur_item, uint y, bool highlight) |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
243 |
{ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
244 |
/* show highlighted item with a different colour */ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
245 |
if (highlight) GfxFillRect(this->widget[NGWW_NAME].left + 1, y - 2, this->widget[NGWW_INFO].right - 1, y + 9, 10); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
246 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
247 |
SetDParamStr(0, cur_item->info.server_name); |
9648
c79160082c0f
(svn r13715) -Fix [FS#2129]: C-like strings had to be rebound each time they were printed, otherwise the text could change due to the few number of slots that could be used to bind.
rubidium
parents:
9481
diff
changeset
|
248 |
DrawStringTruncated(this->widget[NGWW_NAME].left + 5, y, STR_JUST_RAW_STRING, TC_BLACK, this->widget[NGWW_NAME].right - this->widget[NGWW_NAME].left - 5); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
249 |
|
9660
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
250 |
/* only draw details if the server is online */ |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
251 |
if (cur_item->online) { |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
252 |
SetDParam(0, cur_item->info.clients_on); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
253 |
SetDParam(1, cur_item->info.clients_max); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
254 |
SetDParam(2, cur_item->info.companies_on); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
255 |
SetDParam(3, cur_item->info.companies_max); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
256 |
DrawStringCentered(this->widget[NGWW_CLIENTS].left + 39, y, STR_NETWORK_GENERAL_ONLINE, TC_GOLD); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
257 |
|
9660
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
258 |
/* map size */ |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
259 |
if (!this->IsWidgetHidden(NGWW_MAPSIZE)) { |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
260 |
SetDParam(0, cur_item->info.map_width); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
261 |
SetDParam(1, cur_item->info.map_height); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
262 |
DrawStringCentered(this->widget[NGWW_MAPSIZE].left + 39, y, STR_NETWORK_MAP_SIZE_SHORT, TC_BLACK); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
263 |
} |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
264 |
|
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
265 |
/* current date */ |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
266 |
if (!this->IsWidgetHidden(NGWW_DATE)) { |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
267 |
YearMonthDay ymd; |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
268 |
ConvertDateToYMD(cur_item->info.game_date, &ymd); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
269 |
SetDParam(0, ymd.year); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
270 |
DrawStringCentered(this->widget[NGWW_DATE].left + 29, y, STR_JUST_INT, TC_BLACK); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
271 |
} |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
272 |
|
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
273 |
/* number of years the game is running */ |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
274 |
if (!this->IsWidgetHidden(NGWW_YEARS)) { |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
275 |
YearMonthDay ymd_cur, ymd_start; |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
276 |
ConvertDateToYMD(cur_item->info.game_date, &ymd_cur); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
277 |
ConvertDateToYMD(cur_item->info.start_date, &ymd_start); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
278 |
SetDParam(0, ymd_cur.year - ymd_start.year); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
279 |
DrawStringCentered(this->widget[NGWW_YEARS].left + 29, y, STR_JUST_INT, TC_BLACK); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
280 |
} |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
281 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
282 |
/* draw a lock if the server is password protected */ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
283 |
if (cur_item->info.use_password) DrawSprite(SPR_LOCK, PAL_NONE, this->widget[NGWW_INFO].left + 5, y - 1); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
284 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
285 |
/* draw red or green icon, depending on compatibility with server */ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
286 |
DrawSprite(SPR_BLOT, (cur_item->info.compatible ? PALETTE_TO_GREEN : (cur_item->info.version_compatible ? PALETTE_TO_YELLOW : PALETTE_TO_RED)), this->widget[NGWW_INFO].left + 15, y); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
287 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
288 |
/* draw flag according to server language */ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
289 |
DrawSprite(SPR_FLAGS_BASE + cur_item->info.server_lang, PAL_NONE, this->widget[NGWW_INFO].left + 25, y); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
290 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
291 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
292 |
|
10279
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
293 |
/** |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
294 |
* Scroll the list up or down to the currently selected server. |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
295 |
* If the server is below the currently displayed servers, it will |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
296 |
* scroll down an amount so that the server appears at the bottom. |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
297 |
* If the server is above the currently displayed servers, it will |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
298 |
* scroll up so that the server appears at the top. |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
299 |
*/ |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
300 |
void ScrollToSelectedServer() |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
301 |
{ |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
302 |
if (this->list_pos == SLP_INVALID) return; // no server selected |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
303 |
if (this->list_pos < this->vscroll.pos) { |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
304 |
/* scroll up to the server */ |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
305 |
this->vscroll.pos = this->list_pos; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
306 |
} else if (this->list_pos >= this->vscroll.pos + this->vscroll.cap) { |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
307 |
/* scroll down so that the server is at the bottom */ |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
308 |
this->vscroll.pos = this->list_pos - this->vscroll.cap + 1; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
309 |
} |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
310 |
} |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
311 |
|
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
312 |
public: |
9897
4d9a6ff6703e
(svn r14046) -Codechange: make the size of querystring "widgets" more configurable.
rubidium
parents:
9827
diff
changeset
|
313 |
NetworkGameWindow(const WindowDesc *desc) : QueryStringBaseWindow(NETWORK_NAME_LENGTH, desc) |
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
314 |
{ |
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
315 |
ttd_strlcpy(this->edit_str_buf, _settings_client.network.client_name, this->edit_str_size); |
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
316 |
this->afilter = CS_ALPHANUMERAL; |
9897
4d9a6ff6703e
(svn r14046) -Codechange: make the size of querystring "widgets" more configurable.
rubidium
parents:
9827
diff
changeset
|
317 |
InitializeTextBuffer(&this->text, this->edit_str_buf, this->edit_str_size, 120); |
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
318 |
|
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
319 |
UpdateNetworkGameWindow(true); |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
320 |
|
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
321 |
this->vscroll.cap = 11; |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
322 |
this->resize.step_height = NET_PRC__SIZE_OF_ROW; |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
323 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
324 |
this->field = NGWW_CLIENT; |
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
325 |
this->server = NULL; |
10279
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
326 |
this->list_pos = SLP_INVALID; |
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
327 |
|
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
328 |
this->servers.SetListing(this->last_sorting); |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
329 |
this->servers.SetSortFuncs(this->sorter_funcs); |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
330 |
this->servers.ForceRebuild(); |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
331 |
this->SortNetworkGameList(); |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
332 |
|
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
333 |
this->FindWindowPlacementAndResize(desc); |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
334 |
} |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
335 |
|
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
336 |
~NetworkGameWindow() |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
337 |
{ |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
338 |
this->last_sorting = this->servers.GetListing(); |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
339 |
} |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
340 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
341 |
virtual void OnPaint() |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
342 |
{ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
343 |
const NetworkGameList *sel = this->server; |
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
344 |
const SortButtonState arrow = this->servers.IsDescSortOrder() ? SBS_DOWN : SBS_UP; |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
345 |
|
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
346 |
if (this->servers.NeedRebuild()) { |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
347 |
this->BuildNetworkGameList(); |
9365
95e9cbc0257e
(svn r13266) -Codechange: Use SmallVector in GUIList
peter1138
parents:
9354
diff
changeset
|
348 |
SetVScrollCount(this, this->servers.Length()); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
349 |
} |
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
350 |
this->SortNetworkGameList(); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
351 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
352 |
/* 'Refresh' button invisible if no server selected */ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
353 |
this->SetWidgetDisabledState(NGWW_REFRESH, sel == NULL); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
354 |
/* 'Join' button disabling conditions */ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
355 |
this->SetWidgetDisabledState(NGWW_JOIN, sel == NULL || // no Selected Server |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
356 |
!sel->online || // Server offline |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
357 |
sel->info.clients_on >= sel->info.clients_max || // Server full |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
358 |
!sel->info.compatible); // Revision mismatch |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
359 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
360 |
/* 'NewGRF Settings' button invisible if no NewGRF is used */ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
361 |
this->SetWidgetHiddenState(NGWW_NEWGRF, sel == NULL || |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
362 |
!sel->online || |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
363 |
sel->info.grfconfig == NULL); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
364 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
365 |
SetDParam(0, 0x00); |
9420
8a38703928e8
(svn r13334) -Codechange: move the network settings variables from network/network_internal to settings.
rubidium
parents:
9416
diff
changeset
|
366 |
SetDParam(1, _lan_internet_types_dropdown[_settings_client.network.lan_internet]); |
9273
35e0224ea8f1
(svn r13139) -Codechange: move DrawWindowWidgets and DrawWindowViewport to the Window class and remove Window from their naming.
rubidium
parents:
9269
diff
changeset
|
367 |
this->DrawWidgets(); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
368 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
369 |
/* Edit box to set client name */ |
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
370 |
this->DrawEditBox(NGWW_CLIENT); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
371 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
372 |
DrawString(this->widget[NGWW_CLIENT].left - 100, 23, STR_NETWORK_PLAYER_NAME, TC_GOLD); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
373 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
374 |
/* Sort based on widgets: name, clients, compatibility */ |
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
375 |
switch (this->servers.SortType()) { |
9273
35e0224ea8f1
(svn r13139) -Codechange: move DrawWindowWidgets and DrawWindowViewport to the Window class and remove Window from their naming.
rubidium
parents:
9269
diff
changeset
|
376 |
case NGWW_NAME - NGWW_NAME: this->DrawSortButtonState(NGWW_NAME, arrow); break; |
35e0224ea8f1
(svn r13139) -Codechange: move DrawWindowWidgets and DrawWindowViewport to the Window class and remove Window from their naming.
rubidium
parents:
9269
diff
changeset
|
377 |
case NGWW_CLIENTS - NGWW_NAME: this->DrawSortButtonState(NGWW_CLIENTS, arrow); break; |
9660
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
378 |
case NGWW_MAPSIZE - NGWW_NAME: if (!this->IsWidgetHidden(NGWW_MAPSIZE)) this->DrawSortButtonState(NGWW_MAPSIZE, arrow); break; |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
379 |
case NGWW_DATE - NGWW_NAME: if (!this->IsWidgetHidden(NGWW_DATE)) this->DrawSortButtonState(NGWW_DATE, arrow); break; |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
380 |
case NGWW_YEARS - NGWW_NAME: if (!this->IsWidgetHidden(NGWW_YEARS)) this->DrawSortButtonState(NGWW_YEARS, arrow); break; |
9273
35e0224ea8f1
(svn r13139) -Codechange: move DrawWindowWidgets and DrawWindowViewport to the Window class and remove Window from their naming.
rubidium
parents:
9269
diff
changeset
|
381 |
case NGWW_INFO - NGWW_NAME: this->DrawSortButtonState(NGWW_INFO, arrow); break; |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
382 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
383 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
384 |
uint16 y = NET_PRC__OFFSET_TOP_WIDGET + 3; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
385 |
|
9462
8c8bcb29604d
(svn r13380) -Fix (r13327): MSVC signed/unsigned warning
glx
parents:
9451
diff
changeset
|
386 |
const int max = min(this->vscroll.pos + this->vscroll.cap, (int)this->servers.Length()); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
387 |
|
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
388 |
for (int i = this->vscroll.pos; i < max; ++i) { |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
389 |
const NetworkGameList *ngl = this->servers[i]; |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
390 |
this->DrawServerLine(ngl, y, ngl == sel); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
391 |
y += NET_PRC__SIZE_OF_ROW; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
392 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
393 |
|
9420
8a38703928e8
(svn r13334) -Codechange: move the network settings variables from network/network_internal to settings.
rubidium
parents:
9416
diff
changeset
|
394 |
const NetworkGameList *last_joined = NetworkGameListAddItem(inet_addr(_settings_client.network.last_host), _settings_client.network.last_port); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
395 |
/* Draw the last joined server, if any */ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
396 |
if (last_joined != NULL) this->DrawServerLine(last_joined, y = this->widget[NGWW_LASTJOINED].top + 3, last_joined == sel); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
397 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
398 |
/* Draw the right menu */ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
399 |
GfxFillRect(this->widget[NGWW_DETAILS].left + 1, 43, this->widget[NGWW_DETAILS].right - 1, 92, 157); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
400 |
if (sel == NULL) { |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
401 |
DrawStringCentered(this->widget[NGWW_DETAILS].left + 115, 58, STR_NETWORK_GAME_INFO, TC_FROMSTRING); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
402 |
} else if (!sel->online) { |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
403 |
SetDParamStr(0, sel->info.server_name); |
9648
c79160082c0f
(svn r13715) -Fix [FS#2129]: C-like strings had to be rebound each time they were printed, otherwise the text could change due to the few number of slots that could be used to bind.
rubidium
parents:
9481
diff
changeset
|
404 |
DrawStringCentered(this->widget[NGWW_DETAILS].left + 115, 68, STR_JUST_RAW_STRING, TC_ORANGE); // game name |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
405 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
406 |
DrawStringCentered(this->widget[NGWW_DETAILS].left + 115, 132, STR_NETWORK_SERVER_OFFLINE, TC_FROMSTRING); // server offline |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
407 |
} else { // show game info |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
408 |
uint16 y = 100; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
409 |
const uint16 x = this->widget[NGWW_DETAILS].left + 5; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
410 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
411 |
DrawStringCentered(this->widget[NGWW_DETAILS].left + 115, 48, STR_NETWORK_GAME_INFO, TC_FROMSTRING); |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
412 |
|
2055
4926ed1a7562
(svn r2564) Fix: Fixed conceptual issue in network_gui.c. AllocateName is not meant to be used by GUI-code, because it modifies the "game-state".
ludde
parents:
1916
diff
changeset
|
413 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
414 |
SetDParamStr(0, sel->info.server_name); |
9648
c79160082c0f
(svn r13715) -Fix [FS#2129]: C-like strings had to be rebound each time they were printed, otherwise the text could change due to the few number of slots that could be used to bind.
rubidium
parents:
9481
diff
changeset
|
415 |
DrawStringCenteredTruncated(this->widget[NGWW_DETAILS].left, this->widget[NGWW_DETAILS].right, 62, STR_JUST_RAW_STRING, TC_ORANGE); // game name |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
416 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
417 |
SetDParamStr(0, sel->info.map_name); |
9648
c79160082c0f
(svn r13715) -Fix [FS#2129]: C-like strings had to be rebound each time they were printed, otherwise the text could change due to the few number of slots that could be used to bind.
rubidium
parents:
9481
diff
changeset
|
418 |
DrawStringCenteredTruncated(this->widget[NGWW_DETAILS].left, this->widget[NGWW_DETAILS].right, 74, STR_JUST_RAW_STRING, TC_BLACK); // map name |
8937
9a4da442dd50
(svn r12709) -Feature: show the last joined server. Heavily based on a patch by Yexo.
rubidium
parents:
8931
diff
changeset
|
419 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
420 |
SetDParam(0, sel->info.clients_on); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
421 |
SetDParam(1, sel->info.clients_max); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
422 |
SetDParam(2, sel->info.companies_on); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
423 |
SetDParam(3, sel->info.companies_max); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
424 |
DrawString(x, y, STR_NETWORK_CLIENTS, TC_GOLD); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
425 |
y += 10; |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
426 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
427 |
SetDParam(0, STR_NETWORK_LANG_ANY + sel->info.server_lang); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
428 |
DrawString(x, y, STR_NETWORK_LANGUAGE, TC_GOLD); // server language |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
429 |
y += 10; |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
430 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
431 |
SetDParam(0, STR_TEMPERATE_LANDSCAPE + sel->info.map_set); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
432 |
DrawString(x, y, STR_NETWORK_TILESET, TC_GOLD); // tileset |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
433 |
y += 10; |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
434 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
435 |
SetDParam(0, sel->info.map_width); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
436 |
SetDParam(1, sel->info.map_height); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
437 |
DrawString(x, y, STR_NETWORK_MAP_SIZE, TC_GOLD); // map size |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
438 |
y += 10; |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
439 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
440 |
SetDParamStr(0, sel->info.server_revision); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
441 |
DrawString(x, y, STR_NETWORK_SERVER_VERSION, TC_GOLD); // server version |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
442 |
y += 10; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
443 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
444 |
SetDParamStr(0, sel->info.hostname); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
445 |
SetDParam(1, sel->port); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
446 |
DrawString(x, y, STR_NETWORK_SERVER_ADDRESS, TC_GOLD); // server address |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
447 |
y += 10; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
448 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
449 |
SetDParam(0, sel->info.start_date); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
450 |
DrawString(x, y, STR_NETWORK_START_DATE, TC_GOLD); // start date |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
451 |
y += 10; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
452 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
453 |
SetDParam(0, sel->info.game_date); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
454 |
DrawString(x, y, STR_NETWORK_CURRENT_DATE, TC_GOLD); // current date |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
455 |
y += 10; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
456 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
457 |
y += 2; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
458 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
459 |
if (!sel->info.compatible) { |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
460 |
DrawStringCentered(this->widget[NGWW_DETAILS].left + 115, y, sel->info.version_compatible ? STR_NETWORK_GRF_MISMATCH : STR_NETWORK_VERSION_MISMATCH, TC_FROMSTRING); // server mismatch |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
461 |
} else if (sel->info.clients_on == sel->info.clients_max) { |
9451
0d6806ba5504
(svn r13369) -Codechange: remove duplication of network configuration settings between NetworkSettings and NetworkGameInfo.
rubidium
parents:
9441
diff
changeset
|
462 |
/* Show: server full, when clients_on == max_clients */ |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
463 |
DrawStringCentered(this->widget[NGWW_DETAILS].left + 115, y, STR_NETWORK_SERVER_FULL, TC_FROMSTRING); // server full |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
464 |
} else if (sel->info.use_password) { |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
465 |
DrawStringCentered(this->widget[NGWW_DETAILS].left + 115, y, STR_NETWORK_PASSWORD, TC_FROMSTRING); // password warning |
2639 | 466 |
} |
659
a9733f856cd0
(svn r1093) -Fix: Hopefully fixed windows revision issues once and for all. Removed globalness of _openttd_revision and put all such ifdefs into one place. If server has a revision only the same revisions can join; if the server has no revision everyone can join. I reckon this should be a server-side option to allow people to join or not to join.
darkvater
parents:
656
diff
changeset
|
467 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
468 |
y += 10; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
469 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
470 |
} |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
471 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
472 |
virtual void OnClick(Point pt, int widget) |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
473 |
{ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
474 |
this->field = widget; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
475 |
switch (widget) { |
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
476 |
case NGWW_CLIENT: |
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
477 |
ShowOnScreenKeyboard(this, NGWW_CLIENT, 0, 0); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
478 |
break; |
741
422ce499322b
(svn r1197) -Fix: [GUI] in r1194 someone deleted too much code from WE_KEYPRESS. Now
truelight
parents:
738
diff
changeset
|
479 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
480 |
case NGWW_CANCEL: // Cancel button |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
481 |
DeleteWindowById(WC_NETWORK_WINDOW, 0); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
482 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
483 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
484 |
case NGWW_CONN_BTN: // 'Connection' droplist |
9420
8a38703928e8
(svn r13334) -Codechange: move the network settings variables from network/network_internal to settings.
rubidium
parents:
9416
diff
changeset
|
485 |
ShowDropDownMenu(this, _lan_internet_types_dropdown, _settings_client.network.lan_internet, NGWW_CONN_BTN, 0, 0); // do it for widget NSSW_CONN_BTN |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
486 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
487 |
|
9660
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
488 |
case NGWW_NAME: // Sort by name |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
489 |
case NGWW_CLIENTS: // Sort by connected clients |
9660
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
490 |
case NGWW_MAPSIZE: // Sort by map size |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
491 |
case NGWW_DATE: // Sort by date |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
492 |
case NGWW_YEARS: // Sort by years |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
493 |
case NGWW_INFO: // Connectivity (green dot) |
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
494 |
if (this->servers.SortType() == widget - NGWW_NAME) { |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
495 |
this->servers.ToggleSortOrder(); |
10279
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
496 |
if (this->list_pos != SLP_INVALID) this->list_pos = this->servers.Length() - this->list_pos - 1; |
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
497 |
} else { |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
498 |
this->servers.SetSortType(widget - NGWW_NAME); |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
499 |
this->servers.ForceResort(); |
10279
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
500 |
this->SortNetworkGameList(); |
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
501 |
} |
10279
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
502 |
this->ScrollToSelectedServer(); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
503 |
this->SetDirty(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
504 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
505 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
506 |
case NGWW_MATRIX: { // Matrix to show networkgames |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
507 |
uint32 id_v = (pt.y - NET_PRC__OFFSET_TOP_WIDGET) / NET_PRC__SIZE_OF_ROW; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
508 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
509 |
if (id_v >= this->vscroll.cap) return; // click out of bounds |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
510 |
id_v += this->vscroll.pos; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
511 |
|
9415
565481e82c56
(svn r13328) -Fix (r13327): Don't access an item when there isn't any
skidd13
parents:
9414
diff
changeset
|
512 |
this->server = (id_v < this->servers.Length()) ? this->servers[id_v] : NULL; |
10279
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
513 |
this->list_pos = (server == NULL) ? SLP_INVALID : id_v; |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
514 |
this->SetDirty(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
515 |
} break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
516 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
517 |
case NGWW_LASTJOINED: { |
9420
8a38703928e8
(svn r13334) -Codechange: move the network settings variables from network/network_internal to settings.
rubidium
parents:
9416
diff
changeset
|
518 |
NetworkGameList *last_joined = NetworkGameListAddItem(inet_addr(_settings_client.network.last_host), _settings_client.network.last_port); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
519 |
if (last_joined != NULL) { |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
520 |
this->server = last_joined; |
10279
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
521 |
|
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
522 |
/* search the position of the newly selected server */ |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
523 |
for (uint i = 0; i < this->servers.Length(); i++) { |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
524 |
if (this->servers[i] == this->server) { |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
525 |
this->list_pos = i; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
526 |
break; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
527 |
} |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
528 |
} |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
529 |
this->ScrollToSelectedServer(); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
530 |
this->SetDirty(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
531 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
532 |
} break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
533 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
534 |
case NGWW_FIND: // Find server automatically |
9420
8a38703928e8
(svn r13334) -Codechange: move the network settings variables from network/network_internal to settings.
rubidium
parents:
9416
diff
changeset
|
535 |
switch (_settings_client.network.lan_internet) { |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
536 |
case 0: NetworkUDPSearchGame(); break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
537 |
case 1: NetworkUDPQueryMasterServer(); break; |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
538 |
} |
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
539 |
break; |
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
540 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
541 |
case NGWW_ADD: // Add a server |
9648
c79160082c0f
(svn r13715) -Fix [FS#2129]: C-like strings had to be rebound each time they were printed, otherwise the text could change due to the few number of slots that could be used to bind.
rubidium
parents:
9481
diff
changeset
|
542 |
SetDParamStr(0, _settings_client.network.connect_to_ip); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
543 |
ShowQueryString( |
9648
c79160082c0f
(svn r13715) -Fix [FS#2129]: C-like strings had to be rebound each time they were printed, otherwise the text could change due to the few number of slots that could be used to bind.
rubidium
parents:
9481
diff
changeset
|
544 |
STR_JUST_RAW_STRING, |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
545 |
STR_NETWORK_ENTER_IP, |
10145
849ba8b8626b
(svn r14331) -Codechange: use an enum as additional parameter for ShowQueryString()
smatz
parents:
10061
diff
changeset
|
546 |
31, // maximum number of characters |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
547 |
250, // characters up to this width pixels, whichever is satisfied first |
10145
849ba8b8626b
(svn r14331) -Codechange: use an enum as additional parameter for ShowQueryString()
smatz
parents:
10061
diff
changeset
|
548 |
this, CS_ALPHANUMERAL, QSF_ACCEPT_UNCHANGED); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
549 |
break; |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
550 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
551 |
case NGWW_START: // Start server |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
552 |
ShowNetworkStartServerWindow(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
553 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
554 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
555 |
case NGWW_JOIN: // Join Game |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
556 |
if (this->server != NULL) { |
9420
8a38703928e8
(svn r13334) -Codechange: move the network settings variables from network/network_internal to settings.
rubidium
parents:
9416
diff
changeset
|
557 |
snprintf(_settings_client.network.last_host, sizeof(_settings_client.network.last_host), "%s", inet_ntoa(*(struct in_addr *)&this->server->ip)); |
8a38703928e8
(svn r13334) -Codechange: move the network settings variables from network/network_internal to settings.
rubidium
parents:
9416
diff
changeset
|
558 |
_settings_client.network.last_port = this->server->port; |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
559 |
ShowNetworkLobbyWindow(this->server); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
560 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
561 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
562 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
563 |
case NGWW_REFRESH: // Refresh |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
564 |
if (this->server != NULL) NetworkUDPQueryServer(this->server->info.hostname, this->server->port); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
565 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
566 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
567 |
case NGWW_NEWGRF: // NewGRF Settings |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
568 |
if (this->server != NULL) ShowNewGRFSettings(false, false, false, &this->server->info.grfconfig); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
569 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
570 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
571 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
572 |
|
10049
754a2d1e0e94
(svn r14209) -Feature(tte): doubleclick to join selected server/company
smatz
parents:
9898
diff
changeset
|
573 |
virtual void OnDoubleClick(Point pt, int widget) |
754a2d1e0e94
(svn r14209) -Feature(tte): doubleclick to join selected server/company
smatz
parents:
9898
diff
changeset
|
574 |
{ |
10061
6a7bce2eca5c
(svn r14228) -Fix (r14209): double click on the 'last joined' server didn't work
smatz
parents:
10049
diff
changeset
|
575 |
if (widget == NGWW_MATRIX || widget == NGWW_LASTJOINED) { |
10049
754a2d1e0e94
(svn r14209) -Feature(tte): doubleclick to join selected server/company
smatz
parents:
9898
diff
changeset
|
576 |
/* is the Join button enabled? */ |
754a2d1e0e94
(svn r14209) -Feature(tte): doubleclick to join selected server/company
smatz
parents:
9898
diff
changeset
|
577 |
if (!this->IsWidgetDisabled(NGWW_JOIN)) this->OnClick(pt, NGWW_JOIN); |
754a2d1e0e94
(svn r14209) -Feature(tte): doubleclick to join selected server/company
smatz
parents:
9898
diff
changeset
|
578 |
} |
754a2d1e0e94
(svn r14209) -Feature(tte): doubleclick to join selected server/company
smatz
parents:
9898
diff
changeset
|
579 |
} |
754a2d1e0e94
(svn r14209) -Feature(tte): doubleclick to join selected server/company
smatz
parents:
9898
diff
changeset
|
580 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
581 |
virtual void OnDropdownSelect(int widget, int index) |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
582 |
{ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
583 |
switch (widget) { |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
584 |
case NGWW_CONN_BTN: |
9420
8a38703928e8
(svn r13334) -Codechange: move the network settings variables from network/network_internal to settings.
rubidium
parents:
9416
diff
changeset
|
585 |
_settings_client.network.lan_internet = index; |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
586 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
587 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
588 |
default: |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
589 |
NOT_REACHED(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
590 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
591 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
592 |
this->SetDirty(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
593 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
594 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
595 |
virtual void OnMouseLoop() |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
596 |
{ |
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
597 |
if (this->field == NGWW_CLIENT) this->HandleEditBox(NGWW_CLIENT); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
598 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
599 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
600 |
virtual void OnInvalidateData(int data) |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
601 |
{ |
10279
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
602 |
if (data != 0) { |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
603 |
this->server = NULL; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
604 |
this->list_pos = SLP_INVALID; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
605 |
} |
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
606 |
this->servers.ForceRebuild(); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
607 |
this->SetDirty(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
608 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
609 |
|
9285
235e5e2d7f55
(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
parents:
9274
diff
changeset
|
610 |
virtual EventState OnKeyPress(uint16 key, uint16 keycode) |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
611 |
{ |
9285
235e5e2d7f55
(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
parents:
9274
diff
changeset
|
612 |
EventState state = ES_NOT_HANDLED; |
10279
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
613 |
|
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
614 |
/* handle up, down, pageup, pagedown, home and end */ |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
615 |
if (keycode == WKC_UP || keycode == WKC_DOWN || keycode == WKC_PAGEUP || keycode == WKC_PAGEDOWN || keycode == WKC_HOME || keycode == WKC_END) { |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
616 |
if (this->servers.Length() == 0) return ES_HANDLED; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
617 |
switch (keycode) { |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
618 |
case WKC_UP: |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
619 |
/* scroll up by one */ |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
620 |
if (this->server == NULL) return ES_HANDLED; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
621 |
if (this->list_pos > 0) this->list_pos--; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
622 |
break; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
623 |
case WKC_DOWN: |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
624 |
/* scroll down by one */ |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
625 |
if (this->server == NULL) return ES_HANDLED; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
626 |
if (this->list_pos < this->servers.Length() - 1) this->list_pos++; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
627 |
break; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
628 |
case WKC_PAGEUP: |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
629 |
/* scroll up a page */ |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
630 |
if (this->server == NULL) return ES_HANDLED; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
631 |
this->list_pos = (this->list_pos < this->vscroll.cap) ? 0 : this->list_pos - this->vscroll.cap; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
632 |
break; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
633 |
case WKC_PAGEDOWN: |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
634 |
/* scroll down a page */ |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
635 |
if (this->server == NULL) return ES_HANDLED; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
636 |
this->list_pos = (this->list_pos + this->vscroll.cap > this->servers.Length() - 1) ? this->servers.Length() - 1 : this->list_pos + this->vscroll.cap; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
637 |
break; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
638 |
case WKC_HOME: |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
639 |
/* jump to beginning */ |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
640 |
this->list_pos = 0; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
641 |
break; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
642 |
case WKC_END: |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
643 |
/* jump to end */ |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
644 |
this->list_pos = this->servers.Length() - 1; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
645 |
break; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
646 |
default: break; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
647 |
} |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
648 |
|
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
649 |
this->server = this->servers[this->list_pos]; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
650 |
|
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
651 |
/* scroll to the new server if it is outside the current range */ |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
652 |
this->ScrollToSelectedServer(); |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
653 |
|
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
654 |
/* redraw window */ |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
655 |
this->SetDirty(); |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
656 |
return ES_HANDLED; |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
657 |
} |
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
658 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
659 |
if (this->field != NGWW_CLIENT) { |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
660 |
if (this->server != NULL) { |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
661 |
if (keycode == WKC_DELETE) { // Press 'delete' to remove servers |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
662 |
NetworkGameListRemoveItem(this->server); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
663 |
NetworkRebuildHostList(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
664 |
this->server = NULL; |
10279
cf4b14e20c44
(svn r14517) -Feature: arrow key scrolling in the server list (Roujin)
rubidium
parents:
10208
diff
changeset
|
665 |
this->list_pos = SLP_INVALID; |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
666 |
} |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
667 |
} |
9285
235e5e2d7f55
(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
parents:
9274
diff
changeset
|
668 |
return state; |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
669 |
} |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
670 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
671 |
if (this->HandleEditBoxKey(NGWW_CLIENT, key, keycode, state) == 1) return state; // enter pressed |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
672 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
673 |
/* The name is only allowed when it starts with a letter! */ |
9416
a6f2e6a99ed5
(svn r13330) -Fix: 'Player name' dialog was broken in two ways
smatz
parents:
9415
diff
changeset
|
674 |
if (!StrEmpty(this->edit_str_buf) && this->edit_str_buf[0] != ' ') { |
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
675 |
ttd_strlcpy(_settings_client.network.client_name, this->edit_str_buf, lengthof(_settings_client.network.client_name)); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
676 |
} else { |
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
677 |
ttd_strlcpy(_settings_client.network.client_name, "Player", lengthof(_settings_client.network.client_name)); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
678 |
} |
9285
235e5e2d7f55
(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
parents:
9274
diff
changeset
|
679 |
return state; |
0 | 680 |
} |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
681 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
682 |
virtual void OnQueryTextFinished(char *str) |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
683 |
{ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
684 |
if (!StrEmpty(str)) { |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
685 |
NetworkAddServer(str); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
686 |
NetworkRebuildHostList(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
687 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
688 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
689 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
690 |
virtual void OnResize(Point new_size, Point delta) |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
691 |
{ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
692 |
this->vscroll.cap += delta.y / (int)this->resize.step_height; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
693 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
694 |
this->widget[NGWW_MATRIX].data = (this->vscroll.cap << 8) + 1; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
695 |
|
9365
95e9cbc0257e
(svn r13266) -Codechange: Use SmallVector in GUIList
peter1138
parents:
9354
diff
changeset
|
696 |
SetVScrollCount(this, this->servers.Length()); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
697 |
|
9660
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
698 |
/* Additional colums in server list */ |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
699 |
if (this->width > NetworkGameWindow::MIN_EXTRA_COLUMNS_WIDTH + GetWidgetWidth(NGWW_MAPSIZE) |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
700 |
+ GetWidgetWidth(NGWW_DATE) + GetWidgetWidth(NGWW_YEARS)) { |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
701 |
/* show columns 'Map size', 'Date' and 'Years' */ |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
702 |
this->SetWidgetsHiddenState(false, NGWW_MAPSIZE, NGWW_DATE, NGWW_YEARS, WIDGET_LIST_END); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
703 |
AlignWidgetRight(NGWW_YEARS, NGWW_INFO); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
704 |
AlignWidgetRight(NGWW_DATE, NGWW_YEARS); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
705 |
AlignWidgetRight(NGWW_MAPSIZE, NGWW_DATE); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
706 |
AlignWidgetRight(NGWW_CLIENTS, NGWW_MAPSIZE); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
707 |
} else if (this->width > NetworkGameWindow::MIN_EXTRA_COLUMNS_WIDTH + GetWidgetWidth(NGWW_MAPSIZE) + GetWidgetWidth(NGWW_DATE)) { |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
708 |
/* show columns 'Map size' and 'Date' */ |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
709 |
this->SetWidgetsHiddenState(false, NGWW_MAPSIZE, NGWW_DATE, WIDGET_LIST_END); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
710 |
this->HideWidget(NGWW_YEARS); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
711 |
AlignWidgetRight(NGWW_DATE, NGWW_INFO); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
712 |
AlignWidgetRight(NGWW_MAPSIZE, NGWW_DATE); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
713 |
AlignWidgetRight(NGWW_CLIENTS, NGWW_MAPSIZE); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
714 |
} else if (this->width > NetworkGameWindow::MIN_EXTRA_COLUMNS_WIDTH + GetWidgetWidth(NGWW_MAPSIZE)) { |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
715 |
/* show column 'Map size' */ |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
716 |
this->ShowWidget(NGWW_MAPSIZE); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
717 |
this->SetWidgetsHiddenState(true, NGWW_DATE, NGWW_YEARS, WIDGET_LIST_END); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
718 |
AlignWidgetRight(NGWW_MAPSIZE, NGWW_INFO); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
719 |
AlignWidgetRight(NGWW_CLIENTS, NGWW_MAPSIZE); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
720 |
} else { |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
721 |
/* hide columns 'Map size', 'Date' and 'Years' */ |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
722 |
this->SetWidgetsHiddenState(true, NGWW_MAPSIZE, NGWW_DATE, NGWW_YEARS, WIDGET_LIST_END); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
723 |
AlignWidgetRight(NGWW_CLIENTS, NGWW_INFO); |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
724 |
} |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
725 |
this->widget[NGWW_NAME].right = this->widget[NGWW_CLIENTS].left - 1; |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
726 |
|
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
727 |
/* BOTTOM */ |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
728 |
int widget_width = this->widget[NGWW_FIND].right - this->widget[NGWW_FIND].left; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
729 |
int space = (this->width - 4 * widget_width - 25) / 3; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
730 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
731 |
int offset = 10; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
732 |
for (uint i = 0; i < 4; i++) { |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
733 |
this->widget[NGWW_FIND + i].left = offset; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
734 |
offset += widget_width; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
735 |
this->widget[NGWW_FIND + i].right = offset; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
736 |
offset += space; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
737 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
738 |
} |
9660
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
739 |
|
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
740 |
static const int MIN_EXTRA_COLUMNS_WIDTH = 550; ///< default width of the window |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
741 |
}; |
0 | 742 |
|
9660
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
743 |
Listing NetworkGameWindow::last_sorting = {false, 5}; |
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
744 |
GUIGameServerList::SortFunction *const NetworkGameWindow::sorter_funcs[] = { |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
745 |
&NGameNameSorter, |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
746 |
&NGameClientSorter, |
9660
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
747 |
&NGameMapSizeSorter, |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
748 |
&NGameDateSorter, |
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
749 |
&NGameYearsSorter, |
9414
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
750 |
&NGameAllowedSorter |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
751 |
}; |
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
752 |
|
d2374f994ac9
(svn r13327) -Codechange: NetworkGameWindow uses GUILists Sort() now
skidd13
parents:
9413
diff
changeset
|
753 |
|
0 | 754 |
static const Widget _network_game_window_widgets[] = { |
7960
b88d72baa45b
(svn r11516) -Codechange: cleanup of NetworkGameWindow in network_gui.cpp
smatz
parents:
7959
diff
changeset
|
755 |
/* TOP */ |
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
756 |
{ WWT_CLOSEBOX, RESIZE_NONE, COLOUR_LIGHT_BLUE, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, // NGWW_CLOSE |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
757 |
{ WWT_CAPTION, RESIZE_RIGHT, COLOUR_LIGHT_BLUE, 11, 449, 0, 13, STR_NETWORK_MULTIPLAYER, STR_NULL}, // NGWW_CAPTION |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
758 |
{ WWT_PANEL, RESIZE_RB, COLOUR_LIGHT_BLUE, 0, 449, 14, 263, 0x0, STR_NULL}, // NGWW_RESIZE |
0 | 759 |
|
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
760 |
{ WWT_TEXT, RESIZE_NONE, COLOUR_LIGHT_BLUE, 9, 85, 23, 35, STR_NETWORK_CONNECTION, STR_NULL}, // NGWW_CONNECTION |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
761 |
{ WWT_DROPDOWNIN, RESIZE_NONE, COLOUR_LIGHT_BLUE, 90, 181, 22, 33, STR_NETWORK_LAN_INTERNET_COMBO, STR_NETWORK_CONNECTION_TIP}, // NGWW_CONN_BTN |
2881
ade9a553be53
(svn r3429) - Feature (Followup): Change the gamelist window to accomodate for the new information.
Darkvater
parents:
2879
diff
changeset
|
762 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
763 |
{ WWT_EDITBOX, RESIZE_LR, COLOUR_LIGHT_BLUE, 290, 440, 22, 33, STR_NETWORK_PLAYER_NAME_OSKTITLE, STR_NETWORK_ENTER_NAME_TIP}, // NGWW_CLIENT |
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:
4329
diff
changeset
|
764 |
|
7960
b88d72baa45b
(svn r11516) -Codechange: cleanup of NetworkGameWindow in network_gui.cpp
smatz
parents:
7959
diff
changeset
|
765 |
/* LEFT SIDE */ |
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
766 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_WHITE, 10, 70, 42, 53, STR_NETWORK_GAME_NAME, STR_NETWORK_GAME_NAME_TIP}, // NGWW_NAME |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
767 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_WHITE, 71, 150, 42, 53, STR_NETWORK_CLIENTS_CAPTION, STR_NETWORK_CLIENTS_CAPTION_TIP}, // NGWW_CLIENTS |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
768 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_WHITE, 71, 150, 42, 53, STR_NETWORK_MAP_SIZE_CAPTION, STR_NETWORK_MAP_SIZE_CAPTION_TIP}, // NGWW_MAPSIZE |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
769 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_WHITE, 71, 130, 42, 53, STR_NETWORK_DATE_CAPTION, STR_NETWORK_DATE_CAPTION_TIP}, // NGWW_DATE |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
770 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_WHITE, 71, 130, 42, 53, STR_NETWORK_YEARS_CAPTION, STR_NETWORK_YEARS_CAPTION_TIP}, // NGWW_YEARS |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
771 |
{ WWT_PUSHTXTBTN, RESIZE_LR, COLOUR_WHITE, 151, 190, 42, 53, STR_EMPTY, STR_NETWORK_INFO_ICONS_TIP}, // NGWW_INFO |
7439
dfbe1adff313
(svn r10886) -Codechange: modify the "start network server" GUI so it can actually handle more than 10 clients/companies/spectators in a nice way, i.e. without making a combobox with 100 players and add 90 new strings to be able to do so.
rubidium
parents:
7363
diff
changeset
|
772 |
|
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
773 |
{ WWT_MATRIX, RESIZE_RB, COLOUR_LIGHT_BLUE, 10, 190, 54, 208, (11 << 8) + 1, STR_NETWORK_CLICK_GAME_TO_SELECT}, // NGWW_MATRIX |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
774 |
{ WWT_SCROLLBAR, RESIZE_LRB, COLOUR_LIGHT_BLUE, 191, 202, 42, 208, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST}, // NGWW_SCROLLBAR |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
775 |
{ WWT_TEXT, RESIZE_RTB, COLOUR_LIGHT_BLUE, 10, 190, 211, 222, STR_NETWORK_LAST_JOINED_SERVER, STR_NULL}, // NGWW_LASTJOINED_LABEL |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
776 |
{ WWT_PANEL, RESIZE_RTB, COLOUR_LIGHT_BLUE, 10, 190, 223, 236, 0x0, STR_NETWORK_CLICK_TO_SELECT_LAST}, // NGWW_LASTJOINED |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
777 |
|
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
778 |
/* RIGHT SIDE */ |
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
779 |
{ WWT_PANEL, RESIZE_LRB, COLOUR_LIGHT_BLUE, 210, 440, 42, 236, 0x0, STR_NULL}, // NGWW_DETAILS |
2881
ade9a553be53
(svn r3429) - Feature (Followup): Change the gamelist window to accomodate for the new information.
Darkvater
parents:
2879
diff
changeset
|
780 |
|
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
781 |
{ WWT_PUSHTXTBTN, RESIZE_LRTB, COLOUR_WHITE, 215, 315, 215, 226, STR_NETWORK_JOIN_GAME, STR_NULL}, // NGWW_JOIN |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
782 |
{ WWT_PUSHTXTBTN, RESIZE_LRTB, COLOUR_WHITE, 330, 435, 215, 226, STR_NETWORK_REFRESH, STR_NETWORK_REFRESH_TIP}, // NGWW_REFRESH |
5339
96ac3f4933bb
(svn r7505) -Feature: show NewGRFs used on a game server, show which NewGRFs you do and do not have.
rubidium
parents:
5247
diff
changeset
|
783 |
|
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
784 |
{ WWT_PUSHTXTBTN, RESIZE_LRTB, COLOUR_WHITE, 330, 435, 197, 208, STR_NEWGRF_SETTINGS_BUTTON, STR_NULL}, // NGWW_NEWGRF |
7343
9bf495fb4b10
(svn r10706) -Codechange: allow resizing the multiplayer server list window.
rubidium
parents:
7341
diff
changeset
|
785 |
|
7960
b88d72baa45b
(svn r11516) -Codechange: cleanup of NetworkGameWindow in network_gui.cpp
smatz
parents:
7959
diff
changeset
|
786 |
/* BOTTOM */ |
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
787 |
{ WWT_PUSHTXTBTN, RESIZE_TB, COLOUR_WHITE, 10, 110, 246, 257, STR_NETWORK_FIND_SERVER, STR_NETWORK_FIND_SERVER_TIP}, // NGWW_FIND |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
788 |
{ WWT_PUSHTXTBTN, RESIZE_TB, COLOUR_WHITE, 118, 218, 246, 257, STR_NETWORK_ADD_SERVER, STR_NETWORK_ADD_SERVER_TIP}, // NGWW_ADD |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
789 |
{ WWT_PUSHTXTBTN, RESIZE_TB, COLOUR_WHITE, 226, 326, 246, 257, STR_NETWORK_START_SERVER, STR_NETWORK_START_SERVER_TIP}, // NGWW_START |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
790 |
{ WWT_PUSHTXTBTN, RESIZE_TB, COLOUR_WHITE, 334, 434, 246, 257, STR_012E_CANCEL, STR_NULL}, // NGWW_CANCEL |
7439
dfbe1adff313
(svn r10886) -Codechange: modify the "start network server" GUI so it can actually handle more than 10 clients/companies/spectators in a nice way, i.e. without making a combobox with 100 players and add 90 new strings to be able to do so.
rubidium
parents:
7363
diff
changeset
|
791 |
|
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
792 |
{ WWT_RESIZEBOX, RESIZE_LRTB, COLOUR_LIGHT_BLUE, 438, 449, 252, 263, 0x0, STR_RESIZE_BUTTON }, |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
793 |
|
176
84990c4b9212
(svn r177) -Fix: padded out Widget code to solve warnings on C99 compiler (Tron)
darkvater
parents:
175
diff
changeset
|
794 |
{ WIDGETS_END}, |
0 | 795 |
}; |
796 |
||
797 |
static const WindowDesc _network_game_window_desc = { |
|
9660
2bc15fc4dcf6
(svn r13732) -Feature: add a few extra columns with information to the server list. Patch by Pegasus.
rubidium
parents:
9659
diff
changeset
|
798 |
WDP_CENTER, WDP_CENTER, 450, 264, 780, 264, |
5893
7e431a4abebb
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium
parents:
5669
diff
changeset
|
799 |
WC_NETWORK_WINDOW, WC_NONE, |
7343
9bf495fb4b10
(svn r10706) -Codechange: allow resizing the multiplayer server list window.
rubidium
parents:
7341
diff
changeset
|
800 |
WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_STD_BTN | WDF_UNCLICK_BUTTONS | WDF_RESIZABLE, |
0 | 801 |
_network_game_window_widgets, |
802 |
}; |
|
803 |
||
6247 | 804 |
void ShowNetworkGameWindow() |
0 | 805 |
{ |
2922
9eb5d9c8f78f
(svn r3478) - Fix: In the network game list do the default sorting on connectivity (so servers which you can join are on top) and sort on names as a second criteria on clients and connectivity.
Darkvater
parents:
2914
diff
changeset
|
806 |
static bool first = true; |
0 | 807 |
DeleteWindowById(WC_NETWORK_WINDOW, 0); |
105 | 808 |
|
764
7e1e17b7c7d4
(svn r1227) -Add: Ingame Server-list (select Internet, then Find Servers)
truelight
parents:
749
diff
changeset
|
809 |
/* Only show once */ |
2922
9eb5d9c8f78f
(svn r3478) - Fix: In the network game list do the default sorting on connectivity (so servers which you can join are on top) and sort on names as a second criteria on clients and connectivity.
Darkvater
parents:
2914
diff
changeset
|
810 |
if (first) { |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
811 |
char * const *srv; |
2881
ade9a553be53
(svn r3429) - Feature (Followup): Change the gamelist window to accomodate for the new information.
Darkvater
parents:
2879
diff
changeset
|
812 |
|
2922
9eb5d9c8f78f
(svn r3478) - Fix: In the network game list do the default sorting on connectivity (so servers which you can join are on top) and sort on names as a second criteria on clients and connectivity.
Darkvater
parents:
2914
diff
changeset
|
813 |
first = false; |
764
7e1e17b7c7d4
(svn r1227) -Add: Ingame Server-list (select Internet, then Find Servers)
truelight
parents:
749
diff
changeset
|
814 |
// add all servers from the config file to our list |
2885
fc5297214b36
(svn r3435) - Fix a warning, removed unused extern and some comments in network_gamelist.c
Darkvater
parents:
2884
diff
changeset
|
815 |
for (srv = &_network_host_list[0]; srv != endof(_network_host_list) && *srv != NULL; srv++) { |
2881
ade9a553be53
(svn r3429) - Feature (Followup): Change the gamelist window to accomodate for the new information.
Darkvater
parents:
2879
diff
changeset
|
816 |
NetworkAddServer(*srv); |
764
7e1e17b7c7d4
(svn r1227) -Add: Ingame Server-list (select Internet, then Find Servers)
truelight
parents:
749
diff
changeset
|
817 |
} |
7e1e17b7c7d4
(svn r1227) -Add: Ingame Server-list (select Internet, then Find Servers)
truelight
parents:
749
diff
changeset
|
818 |
} |
7e1e17b7c7d4
(svn r1227) -Add: Ingame Server-list (select Internet, then Find Servers)
truelight
parents:
749
diff
changeset
|
819 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
820 |
new NetworkGameWindow(&_network_game_window_desc); |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
821 |
} |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
822 |
|
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
823 |
enum { |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
824 |
NSSWND_START = 64, |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
825 |
NSSWND_ROWSIZE = 12 |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
826 |
}; |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
827 |
|
7959
e0476faea1e2
(svn r11515) -Codechange: cleanup of NetworkStartServerWindow in network_gui.cpp
smatz
parents:
7931
diff
changeset
|
828 |
/** Enum for NetworkStartServerWindow, referring to _network_start_server_window_widgets */ |
e0476faea1e2
(svn r11515) -Codechange: cleanup of NetworkStartServerWindow in network_gui.cpp
smatz
parents:
7931
diff
changeset
|
829 |
enum NetworkStartServerWidgets { |
e0476faea1e2
(svn r11515) -Codechange: cleanup of NetworkStartServerWindow in network_gui.cpp
smatz
parents:
7931
diff
changeset
|
830 |
NSSW_CLOSE = 0, ///< Close 'X' button |
e0476faea1e2
(svn r11515) -Codechange: cleanup of NetworkStartServerWindow in network_gui.cpp
smatz
parents:
7931
diff
changeset
|
831 |
NSSW_GAMENAME = 4, ///< Background for editbox to set game name |
e0476faea1e2
(svn r11515) -Codechange: cleanup of NetworkStartServerWindow in network_gui.cpp
smatz
parents:
7931
diff
changeset
|
832 |
NSSW_SETPWD = 5, ///< 'Set password' button |
e0476faea1e2
(svn r11515) -Codechange: cleanup of NetworkStartServerWindow in network_gui.cpp
smatz
parents:
7931
diff
changeset
|
833 |
NSSW_SELMAP = 7, ///< 'Select map' list |
8343
a6b70ddd862b
(svn r11909) -Codechange: use dropdown widget for player livery, network lobby/setup and news settings windows
peter1138
parents:
8284
diff
changeset
|
834 |
NSSW_CONNTYPE_BTN = 10, ///< 'Connection type' droplist button |
a6b70ddd862b
(svn r11909) -Codechange: use dropdown widget for player livery, network lobby/setup and news settings windows
peter1138
parents:
8284
diff
changeset
|
835 |
NSSW_CLIENTS_BTND = 12, ///< 'Max clients' downarrow |
a6b70ddd862b
(svn r11909) -Codechange: use dropdown widget for player livery, network lobby/setup and news settings windows
peter1138
parents:
8284
diff
changeset
|
836 |
NSSW_CLIENTS_TXT = 13, ///< 'Max clients' text |
a6b70ddd862b
(svn r11909) -Codechange: use dropdown widget for player livery, network lobby/setup and news settings windows
peter1138
parents:
8284
diff
changeset
|
837 |
NSSW_CLIENTS_BTNU = 14, ///< 'Max clients' uparrow |
a6b70ddd862b
(svn r11909) -Codechange: use dropdown widget for player livery, network lobby/setup and news settings windows
peter1138
parents:
8284
diff
changeset
|
838 |
NSSW_COMPANIES_BTND = 16, ///< 'Max companies' downarrow |
a6b70ddd862b
(svn r11909) -Codechange: use dropdown widget for player livery, network lobby/setup and news settings windows
peter1138
parents:
8284
diff
changeset
|
839 |
NSSW_COMPANIES_TXT = 17, ///< 'Max companies' text |
a6b70ddd862b
(svn r11909) -Codechange: use dropdown widget for player livery, network lobby/setup and news settings windows
peter1138
parents:
8284
diff
changeset
|
840 |
NSSW_COMPANIES_BTNU = 18, ///< 'Max companies' uparrow |
a6b70ddd862b
(svn r11909) -Codechange: use dropdown widget for player livery, network lobby/setup and news settings windows
peter1138
parents:
8284
diff
changeset
|
841 |
NSSW_SPECTATORS_BTND = 20, ///< 'Max spectators' downarrow |
a6b70ddd862b
(svn r11909) -Codechange: use dropdown widget for player livery, network lobby/setup and news settings windows
peter1138
parents:
8284
diff
changeset
|
842 |
NSSW_SPECTATORS_TXT = 21, ///< 'Max spectators' text |
a6b70ddd862b
(svn r11909) -Codechange: use dropdown widget for player livery, network lobby/setup and news settings windows
peter1138
parents:
8284
diff
changeset
|
843 |
NSSW_SPECTATORS_BTNU = 22, ///< 'Max spectators' uparrow |
a6b70ddd862b
(svn r11909) -Codechange: use dropdown widget for player livery, network lobby/setup and news settings windows
peter1138
parents:
8284
diff
changeset
|
844 |
NSSW_LANGUAGE_BTN = 24, ///< 'Language spoken' droplist button |
a6b70ddd862b
(svn r11909) -Codechange: use dropdown widget for player livery, network lobby/setup and news settings windows
peter1138
parents:
8284
diff
changeset
|
845 |
NSSW_START = 25, ///< 'Start' button |
a6b70ddd862b
(svn r11909) -Codechange: use dropdown widget for player livery, network lobby/setup and news settings windows
peter1138
parents:
8284
diff
changeset
|
846 |
NSSW_LOAD = 26, ///< 'Load' button |
a6b70ddd862b
(svn r11909) -Codechange: use dropdown widget for player livery, network lobby/setup and news settings windows
peter1138
parents:
8284
diff
changeset
|
847 |
NSSW_CANCEL = 27, ///< 'Cancel' button |
7959
e0476faea1e2
(svn r11515) -Codechange: cleanup of NetworkStartServerWindow in network_gui.cpp
smatz
parents:
7931
diff
changeset
|
848 |
}; |
e0476faea1e2
(svn r11515) -Codechange: cleanup of NetworkStartServerWindow in network_gui.cpp
smatz
parents:
7931
diff
changeset
|
849 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
850 |
struct NetworkStartServerWindow : public QueryStringBaseWindow { |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
851 |
byte field; ///< Selected text-field |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
852 |
FiosItem *map; ///< Selected map |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
853 |
byte widget_id; ///< The widget that has the pop-up input menu |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
854 |
|
9897
4d9a6ff6703e
(svn r14046) -Codechange: make the size of querystring "widgets" more configurable.
rubidium
parents:
9827
diff
changeset
|
855 |
NetworkStartServerWindow(const WindowDesc *desc) : QueryStringBaseWindow(NETWORK_NAME_LENGTH, desc) |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
856 |
{ |
9897
4d9a6ff6703e
(svn r14046) -Codechange: make the size of querystring "widgets" more configurable.
rubidium
parents:
9827
diff
changeset
|
857 |
ttd_strlcpy(this->edit_str_buf, _settings_client.network.server_name, this->edit_str_size); |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
858 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
859 |
_saveload_mode = SLD_NEW_GAME; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
860 |
BuildFileList(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
861 |
this->vscroll.cap = 12; |
9690
6ce3777235e2
(svn r13796) -Fix [FS#2161]: one couldn't start the last scenario in the "start server window"'s list of scenarios.
rubidium
parents:
9660
diff
changeset
|
862 |
this->vscroll.count = _fios_items.Length() + 1; |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
863 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
864 |
this->afilter = CS_ALPHANUMERAL; |
9897
4d9a6ff6703e
(svn r14046) -Codechange: make the size of querystring "widgets" more configurable.
rubidium
parents:
9827
diff
changeset
|
865 |
InitializeTextBuffer(&this->text, this->edit_str_buf, this->edit_str_size, 160); |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
866 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
867 |
this->field = NSSW_GAMENAME; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
868 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
869 |
this->FindWindowPlacementAndResize(desc); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
870 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
871 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
872 |
virtual void OnPaint() |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
873 |
{ |
9441
6f3d3595b42c
(svn r13359) -Codechange: convert _fios_items to a SmallVector
skidd13
parents:
9428
diff
changeset
|
874 |
int y = NSSWND_START; |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
875 |
const FiosItem *item; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
876 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
877 |
/* draw basic widgets */ |
9481
25ed9b0c242a
(svn r13433) -Codechange: remove a now useless global variable.
rubidium
parents:
9462
diff
changeset
|
878 |
SetDParam(1, _connection_types_dropdown[_settings_client.network.server_advertise]); |
9451
0d6806ba5504
(svn r13369) -Codechange: remove duplication of network configuration settings between NetworkSettings and NetworkGameInfo.
rubidium
parents:
9441
diff
changeset
|
879 |
SetDParam(2, _settings_client.network.max_clients); |
0d6806ba5504
(svn r13369) -Codechange: remove duplication of network configuration settings between NetworkSettings and NetworkGameInfo.
rubidium
parents:
9441
diff
changeset
|
880 |
SetDParam(3, _settings_client.network.max_companies); |
0d6806ba5504
(svn r13369) -Codechange: remove duplication of network configuration settings between NetworkSettings and NetworkGameInfo.
rubidium
parents:
9441
diff
changeset
|
881 |
SetDParam(4, _settings_client.network.max_spectators); |
0d6806ba5504
(svn r13369) -Codechange: remove duplication of network configuration settings between NetworkSettings and NetworkGameInfo.
rubidium
parents:
9441
diff
changeset
|
882 |
SetDParam(5, STR_NETWORK_LANG_ANY + _settings_client.network.server_lang); |
9273
35e0224ea8f1
(svn r13139) -Codechange: move DrawWindowWidgets and DrawWindowViewport to the Window class and remove Window from their naming.
rubidium
parents:
9269
diff
changeset
|
883 |
this->DrawWidgets(); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
884 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
885 |
/* editbox to set game name */ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
886 |
this->DrawEditBox(NSSW_GAMENAME); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
887 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
888 |
/* if password is set, draw red '*' next to 'Set password' button */ |
9451
0d6806ba5504
(svn r13369) -Codechange: remove duplication of network configuration settings between NetworkSettings and NetworkGameInfo.
rubidium
parents:
9441
diff
changeset
|
889 |
if (!StrEmpty(_settings_client.network.server_password)) DoDrawString("*", 408, 23, TC_RED); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
890 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
891 |
/* draw list of maps */ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
892 |
GfxFillRect(11, 63, 258, 215, 0xD7); // black background of maps list |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
893 |
|
9441
6f3d3595b42c
(svn r13359) -Codechange: convert _fios_items to a SmallVector
skidd13
parents:
9428
diff
changeset
|
894 |
for (uint pos = this->vscroll.pos; pos < _fios_items.Length() + 1; pos++) { |
6f3d3595b42c
(svn r13359) -Codechange: convert _fios_items to a SmallVector
skidd13
parents:
9428
diff
changeset
|
895 |
item = _fios_items.Get(pos - 1); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
896 |
if (item == this->map || (pos == 0 && this->map == NULL)) |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
897 |
GfxFillRect(11, y - 1, 258, y + 10, 155); // show highlighted item with a different colour |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
898 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
899 |
if (pos == 0) { |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
900 |
DrawString(14, y, STR_4010_GENERATE_RANDOM_NEW_GAME, TC_DARK_GREEN); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
901 |
} else { |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
902 |
DoDrawString(item->title, 14, y, _fios_colors[item->type] ); |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
903 |
} |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
904 |
y += NSSWND_ROWSIZE; |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
905 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
906 |
if (y >= this->vscroll.cap * NSSWND_ROWSIZE + NSSWND_START) break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
907 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
908 |
} |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
909 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
910 |
virtual void OnClick(Point pt, int widget) |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
911 |
{ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
912 |
if (widget != NSSW_CONNTYPE_BTN && widget != NSSW_LANGUAGE_BTN) HideDropDownMenu(this); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
913 |
this->field = widget; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
914 |
switch (widget) { |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
915 |
case NSSW_CLOSE: // Close 'X' |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
916 |
case NSSW_CANCEL: // Cancel button |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
917 |
ShowNetworkGameWindow(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
918 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
919 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
920 |
case NSSW_GAMENAME: |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
921 |
ShowOnScreenKeyboard(this, NSSW_GAMENAME, 0, 0); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
922 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
923 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
924 |
case NSSW_SETPWD: // Set password button |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
925 |
this->widget_id = NSSW_SETPWD; |
9648
c79160082c0f
(svn r13715) -Fix [FS#2129]: C-like strings had to be rebound each time they were printed, otherwise the text could change due to the few number of slots that could be used to bind.
rubidium
parents:
9481
diff
changeset
|
926 |
SetDParamStr(0, _settings_client.network.server_password); |
10145
849ba8b8626b
(svn r14331) -Codechange: use an enum as additional parameter for ShowQueryString()
smatz
parents:
10061
diff
changeset
|
927 |
ShowQueryString(STR_JUST_RAW_STRING, STR_NETWORK_SET_PASSWORD, 20, 250, this, CS_ALPHANUMERAL, QSF_NONE); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
928 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
929 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
930 |
case NSSW_SELMAP: { // Select map |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
931 |
int y = (pt.y - NSSWND_START) / NSSWND_ROWSIZE; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
932 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
933 |
y += this->vscroll.pos; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
934 |
if (y >= this->vscroll.count) return; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
935 |
|
9441
6f3d3595b42c
(svn r13359) -Codechange: convert _fios_items to a SmallVector
skidd13
parents:
9428
diff
changeset
|
936 |
this->map = (y == 0) ? NULL : _fios_items.Get(y - 1); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
937 |
this->SetDirty(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
938 |
} break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
939 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
940 |
case NSSW_CONNTYPE_BTN: // Connection type |
9481
25ed9b0c242a
(svn r13433) -Codechange: remove a now useless global variable.
rubidium
parents:
9462
diff
changeset
|
941 |
ShowDropDownMenu(this, _connection_types_dropdown, _settings_client.network.server_advertise, NSSW_CONNTYPE_BTN, 0, 0); // do it for widget NSSW_CONNTYPE_BTN |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
942 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
943 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
944 |
case NSSW_CLIENTS_BTND: case NSSW_CLIENTS_BTNU: // Click on up/down button for number of clients |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
945 |
case NSSW_COMPANIES_BTND: case NSSW_COMPANIES_BTNU: // Click on up/down button for number of companies |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
946 |
case NSSW_SPECTATORS_BTND: case NSSW_SPECTATORS_BTNU: // Click on up/down button for number of spectators |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
947 |
/* Don't allow too fast scrolling */ |
10180
a99cf854c6d0
(svn r14390) -Codechange: replace magic constants with symbolic constants.
rubidium
parents:
10145
diff
changeset
|
948 |
if ((this->flags4 & WF_TIMEOUT_MASK) <= WF_TIMEOUT_TRIGGER) { |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
949 |
this->HandleButtonClick(widget); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
950 |
this->SetDirty(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
951 |
switch (widget) { |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
952 |
default: NOT_REACHED(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
953 |
case NSSW_CLIENTS_BTND: case NSSW_CLIENTS_BTNU: |
9451
0d6806ba5504
(svn r13369) -Codechange: remove duplication of network configuration settings between NetworkSettings and NetworkGameInfo.
rubidium
parents:
9441
diff
changeset
|
954 |
_settings_client.network.max_clients = Clamp(_settings_client.network.max_clients + widget - NSSW_CLIENTS_TXT, 2, MAX_CLIENTS); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
955 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
956 |
case NSSW_COMPANIES_BTND: case NSSW_COMPANIES_BTNU: |
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
957 |
_settings_client.network.max_companies = Clamp(_settings_client.network.max_companies + widget - NSSW_COMPANIES_TXT, 1, MAX_COMPANIES); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
958 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
959 |
case NSSW_SPECTATORS_BTND: case NSSW_SPECTATORS_BTNU: |
9451
0d6806ba5504
(svn r13369) -Codechange: remove duplication of network configuration settings between NetworkSettings and NetworkGameInfo.
rubidium
parents:
9441
diff
changeset
|
960 |
_settings_client.network.max_spectators = Clamp(_settings_client.network.max_spectators + widget - NSSW_SPECTATORS_TXT, 0, MAX_CLIENTS); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
961 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
962 |
} |
7439
dfbe1adff313
(svn r10886) -Codechange: modify the "start network server" GUI so it can actually handle more than 10 clients/companies/spectators in a nice way, i.e. without making a combobox with 100 players and add 90 new strings to be able to do so.
rubidium
parents:
7363
diff
changeset
|
963 |
} |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
964 |
_left_button_clicked = false; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
965 |
break; |
2887
810e555d5249
(svn r3439) - CodeChange: Remove a whole bunch of global variables and put them into the WP() macro. Also combine more than one WP-custom element. For this the maximum size of w->custom (WP) has been increased, and multiple types put inside one with possibly moved to the corresponding gui file if it is only used there.
Darkvater
parents:
2886
diff
changeset
|
966 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
967 |
case NSSW_CLIENTS_TXT: // Click on number of clients |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
968 |
this->widget_id = NSSW_CLIENTS_TXT; |
9451
0d6806ba5504
(svn r13369) -Codechange: remove duplication of network configuration settings between NetworkSettings and NetworkGameInfo.
rubidium
parents:
9441
diff
changeset
|
969 |
SetDParam(0, _settings_client.network.max_clients); |
10145
849ba8b8626b
(svn r14331) -Codechange: use an enum as additional parameter for ShowQueryString()
smatz
parents:
10061
diff
changeset
|
970 |
ShowQueryString(STR_CONFIG_PATCHES_INT32, STR_NETWORK_NUMBER_OF_CLIENTS, 3, 50, this, CS_NUMERAL, QSF_NONE); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
971 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
972 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
973 |
case NSSW_COMPANIES_TXT: // Click on number of companies |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
974 |
this->widget_id = NSSW_COMPANIES_TXT; |
9451
0d6806ba5504
(svn r13369) -Codechange: remove duplication of network configuration settings between NetworkSettings and NetworkGameInfo.
rubidium
parents:
9441
diff
changeset
|
975 |
SetDParam(0, _settings_client.network.max_companies); |
10145
849ba8b8626b
(svn r14331) -Codechange: use an enum as additional parameter for ShowQueryString()
smatz
parents:
10061
diff
changeset
|
976 |
ShowQueryString(STR_CONFIG_PATCHES_INT32, STR_NETWORK_NUMBER_OF_COMPANIES, 3, 50, this, CS_NUMERAL, QSF_NONE); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
977 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
978 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
979 |
case NSSW_SPECTATORS_TXT: // Click on number of spectators |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
980 |
this->widget_id = NSSW_SPECTATORS_TXT; |
9451
0d6806ba5504
(svn r13369) -Codechange: remove duplication of network configuration settings between NetworkSettings and NetworkGameInfo.
rubidium
parents:
9441
diff
changeset
|
981 |
SetDParam(0, _settings_client.network.max_spectators); |
10145
849ba8b8626b
(svn r14331) -Codechange: use an enum as additional parameter for ShowQueryString()
smatz
parents:
10061
diff
changeset
|
982 |
ShowQueryString(STR_CONFIG_PATCHES_INT32, STR_NETWORK_NUMBER_OF_SPECTATORS, 3, 50, this, CS_NUMERAL, QSF_NONE); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
983 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
984 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
985 |
case NSSW_LANGUAGE_BTN: { // Language |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
986 |
uint sel = 0; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
987 |
for (uint i = 0; i < lengthof(_language_dropdown) - 1; i++) { |
9451
0d6806ba5504
(svn r13369) -Codechange: remove duplication of network configuration settings between NetworkSettings and NetworkGameInfo.
rubidium
parents:
9441
diff
changeset
|
988 |
if (_language_dropdown[i] == STR_NETWORK_LANG_ANY + _settings_client.network.server_lang) { |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
989 |
sel = i; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
990 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
991 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
992 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
993 |
ShowDropDownMenu(this, _language_dropdown, sel, NSSW_LANGUAGE_BTN, 0, 0); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
994 |
} break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
995 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
996 |
case NSSW_START: // Start game |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
997 |
_is_network_server = true; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
998 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
999 |
if (this->map == NULL) { // start random new game |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1000 |
ShowGenerateLandscape(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1001 |
} else { // load a scenario |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1002 |
char *name = FiosBrowseTo(this->map); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1003 |
if (name != NULL) { |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1004 |
SetFiosType(this->map->type); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1005 |
_file_to_saveload.filetype = FT_SCENARIO; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1006 |
ttd_strlcpy(_file_to_saveload.name, name, sizeof(_file_to_saveload.name)); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1007 |
ttd_strlcpy(_file_to_saveload.title, this->map->title, sizeof(_file_to_saveload.title)); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1008 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1009 |
delete this; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1010 |
SwitchMode(SM_START_SCENARIO); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1011 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1012 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1013 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1014 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1015 |
case NSSW_LOAD: // Load game |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1016 |
_is_network_server = true; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1017 |
/* XXX - WC_NETWORK_WINDOW (this window) should stay, but if it stays, it gets |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1018 |
* copied all the elements of 'load game' and upon closing that, it segfaults */ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1019 |
delete this; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1020 |
ShowSaveLoadDialog(SLD_LOAD_GAME); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1021 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1022 |
} |
0 | 1023 |
} |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1024 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1025 |
virtual void OnDropdownSelect(int widget, int index) |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1026 |
{ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1027 |
switch (widget) { |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1028 |
case NSSW_CONNTYPE_BTN: |
9481
25ed9b0c242a
(svn r13433) -Codechange: remove a now useless global variable.
rubidium
parents:
9462
diff
changeset
|
1029 |
_settings_client.network.server_advertise = (index != 0); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1030 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1031 |
case NSSW_LANGUAGE_BTN: |
9451
0d6806ba5504
(svn r13369) -Codechange: remove duplication of network configuration settings between NetworkSettings and NetworkGameInfo.
rubidium
parents:
9441
diff
changeset
|
1032 |
_settings_client.network.server_lang = _language_dropdown[index] - STR_NETWORK_LANG_ANY; |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1033 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1034 |
default: |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1035 |
NOT_REACHED(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1036 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1037 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1038 |
this->SetDirty(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1039 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1040 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1041 |
virtual void OnMouseLoop() |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1042 |
{ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1043 |
if (this->field == NSSW_GAMENAME) this->HandleEditBox(NSSW_GAMENAME); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1044 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1045 |
|
9285
235e5e2d7f55
(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
parents:
9274
diff
changeset
|
1046 |
virtual EventState OnKeyPress(uint16 key, uint16 keycode) |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1047 |
{ |
9285
235e5e2d7f55
(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
parents:
9274
diff
changeset
|
1048 |
EventState state = ES_NOT_HANDLED; |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1049 |
if (this->field == NSSW_GAMENAME) { |
9285
235e5e2d7f55
(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
parents:
9274
diff
changeset
|
1050 |
if (this->HandleEditBoxKey(NSSW_GAMENAME, key, keycode, state) == 1) return state; // enter pressed |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1051 |
|
9420
8a38703928e8
(svn r13334) -Codechange: move the network settings variables from network/network_internal to settings.
rubidium
parents:
9416
diff
changeset
|
1052 |
ttd_strlcpy(_settings_client.network.server_name, this->text.buf, sizeof(_settings_client.network.server_name)); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1053 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1054 |
|
9285
235e5e2d7f55
(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
parents:
9274
diff
changeset
|
1055 |
return state; |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1056 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1057 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1058 |
virtual void OnQueryTextFinished(char *str) |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1059 |
{ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1060 |
if (str == NULL) return; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1061 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1062 |
if (this->widget_id == NSSW_SETPWD) { |
9420
8a38703928e8
(svn r13334) -Codechange: move the network settings variables from network/network_internal to settings.
rubidium
parents:
9416
diff
changeset
|
1063 |
ttd_strlcpy(_settings_client.network.server_password, str, lengthof(_settings_client.network.server_password)); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1064 |
} else { |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1065 |
int32 value = atoi(str); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1066 |
this->InvalidateWidget(this->widget_id); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1067 |
switch (this->widget_id) { |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1068 |
default: NOT_REACHED(); |
9451
0d6806ba5504
(svn r13369) -Codechange: remove duplication of network configuration settings between NetworkSettings and NetworkGameInfo.
rubidium
parents:
9441
diff
changeset
|
1069 |
case NSSW_CLIENTS_TXT: _settings_client.network.max_clients = Clamp(value, 2, MAX_CLIENTS); break; |
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1070 |
case NSSW_COMPANIES_TXT: _settings_client.network.max_companies = Clamp(value, 1, MAX_COMPANIES); break; |
9451
0d6806ba5504
(svn r13369) -Codechange: remove duplication of network configuration settings between NetworkSettings and NetworkGameInfo.
rubidium
parents:
9441
diff
changeset
|
1071 |
case NSSW_SPECTATORS_TXT: _settings_client.network.max_spectators = Clamp(value, 0, MAX_CLIENTS); break; |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1072 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1073 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1074 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1075 |
this->SetDirty(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1076 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1077 |
}; |
0 | 1078 |
|
1079 |
static const Widget _network_start_server_window_widgets[] = { |
|
7959
e0476faea1e2
(svn r11515) -Codechange: cleanup of NetworkStartServerWindow in network_gui.cpp
smatz
parents:
7931
diff
changeset
|
1080 |
/* Window decoration and background panel */ |
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1081 |
{ WWT_CLOSEBOX, RESIZE_NONE, COLOUR_LIGHT_BLUE, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW }, // NSSW_CLOSE |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1082 |
{ WWT_CAPTION, RESIZE_NONE, COLOUR_LIGHT_BLUE, 11, 419, 0, 13, STR_NETWORK_START_GAME_WINDOW, STR_NULL}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1083 |
{ WWT_PANEL, RESIZE_NONE, COLOUR_LIGHT_BLUE, 0, 419, 14, 243, 0x0, STR_NULL}, |
867
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
853
diff
changeset
|
1084 |
|
7959
e0476faea1e2
(svn r11515) -Codechange: cleanup of NetworkStartServerWindow in network_gui.cpp
smatz
parents:
7931
diff
changeset
|
1085 |
/* Set game name and password widgets */ |
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1086 |
{ WWT_TEXT, RESIZE_NONE, COLOUR_LIGHT_BLUE, 10, 90, 22, 34, STR_NETWORK_NEW_GAME_NAME, STR_NULL}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1087 |
{ WWT_EDITBOX, RESIZE_NONE, COLOUR_LIGHT_BLUE, 100, 272, 22, 33, STR_NETWORK_NEW_GAME_NAME_OSKTITLE, STR_NETWORK_NEW_GAME_NAME_TIP}, // NSSW_GAMENAME |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1088 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_WHITE, 285, 405, 22, 33, STR_NETWORK_SET_PASSWORD, STR_NETWORK_PASSWORD_TIP}, // NSSW_SETPWD |
867
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
853
diff
changeset
|
1089 |
|
7959
e0476faea1e2
(svn r11515) -Codechange: cleanup of NetworkStartServerWindow in network_gui.cpp
smatz
parents:
7931
diff
changeset
|
1090 |
/* List of playable scenarios */ |
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1091 |
{ WWT_TEXT, RESIZE_NONE, COLOUR_LIGHT_BLUE, 10, 110, 43, 55, STR_NETWORK_SELECT_MAP, STR_NULL}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1092 |
{ WWT_INSET, RESIZE_NONE, COLOUR_LIGHT_BLUE, 10, 271, 62, 216, STR_NULL, STR_NETWORK_SELECT_MAP_TIP}, // NSSW_SELMAP |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1093 |
{ WWT_SCROLLBAR, RESIZE_NONE, COLOUR_LIGHT_BLUE, 259, 270, 63, 215, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST}, |
7959
e0476faea1e2
(svn r11515) -Codechange: cleanup of NetworkStartServerWindow in network_gui.cpp
smatz
parents:
7931
diff
changeset
|
1094 |
|
7439
dfbe1adff313
(svn r10886) -Codechange: modify the "start network server" GUI so it can actually handle more than 10 clients/companies/spectators in a nice way, i.e. without making a combobox with 100 players and add 90 new strings to be able to do so.
rubidium
parents:
7363
diff
changeset
|
1095 |
/* Combo/selection boxes to control Connection Type / Max Clients / Max Companies / Max Observers / Language */ |
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1096 |
{ WWT_TEXT, RESIZE_NONE, COLOUR_LIGHT_BLUE, 280, 419, 63, 75, STR_NETWORK_CONNECTION, STR_NULL}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1097 |
{ WWT_DROPDOWNIN, RESIZE_NONE, COLOUR_LIGHT_BLUE, 280, 410, 77, 88, STR_NETWORK_LAN_INTERNET_COMBO, STR_NETWORK_CONNECTION_TIP}, // NSSW_CONNTYPE_BTN |
7959
e0476faea1e2
(svn r11515) -Codechange: cleanup of NetworkStartServerWindow in network_gui.cpp
smatz
parents:
7931
diff
changeset
|
1098 |
|
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1099 |
{ WWT_TEXT, RESIZE_NONE, COLOUR_LIGHT_BLUE, 280, 419, 95, 107, STR_NETWORK_NUMBER_OF_CLIENTS, STR_NULL}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1100 |
{ WWT_IMGBTN, RESIZE_NONE, COLOUR_LIGHT_BLUE, 280, 291, 109, 120, SPR_ARROW_DOWN, STR_NETWORK_NUMBER_OF_CLIENTS_TIP}, // NSSW_CLIENTS_BTND |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1101 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_LIGHT_BLUE, 292, 397, 109, 120, STR_NETWORK_CLIENTS_SELECT, STR_NETWORK_NUMBER_OF_CLIENTS_TIP}, // NSSW_CLIENTS_TXT |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1102 |
{ WWT_IMGBTN, RESIZE_NONE, COLOUR_LIGHT_BLUE, 398, 410, 109, 120, SPR_ARROW_UP, STR_NETWORK_NUMBER_OF_CLIENTS_TIP}, // NSSW_CLIENTS_BTNU |
7959
e0476faea1e2
(svn r11515) -Codechange: cleanup of NetworkStartServerWindow in network_gui.cpp
smatz
parents:
7931
diff
changeset
|
1103 |
|
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1104 |
{ WWT_TEXT, RESIZE_NONE, COLOUR_LIGHT_BLUE, 280, 419, 127, 139, STR_NETWORK_NUMBER_OF_COMPANIES, STR_NULL}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1105 |
{ WWT_IMGBTN, RESIZE_NONE, COLOUR_LIGHT_BLUE, 280, 291, 141, 152, SPR_ARROW_DOWN, STR_NETWORK_NUMBER_OF_COMPANIES_TIP}, // NSSW_COMPANIES_BTND |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1106 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_LIGHT_BLUE, 292, 397, 141, 152, STR_NETWORK_COMPANIES_SELECT, STR_NETWORK_NUMBER_OF_COMPANIES_TIP}, // NSSW_COMPANIES_TXT |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1107 |
{ WWT_IMGBTN, RESIZE_NONE, COLOUR_LIGHT_BLUE, 398, 410, 141, 152, SPR_ARROW_UP, STR_NETWORK_NUMBER_OF_COMPANIES_TIP}, // NSSW_COMPANIES_BTNU |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1108 |
|
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1109 |
{ WWT_TEXT, RESIZE_NONE, COLOUR_LIGHT_BLUE, 280, 419, 159, 171, STR_NETWORK_NUMBER_OF_SPECTATORS, STR_NULL}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1110 |
{ WWT_IMGBTN, RESIZE_NONE, COLOUR_LIGHT_BLUE, 280, 291, 173, 184, SPR_ARROW_DOWN, STR_NETWORK_NUMBER_OF_SPECTATORS_TIP}, // NSSW_SPECTATORS_BTND |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1111 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_LIGHT_BLUE, 292, 397, 173, 184, STR_NETWORK_SPECTATORS_SELECT, STR_NETWORK_NUMBER_OF_SPECTATORS_TIP}, // NSSW_SPECTATORS_TXT |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1112 |
{ WWT_IMGBTN, RESIZE_NONE, COLOUR_LIGHT_BLUE, 398, 410, 173, 184, SPR_ARROW_UP, STR_NETWORK_NUMBER_OF_SPECTATORS_TIP}, // NSSW_SPECTATORS_BTNU |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1113 |
|
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1114 |
{ WWT_TEXT, RESIZE_NONE, COLOUR_LIGHT_BLUE, 280, 419, 191, 203, STR_NETWORK_LANGUAGE_SPOKEN, STR_NULL}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1115 |
{ WWT_DROPDOWNIN, RESIZE_NONE, COLOUR_LIGHT_BLUE, 280, 410, 205, 216, STR_NETWORK_LANGUAGE_COMBO, STR_NETWORK_LANGUAGE_TIP}, // NSSW_LANGUAGE_BTN |
7959
e0476faea1e2
(svn r11515) -Codechange: cleanup of NetworkStartServerWindow in network_gui.cpp
smatz
parents:
7931
diff
changeset
|
1116 |
|
e0476faea1e2
(svn r11515) -Codechange: cleanup of NetworkStartServerWindow in network_gui.cpp
smatz
parents:
7931
diff
changeset
|
1117 |
/* Buttons Start / Load / Cancel */ |
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1118 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_WHITE, 40, 140, 224, 235, STR_NETWORK_START_GAME, STR_NETWORK_START_GAME_TIP}, // NSSW_START |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1119 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_WHITE, 150, 250, 224, 235, STR_NETWORK_LOAD_GAME, STR_NETWORK_LOAD_GAME_TIP}, // NSSW_LOAD |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1120 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_WHITE, 260, 360, 224, 235, STR_012E_CANCEL, STR_NULL}, // NSSW_CANCEL |
7959
e0476faea1e2
(svn r11515) -Codechange: cleanup of NetworkStartServerWindow in network_gui.cpp
smatz
parents:
7931
diff
changeset
|
1121 |
|
176
84990c4b9212
(svn r177) -Fix: padded out Widget code to solve warnings on C99 compiler (Tron)
darkvater
parents:
175
diff
changeset
|
1122 |
{ WIDGETS_END}, |
0 | 1123 |
}; |
1124 |
||
1125 |
static const WindowDesc _network_start_server_window_desc = { |
|
7341
02515d0d4ced
(svn r10704) -Codechange: provide an infrastructure to have resizable windows that are smaller than the default window size.
rubidium
parents:
7321
diff
changeset
|
1126 |
WDP_CENTER, WDP_CENTER, 420, 244, 420, 244, |
5893
7e431a4abebb
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium
parents:
5669
diff
changeset
|
1127 |
WC_NETWORK_WINDOW, WC_NONE, |
2064
e6a2b42d0b15
(svn r2573) Codechange: Removed WDF_RESTORE_DPARAM, it's not needed with the new string system.
ludde
parents:
2055
diff
changeset
|
1128 |
WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, |
0 | 1129 |
_network_start_server_window_widgets, |
1130 |
}; |
|
1131 |
||
6247 | 1132 |
static void ShowNetworkStartServerWindow() |
0 | 1133 |
{ |
1134 |
DeleteWindowById(WC_NETWORK_WINDOW, 0); |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
1135 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1136 |
new NetworkStartServerWindow(&_network_start_server_window_desc); |
0 | 1137 |
} |
1138 |
||
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1139 |
static CompanyID NetworkLobbyFindCompanyIndex(byte pos) |
734
f4ad2f5805fd
(svn r1186) -Fix: [Network] You can now join a company on a server where a company
truelight
parents:
722
diff
changeset
|
1140 |
{ |
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1141 |
/* Scroll through all _network_company_info and get the 'pos' item that is not empty */ |
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1142 |
for (CompanyID i = COMPANY_FIRST; i < MAX_COMPANIES; i++) { |
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1143 |
if (!StrEmpty(_network_company_info[i].company_name)) { |
2639 | 1144 |
if (pos-- == 0) return i; |
734
f4ad2f5805fd
(svn r1186) -Fix: [Network] You can now join a company on a server where a company
truelight
parents:
722
diff
changeset
|
1145 |
} |
f4ad2f5805fd
(svn r1186) -Fix: [Network] You can now join a company on a server where a company
truelight
parents:
722
diff
changeset
|
1146 |
} |
f4ad2f5805fd
(svn r1186) -Fix: [Network] You can now join a company on a server where a company
truelight
parents:
722
diff
changeset
|
1147 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1148 |
return COMPANY_FIRST; |
734
f4ad2f5805fd
(svn r1186) -Fix: [Network] You can now join a company on a server where a company
truelight
parents:
722
diff
changeset
|
1149 |
} |
f4ad2f5805fd
(svn r1186) -Fix: [Network] You can now join a company on a server where a company
truelight
parents:
722
diff
changeset
|
1150 |
|
7963
bf9d4e26ea5b
(svn r11519) -Codechange: enumerization and cleanup of NetworkLobbyWindow in network_gui.cpp
smatz
parents:
7961
diff
changeset
|
1151 |
/** Enum for NetworkLobbyWindow, referring to _network_lobby_window_widgets */ |
bf9d4e26ea5b
(svn r11519) -Codechange: enumerization and cleanup of NetworkLobbyWindow in network_gui.cpp
smatz
parents:
7961
diff
changeset
|
1152 |
enum NetworkLobbyWindowWidgets { |
bf9d4e26ea5b
(svn r11519) -Codechange: enumerization and cleanup of NetworkLobbyWindow in network_gui.cpp
smatz
parents:
7961
diff
changeset
|
1153 |
NLWW_CLOSE = 0, ///< Close 'X' button |
bf9d4e26ea5b
(svn r11519) -Codechange: enumerization and cleanup of NetworkLobbyWindow in network_gui.cpp
smatz
parents:
7961
diff
changeset
|
1154 |
NLWW_MATRIX = 5, ///< List of companies |
bf9d4e26ea5b
(svn r11519) -Codechange: enumerization and cleanup of NetworkLobbyWindow in network_gui.cpp
smatz
parents:
7961
diff
changeset
|
1155 |
NLWW_DETAILS = 7, ///< Company details |
bf9d4e26ea5b
(svn r11519) -Codechange: enumerization and cleanup of NetworkLobbyWindow in network_gui.cpp
smatz
parents:
7961
diff
changeset
|
1156 |
NLWW_JOIN = 8, ///< 'Join company' button |
bf9d4e26ea5b
(svn r11519) -Codechange: enumerization and cleanup of NetworkLobbyWindow in network_gui.cpp
smatz
parents:
7961
diff
changeset
|
1157 |
NLWW_NEW = 9, ///< 'New company' button |
bf9d4e26ea5b
(svn r11519) -Codechange: enumerization and cleanup of NetworkLobbyWindow in network_gui.cpp
smatz
parents:
7961
diff
changeset
|
1158 |
NLWW_SPECTATE = 10, ///< 'Spectate game' button |
bf9d4e26ea5b
(svn r11519) -Codechange: enumerization and cleanup of NetworkLobbyWindow in network_gui.cpp
smatz
parents:
7961
diff
changeset
|
1159 |
NLWW_REFRESH = 11, ///< 'Refresh server' button |
bf9d4e26ea5b
(svn r11519) -Codechange: enumerization and cleanup of NetworkLobbyWindow in network_gui.cpp
smatz
parents:
7961
diff
changeset
|
1160 |
NLWW_CANCEL = 12, ///< 'Cancel' button |
bf9d4e26ea5b
(svn r11519) -Codechange: enumerization and cleanup of NetworkLobbyWindow in network_gui.cpp
smatz
parents:
7961
diff
changeset
|
1161 |
}; |
bf9d4e26ea5b
(svn r11519) -Codechange: enumerization and cleanup of NetworkLobbyWindow in network_gui.cpp
smatz
parents:
7961
diff
changeset
|
1162 |
|
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1163 |
struct NetworkLobbyWindow : public Window { |
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1164 |
CompanyID company; ///< Select company |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1165 |
NetworkGameList *server; ///< Selected server |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1166 |
|
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1167 |
NetworkLobbyWindow(const WindowDesc *desc, NetworkGameList *ngl) : |
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1168 |
Window(desc), company(INVALID_COMPANY), server(ngl) |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1169 |
{ |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1170 |
this->vscroll.cap = 10; |
9178
3235f895bf12
(svn r13041) -Fix: calling a virtual function on a not fully constructed object is bound to cause errors.
rubidium
parents:
9177
diff
changeset
|
1171 |
|
3235f895bf12
(svn r13041) -Fix: calling a virtual function on a not fully constructed object is bound to cause errors.
rubidium
parents:
9177
diff
changeset
|
1172 |
this->FindWindowPlacementAndResize(desc); |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1173 |
} |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1174 |
|
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1175 |
virtual void OnPaint() |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1176 |
{ |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1177 |
const NetworkGameInfo *gi = &this->server->info; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1178 |
int y = NET_PRC__OFFSET_TOP_WIDGET_COMPANY, pos; |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1179 |
|
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1180 |
/* Join button is disabled when no company is selected */ |
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1181 |
this->SetWidgetDisabledState(NLWW_JOIN, this->company == INVALID_COMPANY); |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1182 |
/* Cannot start new company if there are too many */ |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1183 |
this->SetWidgetDisabledState(NLWW_NEW, gi->companies_on >= gi->companies_max); |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1184 |
/* Cannot spectate if there are too many spectators */ |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1185 |
this->SetWidgetDisabledState(NLWW_SPECTATE, gi->spectators_on >= gi->spectators_max); |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1186 |
|
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1187 |
/* Draw window widgets */ |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1188 |
SetDParamStr(0, gi->server_name); |
9273
35e0224ea8f1
(svn r13139) -Codechange: move DrawWindowWidgets and DrawWindowViewport to the Window class and remove Window from their naming.
rubidium
parents:
9269
diff
changeset
|
1189 |
this->DrawWidgets(); |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1190 |
|
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1191 |
/* Draw company list */ |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1192 |
pos = this->vscroll.pos; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1193 |
while (pos < gi->companies_on) { |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1194 |
byte company = NetworkLobbyFindCompanyIndex(pos); |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1195 |
bool income = false; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1196 |
if (this->company == company) { |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1197 |
GfxFillRect(11, y - 1, 154, y + 10, 10); // show highlighted item with a different colour |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1198 |
} |
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1199 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1200 |
DoDrawStringTruncated(_network_company_info[company].company_name, 13, y, TC_BLACK, 135 - 13); |
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1201 |
if (_network_company_info[company].use_password != 0) DrawSprite(SPR_LOCK, PAL_NONE, 135, y); |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1202 |
|
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1203 |
/* If the company's income was positive puts a green dot else a red dot */ |
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1204 |
if (_network_company_info[company].income >= 0) income = true; |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1205 |
DrawSprite(SPR_BLOT, income ? PALETTE_TO_GREEN : PALETTE_TO_RED, 145, y); |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1206 |
|
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1207 |
pos++; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1208 |
y += NET_PRC__SIZE_OF_ROW; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1209 |
if (pos >= this->vscroll.cap) break; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1210 |
} |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1211 |
|
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1212 |
/* Draw info about selected company when it is selected in the left window */ |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1213 |
GfxFillRect(174, 39, 403, 75, 157); |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1214 |
DrawStringCentered(290, 50, STR_NETWORK_COMPANY_INFO, TC_FROMSTRING); |
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1215 |
if (this->company != INVALID_COMPANY) { |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1216 |
const uint x = 183; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1217 |
const uint trunc_width = this->widget[NLWW_DETAILS].right - x; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1218 |
y = 80; |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1219 |
|
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1220 |
SetDParam(0, gi->clients_on); |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1221 |
SetDParam(1, gi->clients_max); |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1222 |
SetDParam(2, gi->companies_on); |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1223 |
SetDParam(3, gi->companies_max); |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1224 |
DrawString(x, y, STR_NETWORK_CLIENTS, TC_GOLD); |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1225 |
y += 10; |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1226 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1227 |
SetDParamStr(0, _network_company_info[this->company].company_name); |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1228 |
DrawStringTruncated(x, y, STR_NETWORK_COMPANY_NAME, TC_GOLD, trunc_width); |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1229 |
y += 10; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1230 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1231 |
SetDParam(0, _network_company_info[this->company].inaugurated_year); |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1232 |
DrawString(x, y, STR_NETWORK_INAUGURATION_YEAR, TC_GOLD); // inauguration year |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1233 |
y += 10; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1234 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1235 |
SetDParam(0, _network_company_info[this->company].company_value); |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1236 |
DrawString(x, y, STR_NETWORK_VALUE, TC_GOLD); // company value |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1237 |
y += 10; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1238 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1239 |
SetDParam(0, _network_company_info[this->company].money); |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1240 |
DrawString(x, y, STR_NETWORK_CURRENT_BALANCE, TC_GOLD); // current balance |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1241 |
y += 10; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1242 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1243 |
SetDParam(0, _network_company_info[this->company].income); |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1244 |
DrawString(x, y, STR_NETWORK_LAST_YEARS_INCOME, TC_GOLD); // last year's income |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1245 |
y += 10; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1246 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1247 |
SetDParam(0, _network_company_info[this->company].performance); |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1248 |
DrawString(x, y, STR_NETWORK_PERFORMANCE, TC_GOLD); // performance |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1249 |
y += 10; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1250 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1251 |
SetDParam(0, _network_company_info[this->company].num_vehicle[0]); |
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1252 |
SetDParam(1, _network_company_info[this->company].num_vehicle[1]); |
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1253 |
SetDParam(2, _network_company_info[this->company].num_vehicle[2]); |
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1254 |
SetDParam(3, _network_company_info[this->company].num_vehicle[3]); |
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1255 |
SetDParam(4, _network_company_info[this->company].num_vehicle[4]); |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1256 |
DrawString(x, y, STR_NETWORK_VEHICLES, TC_GOLD); // vehicles |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1257 |
y += 10; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1258 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1259 |
SetDParam(0, _network_company_info[this->company].num_station[0]); |
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1260 |
SetDParam(1, _network_company_info[this->company].num_station[1]); |
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1261 |
SetDParam(2, _network_company_info[this->company].num_station[2]); |
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1262 |
SetDParam(3, _network_company_info[this->company].num_station[3]); |
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1263 |
SetDParam(4, _network_company_info[this->company].num_station[4]); |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1264 |
DrawString(x, y, STR_NETWORK_STATIONS, TC_GOLD); // stations |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1265 |
y += 10; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1266 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1267 |
SetDParamStr(0, _network_company_info[this->company].clients); |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1268 |
DrawStringTruncated(x, y, STR_NETWORK_PLAYERS, TC_GOLD, trunc_width); // players |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1269 |
} |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1270 |
} |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1271 |
|
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1272 |
virtual void OnClick(Point pt, int widget) |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1273 |
{ |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1274 |
switch (widget) { |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1275 |
case NLWW_CLOSE: // Close 'X' |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1276 |
case NLWW_CANCEL: // Cancel button |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1277 |
ShowNetworkGameWindow(); |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1278 |
break; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1279 |
|
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1280 |
case NLWW_MATRIX: { // Company list |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1281 |
uint32 id_v = (pt.y - NET_PRC__OFFSET_TOP_WIDGET_COMPANY) / NET_PRC__SIZE_OF_ROW; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1282 |
|
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1283 |
if (id_v >= this->vscroll.cap) break; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1284 |
|
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1285 |
id_v += this->vscroll.pos; |
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1286 |
this->company = (id_v >= this->server->info.companies_on) ? INVALID_COMPANY : NetworkLobbyFindCompanyIndex(id_v); |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1287 |
this->SetDirty(); |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1288 |
} break; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1289 |
|
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1290 |
case NLWW_JOIN: // Join company |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1291 |
/* Button can be clicked only when it is enabled */ |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1292 |
_network_playas = this->company; |
9420
8a38703928e8
(svn r13334) -Codechange: move the network settings variables from network/network_internal to settings.
rubidium
parents:
9416
diff
changeset
|
1293 |
NetworkClientConnectGame(_settings_client.network.last_host, _settings_client.network.last_port); |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1294 |
break; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1295 |
|
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1296 |
case NLWW_NEW: // New company |
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1297 |
_network_playas = COMPANY_NEW_COMPANY; |
9420
8a38703928e8
(svn r13334) -Codechange: move the network settings variables from network/network_internal to settings.
rubidium
parents:
9416
diff
changeset
|
1298 |
NetworkClientConnectGame(_settings_client.network.last_host, _settings_client.network.last_port); |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1299 |
break; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1300 |
|
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1301 |
case NLWW_SPECTATE: // Spectate game |
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1302 |
_network_playas = COMPANY_SPECTATOR; |
9420
8a38703928e8
(svn r13334) -Codechange: move the network settings variables from network/network_internal to settings.
rubidium
parents:
9416
diff
changeset
|
1303 |
NetworkClientConnectGame(_settings_client.network.last_host, _settings_client.network.last_port); |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1304 |
break; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1305 |
|
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1306 |
case NLWW_REFRESH: // Refresh |
9420
8a38703928e8
(svn r13334) -Codechange: move the network settings variables from network/network_internal to settings.
rubidium
parents:
9416
diff
changeset
|
1307 |
NetworkTCPQueryServer(_settings_client.network.last_host, _settings_client.network.last_port); // company info |
8a38703928e8
(svn r13334) -Codechange: move the network settings variables from network/network_internal to settings.
rubidium
parents:
9416
diff
changeset
|
1308 |
NetworkUDPQueryServer(_settings_client.network.last_host, _settings_client.network.last_port); // general data |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1309 |
break; |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1310 |
} |
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1311 |
} |
10049
754a2d1e0e94
(svn r14209) -Feature(tte): doubleclick to join selected server/company
smatz
parents:
9898
diff
changeset
|
1312 |
|
754a2d1e0e94
(svn r14209) -Feature(tte): doubleclick to join selected server/company
smatz
parents:
9898
diff
changeset
|
1313 |
virtual void OnDoubleClick(Point pt, int widget) |
754a2d1e0e94
(svn r14209) -Feature(tte): doubleclick to join selected server/company
smatz
parents:
9898
diff
changeset
|
1314 |
{ |
754a2d1e0e94
(svn r14209) -Feature(tte): doubleclick to join selected server/company
smatz
parents:
9898
diff
changeset
|
1315 |
if (widget == NLWW_MATRIX) { |
754a2d1e0e94
(svn r14209) -Feature(tte): doubleclick to join selected server/company
smatz
parents:
9898
diff
changeset
|
1316 |
/* is the Join button enabled? */ |
754a2d1e0e94
(svn r14209) -Feature(tte): doubleclick to join selected server/company
smatz
parents:
9898
diff
changeset
|
1317 |
if (!this->IsWidgetDisabled(NLWW_JOIN)) this->OnClick(pt, NLWW_JOIN); |
754a2d1e0e94
(svn r14209) -Feature(tte): doubleclick to join selected server/company
smatz
parents:
9898
diff
changeset
|
1318 |
} |
754a2d1e0e94
(svn r14209) -Feature(tte): doubleclick to join selected server/company
smatz
parents:
9898
diff
changeset
|
1319 |
} |
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1320 |
}; |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1321 |
|
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1322 |
static const Widget _network_lobby_window_widgets[] = { |
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1323 |
{ WWT_CLOSEBOX, RESIZE_NONE, COLOUR_LIGHT_BLUE, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW }, // NLWW_CLOSE |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1324 |
{ WWT_CAPTION, RESIZE_NONE, COLOUR_LIGHT_BLUE, 11, 419, 0, 13, STR_NETWORK_GAME_LOBBY, STR_NULL}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1325 |
{ WWT_PANEL, RESIZE_NONE, COLOUR_LIGHT_BLUE, 0, 419, 14, 234, 0x0, STR_NULL}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1326 |
{ WWT_TEXT, RESIZE_NONE, COLOUR_LIGHT_BLUE, 10, 419, 22, 34, STR_NETWORK_PREPARE_TO_JOIN, STR_NULL}, |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1327 |
|
7963
bf9d4e26ea5b
(svn r11519) -Codechange: enumerization and cleanup of NetworkLobbyWindow in network_gui.cpp
smatz
parents:
7961
diff
changeset
|
1328 |
/* company list */ |
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1329 |
{ WWT_PANEL, RESIZE_NONE, COLOUR_WHITE, 10, 155, 38, 49, 0x0, STR_NULL}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1330 |
{ WWT_MATRIX, RESIZE_NONE, COLOUR_LIGHT_BLUE, 10, 155, 50, 190, (10 << 8) + 1, STR_NETWORK_COMPANY_LIST_TIP}, // NLWW_MATRIX |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1331 |
{ WWT_SCROLLBAR, RESIZE_NONE, COLOUR_LIGHT_BLUE, 156, 167, 38, 190, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST}, |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1332 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1333 |
/* company info */ |
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1334 |
{ WWT_PANEL, RESIZE_NONE, COLOUR_LIGHT_BLUE, 173, 404, 38, 190, 0x0, STR_NULL}, // NLWW_DETAILS |
7963
bf9d4e26ea5b
(svn r11519) -Codechange: enumerization and cleanup of NetworkLobbyWindow in network_gui.cpp
smatz
parents:
7961
diff
changeset
|
1335 |
|
bf9d4e26ea5b
(svn r11519) -Codechange: enumerization and cleanup of NetworkLobbyWindow in network_gui.cpp
smatz
parents:
7961
diff
changeset
|
1336 |
/* buttons */ |
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1337 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_WHITE, 10, 151, 200, 211, STR_NETWORK_JOIN_COMPANY, STR_NETWORK_JOIN_COMPANY_TIP}, // NLWW_JOIN |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1338 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_WHITE, 10, 151, 215, 226, STR_NETWORK_NEW_COMPANY, STR_NETWORK_NEW_COMPANY_TIP}, // NLWW_NEW |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1339 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_WHITE, 158, 268, 200, 211, STR_NETWORK_SPECTATE_GAME, STR_NETWORK_SPECTATE_GAME_TIP}, // NLWW_SPECTATE |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1340 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_WHITE, 158, 268, 215, 226, STR_NETWORK_REFRESH, STR_NETWORK_REFRESH_TIP}, // NLWW_REFRESH |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1341 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_WHITE, 278, 388, 200, 211, STR_012E_CANCEL, STR_NULL}, // NLWW_CANCEL |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1342 |
|
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1343 |
{ WIDGETS_END}, |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1344 |
}; |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1345 |
|
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1346 |
static const WindowDesc _network_lobby_window_desc = { |
7341
02515d0d4ced
(svn r10704) -Codechange: provide an infrastructure to have resizable windows that are smaller than the default window size.
rubidium
parents:
7321
diff
changeset
|
1347 |
WDP_CENTER, WDP_CENTER, 420, 235, 420, 235, |
5893
7e431a4abebb
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium
parents:
5669
diff
changeset
|
1348 |
WC_NETWORK_WINDOW, WC_NONE, |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1349 |
WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1350 |
_network_lobby_window_widgets, |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1351 |
}; |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1352 |
|
2888
79da960a5372
(svn r3441) - Feature: Allow the network game list to be sorted (by name/clients/compatibility ascending/descending)
Darkvater
parents:
2887
diff
changeset
|
1353 |
/* Show the networklobbywindow with the selected server |
79da960a5372
(svn r3441) - Feature: Allow the network game list to be sorted (by name/clients/compatibility ascending/descending)
Darkvater
parents:
2887
diff
changeset
|
1354 |
* @param ngl Selected game pointer which is passed to the new window */ |
2887
810e555d5249
(svn r3439) - CodeChange: Remove a whole bunch of global variables and put them into the WP() macro. Also combine more than one WP-custom element. For this the maximum size of w->custom (WP) has been increased, and multiple types put inside one with possibly moved to the corresponding gui file if it is only used there.
Darkvater
parents:
2886
diff
changeset
|
1355 |
static void ShowNetworkLobbyWindow(NetworkGameList *ngl) |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1356 |
{ |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1357 |
DeleteWindowById(WC_NETWORK_WINDOW, 0); |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1358 |
|
9420
8a38703928e8
(svn r13334) -Codechange: move the network settings variables from network/network_internal to settings.
rubidium
parents:
9416
diff
changeset
|
1359 |
NetworkTCPQueryServer(_settings_client.network.last_host, _settings_client.network.last_port); // company info |
8a38703928e8
(svn r13334) -Codechange: move the network settings variables from network/network_internal to settings.
rubidium
parents:
9416
diff
changeset
|
1360 |
NetworkUDPQueryServer(_settings_client.network.last_host, _settings_client.network.last_port); // general data |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1361 |
|
9177
47a00c43444e
(svn r13040) -Codechange: make a class of the NetworkLobbyWindow.
rubidium
parents:
9165
diff
changeset
|
1362 |
new NetworkLobbyWindow(&_network_lobby_window_desc, ngl); |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1363 |
} |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1364 |
|
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1365 |
// The window below gives information about the connected clients |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1366 |
// and also makes able to give money to them, kick them (if server) |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1367 |
// and stuff like that. |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1368 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1369 |
extern void DrawCompanyIcon(CompanyID cid, int x, int y); |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1370 |
|
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1371 |
// Every action must be of this form |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1372 |
typedef void ClientList_Action_Proc(byte client_no); |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1373 |
|
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1374 |
// Max 10 actions per client |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1375 |
#define MAX_CLIENTLIST_ACTION 10 |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1376 |
|
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1377 |
enum { |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1378 |
CLNWND_OFFSET = 16, |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1379 |
CLNWND_ROWSIZE = 10 |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1380 |
}; |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1381 |
|
867
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
853
diff
changeset
|
1382 |
static const Widget _client_list_widgets[] = { |
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1383 |
{ WWT_CLOSEBOX, RESIZE_NONE, COLOUR_GREY, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1384 |
{ WWT_CAPTION, RESIZE_NONE, COLOUR_GREY, 11, 237, 0, 13, STR_NETWORK_CLIENT_LIST, STR_018C_WINDOW_TITLE_DRAG_THIS}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1385 |
{ WWT_STICKYBOX, RESIZE_NONE, COLOUR_GREY, 238, 249, 0, 13, STR_NULL, STR_STICKY_BUTTON}, |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1386 |
|
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1387 |
{ WWT_PANEL, RESIZE_NONE, COLOUR_GREY, 0, 249, 14, 14 + CLNWND_ROWSIZE + 1, 0x0, STR_NULL}, |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1388 |
{ WIDGETS_END}, |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1389 |
}; |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1390 |
|
867
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
853
diff
changeset
|
1391 |
static const Widget _client_list_popup_widgets[] = { |
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1392 |
{ WWT_PANEL, RESIZE_NONE, COLOUR_GREY, 0, 99, 0, 0, 0, STR_NULL}, |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1393 |
{ WIDGETS_END}, |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1394 |
}; |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1395 |
|
9317
f14eb8815829
(svn r13185) -Codechange: remove everything related to the WindowProc callbacks.
rubidium
parents:
9301
diff
changeset
|
1396 |
static const WindowDesc _client_list_desc = { |
7341
02515d0d4ced
(svn r10704) -Codechange: provide an infrastructure to have resizable windows that are smaller than the default window size.
rubidium
parents:
7321
diff
changeset
|
1397 |
WDP_AUTO, WDP_AUTO, 250, 1, 250, 1, |
5893
7e431a4abebb
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium
parents:
5669
diff
changeset
|
1398 |
WC_CLIENT_LIST, WC_NONE, |
7029
7b84f0befa90
(svn r10293) -Add [FS#885]: a sticky button for the client list window (oxygene)
truelight
parents:
7002
diff
changeset
|
1399 |
WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON, |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1400 |
_client_list_widgets, |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1401 |
}; |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1402 |
|
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1403 |
// Finds the Xth client-info that is active |
4171 | 1404 |
static const NetworkClientInfo *NetworkFindClientInfo(byte client_no) |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1405 |
{ |
4171 | 1406 |
const NetworkClientInfo *ci; |
2630 | 1407 |
|
4883
c9c7d15c0b0b
(svn r6820) -Codechange: Some more const correctness, coding style.
Darkvater
parents:
4880
diff
changeset
|
1408 |
FOR_ALL_ACTIVE_CLIENT_INFOS(ci) { |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1409 |
if (client_no == 0) return ci; |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1410 |
client_no--; |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1411 |
} |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1412 |
|
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1413 |
return NULL; |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1414 |
} |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1415 |
|
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1416 |
// Here we start to define the options out of the menu |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1417 |
static void ClientList_Kick(byte client_no) |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1418 |
{ |
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1419 |
if (client_no < MAX_COMPANIES) |
4880
aac84a9dcd03
(svn r6816) -Codechange: Some coding style, variable localization, const correctness.
Darkvater
parents:
4878
diff
changeset
|
1420 |
SEND_COMMAND(PACKET_SERVER_ERROR)(DEREF_CLIENT(client_no), NETWORK_ERROR_KICKED); |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1421 |
} |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1422 |
|
841
4874b9ce2765
(svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents:
827
diff
changeset
|
1423 |
static void ClientList_Ban(byte client_no) |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1424 |
{ |
841
4874b9ce2765
(svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents:
827
diff
changeset
|
1425 |
uint32 ip = NetworkFindClientInfo(client_no)->client_ip; |
4874b9ce2765
(svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents:
827
diff
changeset
|
1426 |
|
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1427 |
for (uint i = 0; i < lengthof(_network_ban_list); i++) { |
2914
ccfa238c6645
(svn r3469) - Fix: plug a possible memleak with subsequential strdup's without freeing the previous value and make it possible to ban offline clients
Darkvater
parents:
2889
diff
changeset
|
1428 |
if (_network_ban_list[i] == NULL) { |
841
4874b9ce2765
(svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents:
827
diff
changeset
|
1429 |
_network_ban_list[i] = strdup(inet_ntoa(*(struct in_addr *)&ip)); |
4874b9ce2765
(svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents:
827
diff
changeset
|
1430 |
break; |
4874b9ce2765
(svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents:
827
diff
changeset
|
1431 |
} |
4874b9ce2765
(svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents:
827
diff
changeset
|
1432 |
} |
4874b9ce2765
(svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents:
827
diff
changeset
|
1433 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1434 |
if (client_no < MAX_COMPANIES) { |
4880
aac84a9dcd03
(svn r6816) -Codechange: Some coding style, variable localization, const correctness.
Darkvater
parents:
4878
diff
changeset
|
1435 |
SEND_COMMAND(PACKET_SERVER_ERROR)(DEREF_CLIENT(client_no), NETWORK_ERROR_KICKED); |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1436 |
} |
841
4874b9ce2765
(svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents:
827
diff
changeset
|
1437 |
} |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1438 |
|
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1439 |
static void ClientList_GiveMoney(byte client_no) |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1440 |
{ |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1441 |
if (NetworkFindClientInfo(client_no) != NULL) { |
4878
4d4f76a898fd
(svn r6814) -Codechange: For network games ci->client_playas was always p->index + 1. To
Darkvater
parents:
4861
diff
changeset
|
1442 |
ShowNetworkGiveMoneyWindow(NetworkFindClientInfo(client_no)->client_playas); |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1443 |
} |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1444 |
} |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1445 |
|
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1446 |
static void ClientList_SpeakToClient(byte client_no) |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1447 |
{ |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1448 |
if (NetworkFindClientInfo(client_no) != NULL) { |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1449 |
ShowNetworkChatQueryWindow(DESTTYPE_CLIENT, NetworkFindClientInfo(client_no)->client_index); |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1450 |
} |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1451 |
} |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1452 |
|
4906
935e6280c093
(svn r6876) -Codechange: Change the naming of _PLAYER in DESTTYPE_PLAYER/NETWORK_ACTION_CHAT_PLAYER
Darkvater
parents:
4895
diff
changeset
|
1453 |
static void ClientList_SpeakToCompany(byte client_no) |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1454 |
{ |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1455 |
if (NetworkFindClientInfo(client_no) != NULL) { |
4906
935e6280c093
(svn r6876) -Codechange: Change the naming of _PLAYER in DESTTYPE_PLAYER/NETWORK_ACTION_CHAT_PLAYER
Darkvater
parents:
4895
diff
changeset
|
1456 |
ShowNetworkChatQueryWindow(DESTTYPE_TEAM, NetworkFindClientInfo(client_no)->client_playas); |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1457 |
} |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1458 |
} |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1459 |
|
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1460 |
static void ClientList_SpeakToAll(byte client_no) |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1461 |
{ |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1462 |
ShowNetworkChatQueryWindow(DESTTYPE_BROADCAST, 0); |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1463 |
} |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1464 |
|
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1465 |
static void ClientList_None(byte client_no) |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1466 |
{ |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1467 |
/* No action ;) */ |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1468 |
} |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1469 |
|
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1470 |
|
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1471 |
|
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1472 |
struct NetworkClientListPopupWindow : Window { |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1473 |
int sel_index; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1474 |
int client_no; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1475 |
char action[MAX_CLIENTLIST_ACTION][50]; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1476 |
ClientList_Action_Proc *proc[MAX_CLIENTLIST_ACTION]; |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1477 |
|
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1478 |
NetworkClientListPopupWindow(int x, int y, const Widget *widgets, int client_no) : |
9301
3b20dfb6c4e8
(svn r13169) -Codechange: remove a (now) unneeded parameter of one of the Window constructors.
rubidium
parents:
9285
diff
changeset
|
1479 |
Window(x, y, 150, 100, WC_TOOLBAR_MENU, widgets), |
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1480 |
sel_index(0), client_no(client_no) |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1481 |
{ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1482 |
/* |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1483 |
* Fill the actions this client has. |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1484 |
* Watch is, max 50 chars long! |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1485 |
*/ |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1486 |
|
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1487 |
const NetworkClientInfo *ci = NetworkFindClientInfo(client_no); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1488 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1489 |
int i = 0; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1490 |
if (_network_own_client_index != ci->client_index) { |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1491 |
GetString(this->action[i], STR_NETWORK_CLIENTLIST_SPEAK_TO_CLIENT, lastof(this->action[i])); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1492 |
this->proc[i++] = &ClientList_SpeakToClient; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1493 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1494 |
|
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1495 |
if (IsValidCompanyID(ci->client_playas) || ci->client_playas == COMPANY_SPECTATOR) { |
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1496 |
GetString(this->action[i], STR_NETWORK_CLIENTLIST_SPEAK_TO_COMPANY, lastof(this->action[i])); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1497 |
this->proc[i++] = &ClientList_SpeakToCompany; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1498 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1499 |
GetString(this->action[i], STR_NETWORK_CLIENTLIST_SPEAK_TO_ALL, lastof(this->action[i])); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1500 |
this->proc[i++] = &ClientList_SpeakToAll; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1501 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1502 |
if (_network_own_client_index != ci->client_index) { |
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1503 |
/* We are no spectator and the company we want to give money to is no spectator and money gifts are allowed */ |
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1504 |
if (IsValidCompanyID(_network_playas) && IsValidCompanyID(ci->client_playas) && _settings_game.economy.give_money) { |
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1505 |
GetString(this->action[i], STR_NETWORK_CLIENTLIST_GIVE_MONEY, lastof(this->action[i])); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1506 |
this->proc[i++] = &ClientList_GiveMoney; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1507 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1508 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1509 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1510 |
/* A server can kick clients (but not himself) */ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1511 |
if (_network_server && _network_own_client_index != ci->client_index) { |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1512 |
GetString(this->action[i], STR_NETWORK_CLIENTLIST_KICK, lastof(this->action[i])); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1513 |
this->proc[i++] = &ClientList_Kick; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1514 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1515 |
sprintf(this->action[i],"Ban"); // XXX GetString? |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1516 |
this->proc[i++] = &ClientList_Ban; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1517 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1518 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1519 |
if (i == 0) { |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1520 |
GetString(this->action[i], STR_NETWORK_CLIENTLIST_NONE, lastof(this->action[i])); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1521 |
this->proc[i++] = &ClientList_None; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1522 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1523 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1524 |
/* Calculate the height */ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1525 |
int h = ClientListPopupHeight(); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1526 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1527 |
/* Allocate the popup */ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1528 |
this->widget[0].bottom = this->widget[0].top + h; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1529 |
this->widget[0].right = this->widget[0].left + 150; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1530 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1531 |
this->flags4 &= ~WF_WHITE_BORDER_MASK; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1532 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1533 |
this->FindWindowPlacementAndResize(150, h + 1); |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1534 |
} |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1535 |
|
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1536 |
/** |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1537 |
* An action is clicked! What do we do? |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1538 |
*/ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1539 |
void HandleClientListPopupClick(byte index) |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1540 |
{ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1541 |
/* A click on the Popup of the ClientList.. handle the command */ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1542 |
if (index < MAX_CLIENTLIST_ACTION && this->proc[index] != NULL) { |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1543 |
this->proc[index](this->client_no); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1544 |
} |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1545 |
} |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1546 |
|
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1547 |
/** |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1548 |
* Finds the amount of actions in the popup and set the height correct |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1549 |
*/ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1550 |
uint ClientListPopupHeight() |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1551 |
{ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1552 |
int num = 0; |
867
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
853
diff
changeset
|
1553 |
|
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1554 |
// Find the amount of actions |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1555 |
for (int i = 0; i < MAX_CLIENTLIST_ACTION; i++) { |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1556 |
if (this->action[i][0] == '\0') continue; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1557 |
if (this->proc[i] == NULL) continue; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1558 |
num++; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1559 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1560 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1561 |
num *= CLNWND_ROWSIZE; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1562 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1563 |
return num + 1; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1564 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1565 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1566 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1567 |
virtual void OnPaint() |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1568 |
{ |
9273
35e0224ea8f1
(svn r13139) -Codechange: move DrawWindowWidgets and DrawWindowViewport to the Window class and remove Window from their naming.
rubidium
parents:
9269
diff
changeset
|
1569 |
this->DrawWidgets(); |
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1570 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1571 |
/* Draw the actions */ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1572 |
int sel = this->sel_index; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1573 |
int y = 1; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1574 |
for (int i = 0; i < MAX_CLIENTLIST_ACTION; i++, y += CLNWND_ROWSIZE) { |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1575 |
if (this->action[i][0] == '\0') continue; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1576 |
if (this->proc[i] == NULL) continue; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1577 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1578 |
TextColour colour; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1579 |
if (sel-- == 0) { // Selected item, highlight it |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1580 |
GfxFillRect(1, y, 150 - 2, y + CLNWND_ROWSIZE - 1, 0); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1581 |
colour = TC_WHITE; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1582 |
} else { |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1583 |
colour = TC_BLACK; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1584 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1585 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1586 |
DoDrawString(this->action[i], 4, y, colour); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1587 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1588 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1589 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1590 |
virtual void OnMouseLoop() |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1591 |
{ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1592 |
/* We selected an action */ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1593 |
int index = (_cursor.pos.y - this->top) / CLNWND_ROWSIZE; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1594 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1595 |
if (_left_button_down) { |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1596 |
if (index == -1 || index == this->sel_index) return; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1597 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1598 |
this->sel_index = index; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1599 |
this->SetDirty(); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1600 |
} else { |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1601 |
if (index >= 0 && _cursor.pos.y >= this->top) { |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1602 |
HandleClientListPopupClick(index); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1603 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1604 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1605 |
DeleteWindowById(WC_TOOLBAR_MENU, 0); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1606 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1607 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1608 |
}; |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1609 |
|
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1610 |
/** |
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1611 |
* Show the popup (action list) |
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1612 |
*/ |
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1613 |
static void PopupClientList(int client_no, int x, int y) |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1614 |
{ |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1615 |
DeleteWindowById(WC_TOOLBAR_MENU, 0); |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1616 |
|
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1617 |
if (NetworkFindClientInfo(client_no) == NULL) return; |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1618 |
|
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1619 |
new NetworkClientListPopupWindow(x, y, _client_list_popup_widgets, client_no); |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1620 |
} |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1621 |
|
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1622 |
/** |
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1623 |
* Main handle for clientlist |
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1624 |
*/ |
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1625 |
struct NetworkClientListWindow : Window |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1626 |
{ |
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1627 |
byte selected_item; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1628 |
byte selected_y; |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1629 |
|
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1630 |
NetworkClientListWindow(const WindowDesc *desc, WindowNumber window_number) : |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1631 |
Window(desc, window_number), |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1632 |
selected_item(0), |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1633 |
selected_y(255) |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1634 |
{ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1635 |
this->FindWindowPlacementAndResize(desc); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1636 |
} |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1637 |
|
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1638 |
/** |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1639 |
* Finds the amount of clients and set the height correct |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1640 |
*/ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1641 |
bool CheckClientListHeight() |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1642 |
{ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1643 |
int num = 0; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1644 |
const NetworkClientInfo *ci; |
8738
05aca6d9471b
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium
parents:
8737
diff
changeset
|
1645 |
|
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1646 |
/* Should be replaced with a loop through all clients */ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1647 |
FOR_ALL_ACTIVE_CLIENT_INFOS(ci) { |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1648 |
num++; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1649 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1650 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1651 |
num *= CLNWND_ROWSIZE; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1652 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1653 |
/* If height is changed */ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1654 |
if (this->height != CLNWND_OFFSET + num + 1) { |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1655 |
// XXX - magic unfortunately; (num + 2) has to be one bigger than heigh (num + 1) |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1656 |
this->SetDirty(); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1657 |
this->widget[3].bottom = this->widget[3].top + num + 2; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1658 |
this->height = CLNWND_OFFSET + num + 1; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1659 |
this->SetDirty(); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1660 |
return false; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1661 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1662 |
return true; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1663 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1664 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1665 |
virtual void OnPaint() |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1666 |
{ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1667 |
NetworkClientInfo *ci; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1668 |
int i = 0; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1669 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1670 |
/* Check if we need to reset the height */ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1671 |
if (!this->CheckClientListHeight()) return; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1672 |
|
9273
35e0224ea8f1
(svn r13139) -Codechange: move DrawWindowWidgets and DrawWindowViewport to the Window class and remove Window from their naming.
rubidium
parents:
9269
diff
changeset
|
1673 |
this->DrawWidgets(); |
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1674 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1675 |
int y = CLNWND_OFFSET; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1676 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1677 |
FOR_ALL_ACTIVE_CLIENT_INFOS(ci) { |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1678 |
TextColour colour; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1679 |
if (this->selected_item == i++) { // Selected item, highlight it |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1680 |
GfxFillRect(1, y, 248, y + CLNWND_ROWSIZE - 1, 0); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1681 |
colour = TC_WHITE; |
4077
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
4013
diff
changeset
|
1682 |
} else { |
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1683 |
colour = TC_BLACK; |
2639 | 1684 |
} |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1685 |
|
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1686 |
if (ci->client_index == NETWORK_SERVER_INDEX) { |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1687 |
DrawString(4, y, STR_NETWORK_SERVER, colour); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1688 |
} else { |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1689 |
DrawString(4, y, STR_NETWORK_CLIENT, colour); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1690 |
} |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1691 |
|
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1692 |
/* Filter out spectators */ |
10207
c291a21b304e
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium
parents:
10180
diff
changeset
|
1693 |
if (IsValidCompanyID(ci->client_playas)) DrawCompanyIcon(ci->client_playas, 64, y + 1); |
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1694 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1695 |
DoDrawString(ci->client_name, 81, y, colour); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1696 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1697 |
y += CLNWND_ROWSIZE; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1698 |
} |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1699 |
} |
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1700 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1701 |
virtual void OnClick(Point pt, int widget) |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1702 |
{ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1703 |
/* Show the popup with option */ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1704 |
if (this->selected_item != 255) { |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1705 |
PopupClientList(this->selected_item, pt.x + this->left, pt.y + this->top); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1706 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1707 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1708 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1709 |
virtual void OnMouseOver(Point pt, int widget) |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1710 |
{ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1711 |
/* -1 means we left the current window */ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1712 |
if (pt.y == -1) { |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1713 |
this->selected_y = 0; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1714 |
this->selected_item = 255; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1715 |
this->SetDirty(); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1716 |
return; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1717 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1718 |
/* It did not change.. no update! */ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1719 |
if (pt.y == this->selected_y) return; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1720 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1721 |
/* Find the new selected item (if any) */ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1722 |
this->selected_y = pt.y; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1723 |
if (pt.y > CLNWND_OFFSET) { |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1724 |
this->selected_item = (pt.y - CLNWND_OFFSET) / CLNWND_ROWSIZE; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1725 |
} else { |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1726 |
this->selected_item = 255; |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1727 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1728 |
|
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1729 |
/* Repaint */ |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1730 |
this->SetDirty(); |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1731 |
} |
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1732 |
}; |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1733 |
|
6247 | 1734 |
void ShowClientList() |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1735 |
{ |
9242
787ddde2b852
(svn r13108) -Codechange: make a Window subclass of the main toolbars sub menus.
rubidium
parents:
9241
diff
changeset
|
1736 |
AllocateWindowDescFront<NetworkClientListWindow>(&_client_list_desc, 0); |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1737 |
} |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1738 |
|
4512
823dfd4aa413
(svn r6297) -Codechange: Disentangle the query window mess a bit: Move the network game password handling somewhere were it belongs to
tron
parents:
4491
diff
changeset
|
1739 |
|
823dfd4aa413
(svn r6297) -Codechange: Disentangle the query window mess a bit: Move the network game password handling somewhere were it belongs to
tron
parents:
4491
diff
changeset
|
1740 |
static NetworkPasswordType pw_type; |
823dfd4aa413
(svn r6297) -Codechange: Disentangle the query window mess a bit: Move the network game password handling somewhere were it belongs to
tron
parents:
4491
diff
changeset
|
1741 |
|
823dfd4aa413
(svn r6297) -Codechange: Disentangle the query window mess a bit: Move the network game password handling somewhere were it belongs to
tron
parents:
4491
diff
changeset
|
1742 |
|
823dfd4aa413
(svn r6297) -Codechange: Disentangle the query window mess a bit: Move the network game password handling somewhere were it belongs to
tron
parents:
4491
diff
changeset
|
1743 |
void ShowNetworkNeedPassword(NetworkPasswordType npt) |
823dfd4aa413
(svn r6297) -Codechange: Disentangle the query window mess a bit: Move the network game password handling somewhere were it belongs to
tron
parents:
4491
diff
changeset
|
1744 |
{ |
823dfd4aa413
(svn r6297) -Codechange: Disentangle the query window mess a bit: Move the network game password handling somewhere were it belongs to
tron
parents:
4491
diff
changeset
|
1745 |
StringID caption; |
823dfd4aa413
(svn r6297) -Codechange: Disentangle the query window mess a bit: Move the network game password handling somewhere were it belongs to
tron
parents:
4491
diff
changeset
|
1746 |
|
823dfd4aa413
(svn r6297) -Codechange: Disentangle the query window mess a bit: Move the network game password handling somewhere were it belongs to
tron
parents:
4491
diff
changeset
|
1747 |
pw_type = npt; |
823dfd4aa413
(svn r6297) -Codechange: Disentangle the query window mess a bit: Move the network game password handling somewhere were it belongs to
tron
parents:
4491
diff
changeset
|
1748 |
switch (npt) { |
823dfd4aa413
(svn r6297) -Codechange: Disentangle the query window mess a bit: Move the network game password handling somewhere were it belongs to
tron
parents:
4491
diff
changeset
|
1749 |
default: NOT_REACHED(); |
4774
f93b1f0a9cf3
(svn r6688) -Fix (r6297): Wrong caption for server password query window (eg put 'break' after switch statements)
Darkvater
parents:
4719
diff
changeset
|
1750 |
case NETWORK_GAME_PASSWORD: caption = STR_NETWORK_NEED_GAME_PASSWORD_CAPTION; break; |
f93b1f0a9cf3
(svn r6688) -Fix (r6297): Wrong caption for server password query window (eg put 'break' after switch statements)
Darkvater
parents:
4719
diff
changeset
|
1751 |
case NETWORK_COMPANY_PASSWORD: caption = STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION; break; |
4512
823dfd4aa413
(svn r6297) -Codechange: Disentangle the query window mess a bit: Move the network game password handling somewhere were it belongs to
tron
parents:
4491
diff
changeset
|
1752 |
} |
10145
849ba8b8626b
(svn r14331) -Codechange: use an enum as additional parameter for ShowQueryString()
smatz
parents:
10061
diff
changeset
|
1753 |
ShowQueryString(STR_EMPTY, caption, 20, 180, FindWindowById(WC_NETWORK_STATUS_WINDOW, 0), CS_ALPHANUMERAL, QSF_NONE); |
4512
823dfd4aa413
(svn r6297) -Codechange: Disentangle the query window mess a bit: Move the network game password handling somewhere were it belongs to
tron
parents:
4491
diff
changeset
|
1754 |
} |
823dfd4aa413
(svn r6297) -Codechange: Disentangle the query window mess a bit: Move the network game password handling somewhere were it belongs to
tron
parents:
4491
diff
changeset
|
1755 |
|
9428
1ba05b499957
(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
parents:
9420
diff
changeset
|
1756 |
// Vars needed for the join-GUI |
1ba05b499957
(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
parents:
9420
diff
changeset
|
1757 |
NetworkJoinStatus _network_join_status; |
1ba05b499957
(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
parents:
9420
diff
changeset
|
1758 |
uint8 _network_join_waiting; |
1ba05b499957
(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
parents:
9420
diff
changeset
|
1759 |
uint16 _network_join_kbytes; |
1ba05b499957
(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
parents:
9420
diff
changeset
|
1760 |
uint16 _network_join_kbytes_total; |
1ba05b499957
(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
parents:
9420
diff
changeset
|
1761 |
|
9269
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1762 |
struct NetworkJoinStatusWindow : Window { |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1763 |
NetworkJoinStatusWindow(const WindowDesc *desc) : Window(desc) |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1764 |
{ |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1765 |
this->parent = FindWindowById(WC_NETWORK_WINDOW, 0); |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1766 |
} |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1767 |
|
9269
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1768 |
virtual void OnPaint() |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1769 |
{ |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1770 |
uint8 progress; // used for progress bar |
9273
35e0224ea8f1
(svn r13139) -Codechange: move DrawWindowWidgets and DrawWindowViewport to the Window class and remove Window from their naming.
rubidium
parents:
9269
diff
changeset
|
1771 |
this->DrawWidgets(); |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1772 |
|
9269
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1773 |
DrawStringCentered(125, 35, STR_NETWORK_CONNECTING_1 + _network_join_status, TC_GREY); |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1774 |
switch (_network_join_status) { |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1775 |
case NETWORK_JOIN_STATUS_CONNECTING: case NETWORK_JOIN_STATUS_AUTHORIZING: |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1776 |
case NETWORK_JOIN_STATUS_GETTING_COMPANY_INFO: |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1777 |
progress = 10; // first two stages 10% |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1778 |
break; |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1779 |
case NETWORK_JOIN_STATUS_WAITING: |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1780 |
SetDParam(0, _network_join_waiting); |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1781 |
DrawStringCentered(125, 46, STR_NETWORK_CONNECTING_WAITING, TC_GREY); |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1782 |
progress = 15; // third stage is 15% |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1783 |
break; |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1784 |
case NETWORK_JOIN_STATUS_DOWNLOADING: |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1785 |
SetDParam(0, _network_join_kbytes); |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1786 |
SetDParam(1, _network_join_kbytes_total); |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1787 |
DrawStringCentered(125, 46, STR_NETWORK_CONNECTING_DOWNLOADING, TC_GREY); |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1788 |
/* Fallthrough */ |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1789 |
default: /* Waiting is 15%, so the resting receivement of map is maximum 70% */ |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1790 |
progress = 15 + _network_join_kbytes * (100 - 15) / _network_join_kbytes_total; |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1791 |
} |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1792 |
|
9269
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1793 |
/* Draw nice progress bar :) */ |
9770
8c260fb382f8
(svn r13907) -Codechange: Replace a number with Colours enum on DrawFrameRect usage
belugas
parents:
9690
diff
changeset
|
1794 |
DrawFrameRect(20, 18, (int)((this->width - 20) * progress / 100), 28, COLOUR_MAUVE, FR_NONE); |
9269
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1795 |
} |
4512
823dfd4aa413
(svn r6297) -Codechange: Disentangle the query window mess a bit: Move the network game password handling somewhere were it belongs to
tron
parents:
4491
diff
changeset
|
1796 |
|
9269
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1797 |
virtual void OnClick(Point pt, int widget) |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1798 |
{ |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1799 |
if (widget == 2) { //Disconnect button |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1800 |
NetworkDisconnect(); |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1801 |
SwitchMode(SM_MENU); |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1802 |
ShowNetworkGameWindow(); |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1803 |
} |
0 | 1804 |
} |
9269
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1805 |
|
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1806 |
virtual void OnQueryTextFinished(char *str) |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1807 |
{ |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1808 |
if (StrEmpty(str)) { |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1809 |
NetworkDisconnect(); |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1810 |
ShowNetworkGameWindow(); |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1811 |
} else { |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1812 |
SEND_COMMAND(PACKET_CLIENT_PASSWORD)(pw_type, str); |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1813 |
} |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1814 |
} |
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1815 |
}; |
0 | 1816 |
|
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1817 |
static const Widget _network_join_status_window_widget[] = { |
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1818 |
{ WWT_CAPTION, RESIZE_NONE, COLOUR_GREY, 0, 249, 0, 13, STR_NETWORK_CONNECTING, STR_018C_WINDOW_TITLE_DRAG_THIS}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1819 |
{ WWT_PANEL, RESIZE_NONE, COLOUR_GREY, 0, 249, 14, 84, 0x0, STR_NULL}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1820 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_WHITE, 75, 175, 69, 80, STR_NETWORK_DISCONNECT, STR_NULL}, |
176
84990c4b9212
(svn r177) -Fix: padded out Widget code to solve warnings on C99 compiler (Tron)
darkvater
parents:
175
diff
changeset
|
1821 |
{ WIDGETS_END}, |
0 | 1822 |
}; |
1823 |
||
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1824 |
static const WindowDesc _network_join_status_window_desc = { |
7341
02515d0d4ced
(svn r10704) -Codechange: provide an infrastructure to have resizable windows that are smaller than the default window size.
rubidium
parents:
7321
diff
changeset
|
1825 |
WDP_CENTER, WDP_CENTER, 250, 85, 250, 85, |
5893
7e431a4abebb
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium
parents:
5669
diff
changeset
|
1826 |
WC_NETWORK_STATUS_WINDOW, WC_NONE, |
5432
5940d6a253c5
(svn r7638) -Codechange: Remove special window ShowJoinStatusWindowAfterJoin and shuffle around
Darkvater
parents:
5431
diff
changeset
|
1827 |
WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_MODAL, |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1828 |
_network_join_status_window_widget, |
0 | 1829 |
}; |
1830 |
||
6247 | 1831 |
void ShowJoinStatusWindow() |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1832 |
{ |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1833 |
DeleteWindowById(WC_NETWORK_STATUS_WINDOW, 0); |
9269
599675909c2f
(svn r13135) -Codechange: make a class of the NetworkJoinStatusWindow.
rubidium
parents:
9242
diff
changeset
|
1834 |
new NetworkJoinStatusWindow(&_network_join_status_window_desc); |
670
d164965bb35a
(svn r1108) -Fix: [Network] Fixed problem around slow clients:
truelight
parents:
659
diff
changeset
|
1835 |
} |
0 | 1836 |
|
649 | 1837 |
|
7998
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1838 |
/** Enum for NetworkGameWindow, referring to _network_game_window_widgets */ |
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1839 |
enum NetworkCompanyPasswordWindowWidgets { |
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1840 |
NCPWW_CLOSE, ///< Close 'X' button |
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1841 |
NCPWW_CAPTION, ///< Caption of the whole window |
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1842 |
NCPWW_BACKGROUND, ///< The background of the interface |
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1843 |
NCPWW_LABEL, ///< Label in front of the password field |
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1844 |
NCPWW_PASSWORD, ///< Input field for the password |
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1845 |
NCPWW_SAVE_AS_DEFAULT_PASSWORD, ///< Toggle 'button' for saving the current password as default password |
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1846 |
NCPWW_CANCEL, ///< Close the window without changing anything |
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1847 |
NCPWW_OK, ///< Safe the password etc. |
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1848 |
}; |
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1849 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1850 |
struct NetworkCompanyPasswordWindow : public QueryStringBaseWindow { |
9897
4d9a6ff6703e
(svn r14046) -Codechange: make the size of querystring "widgets" more configurable.
rubidium
parents:
9827
diff
changeset
|
1851 |
NetworkCompanyPasswordWindow(const WindowDesc *desc, Window *parent) : QueryStringBaseWindow(lengthof(_settings_client.network.default_company_pass), desc) |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1852 |
{ |
9241
93e9c7c074cc
(svn r13107) -Codechange: make NetworkCompanyPasswordWindow and SelectPlayerFaceWindow children of PlayerCompanyWindow.
glx
parents:
9182
diff
changeset
|
1853 |
this->parent = parent; |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1854 |
this->afilter = CS_ALPHANUMERAL; |
9897
4d9a6ff6703e
(svn r14046) -Codechange: make the size of querystring "widgets" more configurable.
rubidium
parents:
9827
diff
changeset
|
1855 |
InitializeTextBuffer(&this->text, this->edit_str_buf, this->edit_str_size, 0); |
7998
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1856 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1857 |
this->FindWindowPlacementAndResize(desc); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1858 |
} |
7998
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1859 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1860 |
void OnOk() |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1861 |
{ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1862 |
if (this->IsWidgetLowered(NCPWW_SAVE_AS_DEFAULT_PASSWORD)) { |
9420
8a38703928e8
(svn r13334) -Codechange: move the network settings variables from network/network_internal to settings.
rubidium
parents:
9416
diff
changeset
|
1863 |
snprintf(_settings_client.network.default_company_pass, lengthof(_settings_client.network.default_company_pass), "%s", this->edit_str_buf); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1864 |
} |
8087
25e5cc4a5344
(svn r11648) -Fix [FS#1560]: the company password was not set when one pressed the enter key.
rubidium
parents:
8082
diff
changeset
|
1865 |
|
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1866 |
/* empty password is a '*' because of console argument */ |
9897
4d9a6ff6703e
(svn r14046) -Codechange: make the size of querystring "widgets" more configurable.
rubidium
parents:
9827
diff
changeset
|
1867 |
if (StrEmpty(this->edit_str_buf)) snprintf(this->edit_str_buf, this->edit_str_size, "*"); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1868 |
char *password = this->edit_str_buf; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1869 |
NetworkChangeCompanyPassword(1, &password); |
7998
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1870 |
} |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1871 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1872 |
virtual void OnPaint() |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1873 |
{ |
9273
35e0224ea8f1
(svn r13139) -Codechange: move DrawWindowWidgets and DrawWindowViewport to the Window class and remove Window from their naming.
rubidium
parents:
9269
diff
changeset
|
1874 |
this->DrawWidgets(); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1875 |
this->DrawEditBox(4); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1876 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1877 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1878 |
virtual void OnClick(Point pt, int widget) |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1879 |
{ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1880 |
switch (widget) { |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1881 |
case NCPWW_OK: |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1882 |
this->OnOk(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1883 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1884 |
/* FALL THROUGH */ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1885 |
case NCPWW_CANCEL: |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1886 |
delete this; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1887 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1888 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1889 |
case NCPWW_SAVE_AS_DEFAULT_PASSWORD: |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1890 |
this->ToggleWidgetLoweredState(NCPWW_SAVE_AS_DEFAULT_PASSWORD); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1891 |
this->SetDirty(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1892 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1893 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1894 |
case NCPWW_PASSWORD: |
10292
6da6cf622f82
(svn r14531) -Fix (r12425): OSK accessed wrong widgets of password query window.
frosch
parents:
10279
diff
changeset
|
1895 |
ShowOnScreenKeyboard(this, NCPWW_PASSWORD, NCPWW_CANCEL, NCPWW_OK); |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1896 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1897 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1898 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1899 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1900 |
virtual void OnMouseLoop() |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1901 |
{ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1902 |
this->HandleEditBox(4); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1903 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1904 |
|
9285
235e5e2d7f55
(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
parents:
9274
diff
changeset
|
1905 |
virtual EventState OnKeyPress(uint16 key, uint16 keycode) |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1906 |
{ |
9285
235e5e2d7f55
(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
parents:
9274
diff
changeset
|
1907 |
EventState state; |
235e5e2d7f55
(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
parents:
9274
diff
changeset
|
1908 |
switch (this->HandleEditBoxKey(4, key, keycode, state)) { |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1909 |
case 1: // Return |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1910 |
this->OnOk(); |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1911 |
/* FALL THROUGH */ |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1912 |
|
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1913 |
case 2: // Escape |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1914 |
delete this; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1915 |
break; |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1916 |
} |
9285
235e5e2d7f55
(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
parents:
9274
diff
changeset
|
1917 |
return state; |
9179
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1918 |
} |
780666b686ed
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium
parents:
9178
diff
changeset
|
1919 |
}; |
7998
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1920 |
|
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1921 |
static const Widget _ncp_window_widgets[] = { |
9827
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1922 |
{ WWT_CLOSEBOX, RESIZE_NONE, COLOUR_GREY, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1923 |
{ WWT_CAPTION, RESIZE_NONE, COLOUR_GREY, 11, 299, 0, 13, STR_COMPANY_PASSWORD_CAPTION, STR_018C_WINDOW_TITLE_DRAG_THIS}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1924 |
{ WWT_PANEL, RESIZE_NONE, COLOUR_GREY, 0, 299, 14, 50, 0x0, STR_NULL}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1925 |
{ WWT_TEXT, RESIZE_NONE, COLOUR_GREY, 5, 100, 19, 30, STR_COMPANY_PASSWORD, STR_NULL}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1926 |
{ WWT_EDITBOX, RESIZE_NONE, COLOUR_GREY, 101, 294, 19, 30, STR_SET_COMPANY_PASSWORD, STR_NULL}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1927 |
{ WWT_TEXTBTN, RESIZE_NONE, COLOUR_GREY, 101, 294, 35, 46, STR_MAKE_DEFAULT_COMPANY_PASSWORD, STR_MAKE_DEFAULT_COMPANY_PASSWORD_TIP}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1928 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_GREY, 0, 149, 51, 62, STR_012E_CANCEL, STR_COMPANY_PASSWORD_CANCEL}, |
338aac16d11b
(svn r13970) -Codechange: Replace numbers with Colours enum on network, toolbar and dropdown guis.
belugas
parents:
9770
diff
changeset
|
1929 |
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_GREY, 150, 299, 51, 62, STR_012F_OK, STR_COMPANY_PASSWORD_OK}, |
7998
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1930 |
{ WIDGETS_END}, |
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1931 |
}; |
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1932 |
|
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1933 |
static const WindowDesc _ncp_window_desc = { |
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1934 |
WDP_AUTO, WDP_AUTO, 300, 63, 300, 63, |
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1935 |
WC_COMPANY_PASSWORD_WINDOW, WC_NONE, |
8019
fc0e94dee165
(svn r11579) -Revert(r11578): some cases of key propagation are not handled correctly.
belugas
parents:
8018
diff
changeset
|
1936 |
WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON, |
7998
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1937 |
_ncp_window_widgets, |
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1938 |
}; |
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1939 |
|
9241
93e9c7c074cc
(svn r13107) -Codechange: make NetworkCompanyPasswordWindow and SelectPlayerFaceWindow children of PlayerCompanyWindow.
glx
parents:
9182
diff
changeset
|
1940 |
void ShowNetworkCompanyPasswordWindow(Window *parent) |
7998
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1941 |
{ |
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1942 |
DeleteWindowById(WC_COMPANY_PASSWORD_WINDOW, 0); |
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1943 |
|
9241
93e9c7c074cc
(svn r13107) -Codechange: make NetworkCompanyPasswordWindow and SelectPlayerFaceWindow children of PlayerCompanyWindow.
glx
parents:
9182
diff
changeset
|
1944 |
new NetworkCompanyPasswordWindow(&_ncp_window_desc, parent); |
7998
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1945 |
} |
9cf9f9153262
(svn r11556) -Feature: allow setting a default password for new companies in network games.
rubidium
parents:
7997
diff
changeset
|
1946 |
|
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
534
diff
changeset
|
1947 |
#endif /* ENABLE_NETWORK */ |