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