author | bjarni |
Mon, 29 Nov 2004 20:03:04 +0000 | |
changeset 525 | 21347b4784d8 |
parent 507 | 04b5403aaf6b |
child 534 | 306bc86eb23e |
permissions | -rw-r--r-- |
0 | 1 |
#include "stdafx.h" |
2 |
#include "ttd.h" |
|
507
04b5403aaf6b
(svn r815) Include strings.h only in the files which need it.
tron
parents:
228
diff
changeset
|
3 |
#include "table/strings.h" |
0 | 4 |
#include "window.h" |
5 |
#include "gui.h" |
|
6 |
#include "gfx.h" |
|
7 |
#include "command.h" |
|
211 | 8 |
#include "network.h" |
0 | 9 |
|
10 |
#define BGC 5 |
|
11 |
#define BTC 15 |
|
12 |
#define MAX_QUERYSTR_LEN 64 |
|
13 |
static byte _edit_str_buf[MAX_QUERYSTR_LEN*2]; |
|
14 |
static void ShowNetworkStartServerWindow(); |
|
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
15 |
#if 0 |
0 | 16 |
static void ShowNetworkLobbyWindow(); |
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
17 |
#endif |
0 | 18 |
|
19 |
static byte _selected_field; |
|
20 |
||
21 |
static const StringID _connection_types_dropdown[] = { |
|
22 |
STR_NETWORK_LAN, |
|
23 |
STR_NETWORK_INTERNET, |
|
24 |
INVALID_STRING_ID |
|
25 |
}; |
|
26 |
||
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
27 |
/* Should be _network_game->players_max but since network is not yet really done |
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
28 |
* we'll just use some dummy here |
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
29 |
* network.c -->> static NetworkGameInfo _network_game; |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
30 |
*/ |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
31 |
static byte _players_max; |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
32 |
/* Should be ??????????? (something) but since network is not yet really done |
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
33 |
* we'll just use some dummy here |
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
34 |
*/ |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
35 |
static byte _network_connection; |
206 | 36 |
static uint16 _network_game_count_last; |
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
37 |
|
211 | 38 |
enum { |
39 |
NET_PRC__OFFSET_TOP_WIDGET = 93, |
|
40 |
NET_PRC__SIZE_OF_ROW = 14, |
|
41 |
}; |
|
42 |
||
43 |
static NetworkGameList *selected_item = NULL; |
|
44 |
||
0 | 45 |
static void NetworkGameWindowWndProc(Window *w, WindowEvent *e) |
46 |
{ |
|
47 |
switch(e->event) { |
|
48 |
case WE_PAINT: { |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
49 |
|
0 | 50 |
SET_DPARAM16(0, 0x00); |
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
51 |
SET_DPARAM16(2, STR_NETWORK_LAN + _network_connection); |
0 | 52 |
DrawWindowWidgets(w); |
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
53 |
|
0 | 54 |
DrawEditBox(w, 6); |
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
55 |
|
0 | 56 |
DrawString(9, 43, STR_NETWORK_PLAYER_NAME, 2); |
57 |
DrawString(9, 63, STR_NETWORK_SELECT_CONNECTION, 2); |
|
58 |
||
59 |
DrawString(15, 82, STR_NETWORK_GAME_NAME, 2); |
|
60 |
DrawString(238, 82, STR_NETWORK_PLAYERS, 2); |
|
61 |
DrawString(288, 82, STR_NETWORK_MAP_SIZE, 2); |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
62 |
|
211 | 63 |
{ // draw list of games |
64 |
uint16 y = NET_PRC__OFFSET_TOP_WIDGET + 3; |
|
65 |
int32 n = 0; |
|
66 |
NetworkGameList *cur_item = _network_game_list; |
|
67 |
while (cur_item != NULL) { |
|
68 |
if (cur_item == selected_item) |
|
69 |
GfxFillRect(11, y - 2, 380, y + 9, 10); // show highlighted item with a different colour |
|
70 |
||
71 |
DoDrawString(cur_item->item.server_name, 15, y, 16); // server name |
|
72 |
||
73 |
SET_DPARAM8(0, cur_item->item.players_on); |
|
74 |
SET_DPARAM8(1, cur_item->item.players_max); |
|
75 |
DrawString(238, y, STR_NETWORK_PLAYERS_VAL, 2); // #/# |
|
76 |
||
77 |
DoDrawString(cur_item->item.map_name, 288, y, 16); // map size |
|
78 |
cur_item = cur_item->_next; |
|
79 |
y += NET_PRC__SIZE_OF_ROW; |
|
80 |
if (++n == w->vscroll.cap) { break;} // max number of games in the window |
|
81 |
} |
|
82 |
} |
|
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
83 |
} break; |
0 | 84 |
|
85 |
case WE_CLICK: |
|
86 |
_selected_field = e->click.widget; |
|
87 |
switch(e->click.widget) { |
|
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
88 |
case 0: case 15: /* Close 'X' | Cancel button */ |
0 | 89 |
DeleteWindowById(WC_NETWORK_WINDOW, 0); |
105 | 90 |
NetworkLobbyShutdown(); |
0 | 91 |
break; |
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
92 |
case 3: { /* Find server automaticaly */ |
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
93 |
NetworkCoreConnectGame("auto", _network_server_port); |
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
94 |
} break; |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
95 |
case 4: { /* Connect via direct ip */ |
0 | 96 |
StringID str; |
97 |
str = AllocateName((byte*)_decode_parameters, 0); |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
98 |
|
0 | 99 |
ShowQueryString( |
100 |
str, |
|
101 |
STR_NETWORK_ENTER_IP, |
|
213
770e504a6e51
(svn r214) -Feature: CMD_NET_INSTANT [just in time command handling over network] (sign_de)
darkvater
parents:
211
diff
changeset
|
102 |
50, // maximum 50 characters OR |
770e504a6e51
(svn r214) -Feature: CMD_NET_INSTANT [just in time command handling over network] (sign_de)
darkvater
parents:
211
diff
changeset
|
103 |
250, // characters up to width 250 pixels, whichever is satisfied first |
0 | 104 |
w->window_class, |
105 |
w->window_number); |
|
106 |
DeleteName(str); |
|
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
107 |
} break; |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
108 |
case 5: /* Start server */ |
0 | 109 |
ShowNetworkStartServerWindow(); |
110 |
break; |
|
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
111 |
case 7: case 8: /* Connection type */ |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
112 |
ShowDropDownMenu(w, _connection_types_dropdown, _network_connection, 8, 0); // do it for widget 8 |
0 | 113 |
return; |
211 | 114 |
case 14: { /* Matrix to show networkgames */ |
115 |
uint32 id_v = (e->click.pt.y - NET_PRC__OFFSET_TOP_WIDGET) / NET_PRC__SIZE_OF_ROW; |
|
116 |
||
117 |
if (id_v >= w->vscroll.cap) { return;} // click out of bounds |
|
118 |
||
119 |
id_v += w->vscroll.pos; |
|
120 |
||
121 |
{ |
|
122 |
NetworkGameList *cur_item = _network_game_list; |
|
216
1be476b97e32
(svn r217) -Fix: remove warning and simplify loop network_gui.c (Tron)
darkvater
parents:
214
diff
changeset
|
123 |
for (; id_v > 0 && cur_item != NULL; id_v--) |
211 | 124 |
cur_item = cur_item->_next; |
125 |
||
126 |
if (cur_item == NULL) { return;} // click out of vehicle bounds |
|
127 |
||
128 |
selected_item = cur_item; |
|
129 |
} |
|
130 |
} break; |
|
131 |
case 16: /* Join Game */ |
|
132 |
if (selected_item != NULL) |
|
133 |
NetworkCoreConnectGameStruct(selected_item); |
|
134 |
break; |
|
0 | 135 |
} |
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
136 |
break; |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
137 |
|
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
138 |
case WE_DROPDOWN_SELECT: /* we have selected a dropdown item in the list */ |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
139 |
_network_connection = e->dropdown.index; |
206 | 140 |
switch (_network_connection) { |
211 | 141 |
case 0: /* LAN */ |
206 | 142 |
NetworkGameListFromLAN(); |
143 |
break; |
|
211 | 144 |
case 1: /* Internet */ |
206 | 145 |
NetworkGameListFromInternet(); |
146 |
break; |
|
147 |
} |
|
222
b88456001397
(svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents:
216
diff
changeset
|
148 |
|
211 | 149 |
_network_game_count_last = _network_game_count; |
150 |
SetWindowDirty(w); |
|
151 |
||
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
152 |
break; |
0 | 153 |
|
154 |
case WE_MOUSELOOP: |
|
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
155 |
if (_selected_field == 6) |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
156 |
HandleEditBox(w, 6); |
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
157 |
|
0 | 158 |
break; |
159 |
||
160 |
case WE_KEYPRESS: |
|
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
161 |
if (_selected_field != 6) |
0 | 162 |
break; |
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
163 |
|
0 | 164 |
switch (HandleEditBoxKey(w, 6, e)) { |
165 |
case 1: |
|
166 |
HandleButtonClick(w, 9); |
|
167 |
break; |
|
168 |
} |
|
169 |
break; |
|
170 |
||
171 |
case WE_ON_EDIT_TEXT: { |
|
214
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
172 |
byte *b = e->edittext.str; |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
173 |
if (*b != 0) { |
228
f65dec6727d9
(svn r229) -Fix: Some more const stuff fixed .(Tron)
darkvater
parents:
222
diff
changeset
|
174 |
const byte *port = NULL; |
f65dec6727d9
(svn r229) -Fix: Some more const stuff fixed .(Tron)
darkvater
parents:
222
diff
changeset
|
175 |
const byte *player = NULL; |
214
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
176 |
uint16 rport; |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
177 |
|
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
178 |
rport = _network_server_port; |
222
b88456001397
(svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents:
216
diff
changeset
|
179 |
|
228
f65dec6727d9
(svn r229) -Fix: Some more const stuff fixed .(Tron)
darkvater
parents:
222
diff
changeset
|
180 |
ParseConnectionString(&player, &port, b); |
214
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
181 |
|
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
182 |
if (player!=NULL) _network_playas = atoi(player); |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
183 |
if (port!=NULL) rport = atoi(port); |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
184 |
|
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
185 |
NetworkCoreConnectGame(b, rport); |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
186 |
} |
211 | 187 |
} break; |
188 |
||
189 |
case WE_TICK: { |
|
190 |
if (_network_game_count_last != _network_game_count) |
|
191 |
SetWindowDirty(w); |
|
0 | 192 |
} break; |
193 |
||
194 |
} |
|
195 |
} |
|
196 |
||
197 |
static const Widget _network_game_window_widgets[] = { |
|
211 | 198 |
{ WWT_CLOSEBOX, BGC, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, |
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
199 |
{ WWT_CAPTION, BGC, 10, 399, 0, 13, STR_NETWORK_MULTIPLAYER, STR_NULL}, |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
200 |
{ WWT_IMGBTN, BGC, 0, 399, 14, 199, 0x0, STR_NULL}, |
0 | 201 |
|
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
202 |
{ WWT_PUSHTXTBTN, BTC, 20, 130, 22, 33, STR_NETWORK_FIND_SERVER, STR_NETWORK_FIND_SERVER_TIP}, |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
203 |
{ WWT_PUSHTXTBTN, BTC, 145, 255, 22, 33, STR_NETWORK_DIRECT_CONNECT, STR_NETWORK_DIRECT_CONNECT_TIP}, |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
204 |
{ WWT_PUSHTXTBTN, BTC, 270, 380, 22, 33, STR_NETWORK_START_SERVER, STR_NETWORK_START_SERVER_TIP}, |
0 | 205 |
|
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
206 |
{ WWT_IMGBTN, BGC, 250, 394, 42, 53, 0x0, STR_NETWORK_ENTER_NAME_TIP}, |
0 | 207 |
|
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
208 |
{ WWT_6, BGC, 250, 393, 62, 73, STR_NETWORK_COMBO1, STR_NETWORK_CONNECTION_TYPE_TIP}, |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
209 |
{ WWT_CLOSEBOX, BGC, 382, 392, 63, 72, STR_0225, STR_NETWORK_CONNECTION_TYPE_TIP}, |
0 | 210 |
|
211 | 211 |
{ WWT_SCROLLBAR, BGC, 382, 392, 81, 176, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST}, |
0 | 212 |
|
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
213 |
{ WWT_IMGBTN, BTC, 10, 231, 81, 92, 0x0, STR_NETWORK_GAME_NAME_TIP }, |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
214 |
{ WWT_IMGBTN, BTC, 232, 281, 81, 92, 0x0, STR_NETWORK_PLAYERS_TIP }, |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
215 |
{ WWT_IMGBTN, BTC, 282, 331, 81, 92, 0x0, STR_NETWORK_MAP_SIZE_TIP }, |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
216 |
{ WWT_IMGBTN, BTC, 332, 381, 81, 92, 0x0, STR_NETWORK_INFO_ICONS_TIP }, |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
217 |
|
211 | 218 |
{ WWT_MATRIX, BGC, 10, 381, 93, 176, 0x601, STR_NETWORK_CLICK_GAME_TO_SELECT}, |
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
219 |
|
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
220 |
{ WWT_PUSHTXTBTN, BTC, 145, 255, 180, 191, STR_012E_CANCEL, STR_NULL}, |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
221 |
{ WWT_PUSHTXTBTN, BTC, 270, 392, 180, 191, STR_NETWORK_JOIN_GAME, STR_NULL}, |
176
84990c4b9212
(svn r177) -Fix: padded out Widget code to solve warnings on C99 compiler (Tron)
darkvater
parents:
175
diff
changeset
|
222 |
{ WIDGETS_END}, |
0 | 223 |
}; |
224 |
||
225 |
static const WindowDesc _network_game_window_desc = { |
|
226 |
WDP_CENTER, WDP_CENTER, 400, 200, |
|
227 |
WC_NETWORK_WINDOW,0, |
|
228 |
WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, |
|
229 |
_network_game_window_widgets, |
|
230 |
NetworkGameWindowWndProc, |
|
231 |
}; |
|
232 |
||
233 |
||
234 |
void ShowNetworkGameWindow() |
|
235 |
{ |
|
236 |
Window *w; |
|
237 |
DeleteWindowById(WC_NETWORK_WINDOW, 0); |
|
105 | 238 |
|
239 |
NetworkLobbyInit(); |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
240 |
|
0 | 241 |
w = AllocateWindowDesc(&_network_game_window_desc); |
242 |
strcpy(_edit_str_buf, "Your name"); |
|
211 | 243 |
w->vscroll.cap = 6; |
244 |
w->disabled_state = (1<<6) | (1<<7) | (1<<8); // disable buttons not yet working |
|
245 |
NetworkGameListFromLAN(); // default dropdown item is LAN, so fill that array |
|
0 | 246 |
|
206 | 247 |
_network_game_count_last = _network_game_count; |
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
248 |
|
0 | 249 |
WP(w,querystr_d).caret = 1; |
250 |
WP(w,querystr_d).maxlen = MAX_QUERYSTR_LEN; |
|
251 |
WP(w,querystr_d).maxwidth = 240; |
|
252 |
WP(w,querystr_d).buf = _edit_str_buf; |
|
253 |
} |
|
254 |
||
255 |
static const StringID _players_dropdown[] = { |
|
256 |
STR_NETWORK_2_PLAYERS, |
|
257 |
STR_NETWORK_3_PLAYERS, |
|
258 |
STR_NETWORK_4_PLAYERS, |
|
259 |
STR_NETWORK_5_PLAYERS, |
|
260 |
STR_NETWORK_6_PLAYERS, |
|
261 |
STR_NETWORK_7_PLAYERS, |
|
262 |
STR_NETWORK_8_PLAYERS, |
|
263 |
INVALID_STRING_ID |
|
264 |
}; |
|
265 |
||
266 |
static void NetworkStartServerWindowWndProc(Window *w, WindowEvent *e) |
|
267 |
{ |
|
268 |
switch(e->event) { |
|
269 |
case WE_PAINT: { |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
270 |
|
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
271 |
SET_DPARAM16(7, STR_NETWORK_2_PLAYERS + _players_max); |
0 | 272 |
DrawWindowWidgets(w); |
273 |
||
274 |
GfxFillRect(11, 63, 237, 168, 0xD7); |
|
275 |
||
276 |
DrawEditBox(w, 3); |
|
277 |
DrawEditBox(w, 4); |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
278 |
|
0 | 279 |
DrawString(10, 22, STR_NETWORK_NEW_GAME_NAME, 2); |
280 |
DrawString(210, 22, STR_NETWORK_PASSWORD, 2); |
|
281 |
||
282 |
DrawString(10, 43, STR_NETWORK_SELECT_MAP, 2); |
|
283 |
DrawString(260, 63, STR_NETWORK_NUMBER_OF_PLAYERS, 2); |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
284 |
|
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
285 |
} break; |
0 | 286 |
|
287 |
case WE_CLICK: |
|
288 |
_selected_field = e->click.widget; |
|
289 |
switch(e->click.widget) { |
|
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
290 |
case 0: case 12: /* Close 'X' | Cancel button */ |
0 | 291 |
ShowNetworkGameWindow(); |
292 |
break; |
|
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
293 |
case 7: case 8: /* Number of Players */ |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
294 |
ShowDropDownMenu(w, _players_dropdown, _players_max, 8, 0); // do it for widget 8 |
0 | 295 |
return; |
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
296 |
case 9: /* Start game */ |
105 | 297 |
NetworkCoreStartGame(); |
211 | 298 |
strcpy(_network_game.server_name, WP(w,querystr_d).buf); |
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
299 |
//ShowNetworkLobbyWindow(); |
105 | 300 |
DoCommandP(0, 0, 0, NULL, CMD_START_NEW_GAME); |
0 | 301 |
break; |
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
302 |
case 10: /* Load game */ |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
303 |
NetworkCoreStartGame(); |
211 | 304 |
strcpy(_network_game.server_name, WP(w,querystr_d).buf); |
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
305 |
//ShowNetworkLobbyWindow(); |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
306 |
ShowSaveLoadDialog(SLD_LOAD_GAME); |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
307 |
break; |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
308 |
case 11: /* Load scenario */ |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
309 |
NetworkCoreStartGame(); |
211 | 310 |
strcpy(_network_game.server_name, WP(w,querystr_d).buf); |
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
311 |
//ShowNetworkLobbyWindow(); |
211 | 312 |
ShowSaveLoadDialog(SLD_LOAD_SCENARIO); |
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
313 |
break; |
0 | 314 |
} |
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
315 |
break; |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
316 |
|
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
317 |
case WE_DROPDOWN_SELECT: /* we have selected a dropdown item in the list */ |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
318 |
_players_max = e->dropdown.index; |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
319 |
|
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
320 |
SetWindowDirty(w); |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
321 |
break; |
0 | 322 |
|
323 |
case WE_MOUSELOOP: |
|
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
324 |
if(_selected_field == 3 || _selected_field == 4) |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
325 |
HandleEditBox(w, _selected_field); |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
326 |
|
0 | 327 |
break; |
328 |
||
329 |
case WE_KEYPRESS: |
|
330 |
if(_selected_field != 3 && _selected_field != 4) |
|
331 |
break; |
|
332 |
switch (HandleEditBoxKey(w, _selected_field, e)) { |
|
333 |
case 1: |
|
334 |
HandleButtonClick(w, 9); |
|
335 |
break; |
|
336 |
} |
|
337 |
break; |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
338 |
|
0 | 339 |
} |
340 |
} |
|
341 |
||
342 |
static const Widget _network_start_server_window_widgets[] = { |
|
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
343 |
{ WWT_CLOSEBOX, BGC, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW }, |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
344 |
{ WWT_CAPTION, BGC, 10, 399, 0, 13, STR_NETWORK_START_GAME_WINDOW, STR_NULL}, |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
345 |
{ WWT_IMGBTN, BGC, 0, 399, 14, 199, 0x0, STR_NULL}, |
0 | 346 |
|
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
347 |
{ WWT_IMGBTN, BGC, 80, 190, 22, 33, 0x0, STR_NETWORK_NEW_GAME_NAME_TIP}, |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
348 |
{ WWT_IMGBTN, BGC, 280, 390, 22, 33, 0x0, STR_NETWORK_PASSWORD_TIP}, |
0 | 349 |
|
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
350 |
{ WWT_IMGBTN, BGC, 10, 240, 62, 170, 0x0, STR_NETWORK_SELECT_MAP_TIP}, |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
351 |
{ WWT_SCROLLBAR, BGC, 241, 251, 62, 170, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST}, |
0 | 352 |
|
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
353 |
{ WWT_6, BGC, 260, 390, 81, 92, STR_NETWORK_COMBO2, STR_NETWORK_NUMBER_OF_PLAYERS_TIP}, |
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
354 |
{ WWT_CLOSEBOX, BGC, 379, 389, 82, 91, STR_0225, STR_NETWORK_NUMBER_OF_PLAYERS_TIP}, |
0 | 355 |
|
211 | 356 |
{ WWT_PUSHTXTBTN, BTC, 10, 100, 180, 191, STR_NETWORK_START_GAME, STR_NETWORK_START_GAME_TIP}, |
357 |
{ WWT_PUSHTXTBTN, BTC, 110, 200, 180, 191, STR_NETWORK_LOAD_GAME, STR_NETWORK_LOAD_GAME_TIP}, |
|
358 |
{ WWT_PUSHTXTBTN, BTC, 210, 300, 180, 191, STR_NETWORK_LOAD_SCENARIO, STR_NETWORK_LOAD_SCENARIO_TIP}, |
|
172
8d8b3383470d
(svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
darkvater
parents:
105
diff
changeset
|
359 |
{ WWT_PUSHTXTBTN, BTC, 310, 390, 180, 191, STR_012E_CANCEL, STR_NULL}, |
176
84990c4b9212
(svn r177) -Fix: padded out Widget code to solve warnings on C99 compiler (Tron)
darkvater
parents:
175
diff
changeset
|
360 |
{ WIDGETS_END}, |
0 | 361 |
}; |
362 |
||
363 |
static const WindowDesc _network_start_server_window_desc = { |
|
364 |
WDP_CENTER, WDP_CENTER, 400, 200, |
|
365 |
WC_NETWORK_WINDOW,0, |
|
366 |
WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, |
|
367 |
_network_start_server_window_widgets, |
|
368 |
NetworkStartServerWindowWndProc, |
|
369 |
}; |
|
370 |
||
371 |
static void ShowNetworkStartServerWindow() |
|
372 |
{ |
|
373 |
Window *w; |
|
374 |
DeleteWindowById(WC_NETWORK_WINDOW, 0); |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
375 |
|
0 | 376 |
w = AllocateWindowDesc(&_network_start_server_window_desc); |
377 |
strcpy(_edit_str_buf, ""); |
|
211 | 378 |
w->disabled_state = (1<<4) | (1<<5) | (1<<6) | (1<<7) | (1<<8); // disable buttons not yet working |
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
379 |
|
0 | 380 |
WP(w,querystr_d).caret = 1; |
381 |
WP(w,querystr_d).maxlen = MAX_QUERYSTR_LEN; |
|
382 |
WP(w,querystr_d).maxwidth = 240; |
|
383 |
WP(w,querystr_d).buf = _edit_str_buf; |
|
384 |
} |
|
385 |
||
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
386 |
#if 0 |
0 | 387 |
static void NetworkLobbyWindowWndProc(Window *w, WindowEvent *e) |
388 |
{ |
|
389 |
switch(e->event) { |
|
390 |
case WE_PAINT: { |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
391 |
|
0 | 392 |
SET_DPARAM16(7, STR_NETWORK_2_PLAYERS + _opt_mod_ptr->road_side); |
393 |
DrawWindowWidgets(w); |
|
394 |
||
395 |
GfxFillRect( 11, 31, 239, 239, 0xD7); |
|
396 |
GfxFillRect(261, 31, 378, 220, 0xD7); |
|
397 |
||
398 |
DrawEditBox(w, 5); |
|
399 |
DrawEditBox(w, 7); |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
400 |
|
0 | 401 |
DrawString(10, 255, STR_NETWORK_COMPANY_NAME, 2); |
402 |
||
403 |
break; |
|
404 |
} |
|
405 |
||
406 |
case WE_CLICK: |
|
407 |
_selected_field = e->click.widget; |
|
408 |
switch(e->click.widget) { |
|
409 |
||
410 |
case 0: // close X |
|
411 |
case 13: // cancel button |
|
412 |
ShowNetworkGameWindow(); |
|
413 |
break; |
|
414 |
||
415 |
} |
|
416 |
||
417 |
case WE_MOUSELOOP: |
|
418 |
if(_selected_field == 5) |
|
419 |
{ |
|
420 |
HandleEditBox(w, 5); |
|
421 |
break; |
|
422 |
} |
|
423 |
if(_selected_field == 7) |
|
424 |
{ |
|
425 |
HandleEditBox(w, 7); |
|
426 |
break; |
|
427 |
} |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
428 |
|
0 | 429 |
break; |
430 |
||
431 |
case WE_KEYPRESS: |
|
432 |
if(_selected_field != 5 && _selected_field != 7) |
|
433 |
break; |
|
434 |
switch (HandleEditBoxKey(w, _selected_field, e)) { |
|
435 |
case 1: |
|
436 |
HandleButtonClick(w, 12); |
|
437 |
break; |
|
438 |
} |
|
439 |
break; |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
440 |
|
0 | 441 |
} |
442 |
} |
|
443 |
||
444 |
static const Widget _network_lobby_window_widgets[] = { |
|
211 | 445 |
{ WWT_CLOSEBOX, BGC, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW }, |
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
446 |
{ WWT_CAPTION, BGC, 10, 399, 0, 13, STR_NETWORK_GAME_LOBBY, STR_NULL}, |
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
447 |
{ WWT_IMGBTN, BGC, 0, 399, 14, 299, 0x0, STR_NULL}, |
0 | 448 |
|
449 |
// chat widget |
|
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
450 |
{ WWT_IMGBTN, BGC, 10, 240, 30, 240, 0x0, STR_NULL}, |
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
451 |
{ WWT_SCROLLBAR, BGC, 241, 251, 30, 240, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST}, |
0 | 452 |
|
453 |
// send message prompt |
|
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
454 |
{ WWT_IMGBTN, BGC, 10, 200, 241, 252, 0x0, STR_NETWORK_ENTER_NAME_TIP}, |
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
455 |
{ WWT_PUSHTXTBTN, BTC, 201, 251, 241, 252, STR_NETWORK_SEND, STR_NETWORK_SEND_TIP}, |
0 | 456 |
|
457 |
// company name |
|
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
458 |
{ WWT_IMGBTN, BGC, 100, 251, 254, 265, 0x0, STR_NETWORK_COMPANY_NAME_TIP}, |
0 | 459 |
|
460 |
// player information |
|
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
461 |
{ WWT_IMGBTN, BGC, 260, 379, 30, 221, 0x0, STR_NULL}, |
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
462 |
{ WWT_SCROLLBAR, BGC, 380, 390, 30, 221, 0x1, STR_0190_SCROLL_BAR_SCROLLS_LIST}, |
0 | 463 |
|
464 |
// buttons |
|
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
465 |
{ WWT_PUSHTXTBTN, BTC, 260, 390, 233, 244, STR_NETWORK_NEW_COMPANY, STR_NETWORK_NEW_COMPANY_TIP}, |
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
466 |
{ WWT_PUSHTXTBTN, BTC, 260, 390, 254, 265, STR_NETWORK_SPECTATE_GAME, STR_NETWORK_SPECTATE_GAME_TIP}, |
0 | 467 |
|
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
468 |
{ WWT_PUSHTXTBTN, BTC, 80, 180, 280, 291, STR_NETWORK_READY, STR_NULL}, |
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
469 |
{ WWT_PUSHTXTBTN, BTC, 220, 320, 280, 291, STR_012E_CANCEL, STR_NULL}, |
176
84990c4b9212
(svn r177) -Fix: padded out Widget code to solve warnings on C99 compiler (Tron)
darkvater
parents:
175
diff
changeset
|
470 |
{ WIDGETS_END}, |
0 | 471 |
}; |
472 |
||
473 |
static const WindowDesc _network_lobby_window_desc = { |
|
474 |
WDP_CENTER, WDP_CENTER, 400, 300, |
|
475 |
WC_NETWORK_WINDOW,0, |
|
476 |
WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, |
|
477 |
_network_lobby_window_widgets, |
|
478 |
NetworkLobbyWindowWndProc, |
|
479 |
}; |
|
480 |
||
481 |
||
482 |
static void ShowNetworkLobbyWindow() |
|
483 |
{ |
|
484 |
Window *w; |
|
485 |
DeleteWindowById(WC_NETWORK_WINDOW, 0); |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
486 |
|
0 | 487 |
w = AllocateWindowDesc(&_network_lobby_window_desc); |
488 |
strcpy(_edit_str_buf, ""); |
|
489 |
||
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
490 |
|
0 | 491 |
WP(w,querystr_d).caret = 1; |
492 |
WP(w,querystr_d).maxlen = MAX_QUERYSTR_LEN; |
|
493 |
WP(w,querystr_d).maxwidth = 240; |
|
494 |
WP(w,querystr_d).buf = _edit_str_buf; |
|
495 |
} |
|
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
496 |
#endif |