author | darkvater |
Sun, 12 Sep 2004 21:49:38 +0000 | |
changeset 222 | b88456001397 |
parent 216 | 1be476b97e32 |
child 228 | f65dec6727d9 |
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) { |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
173 |
byte * ip = NULL; |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
174 |
byte * port = NULL; |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
175 |
byte * player = NULL; |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
176 |
byte c; |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
177 |
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
|
178 |
|
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
179 |
rport = _network_server_port; |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
180 |
c = 0; |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
181 |
ip = b; |
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
|
182 |
|
214
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
183 |
while (b[c] != 0) { |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
184 |
if (((char)b[c]) == '#') { |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
185 |
player = &b[c+1]; |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
186 |
b[c] = 0; |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
187 |
} |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
188 |
if (((char)b[c]) == ':') { |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
189 |
port = &b[c+1]; |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
190 |
b[c] = 0; |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
191 |
} |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
192 |
c++; |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
193 |
} |
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
194 |
|
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
195 |
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
|
196 |
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
|
197 |
|
f1ebbfefc3f8
(svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player]
signde
parents:
213
diff
changeset
|
198 |
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
|
199 |
} |
211 | 200 |
} break; |
201 |
||
202 |
case WE_TICK: { |
|
203 |
if (_network_game_count_last != _network_game_count) |
|
204 |
SetWindowDirty(w); |
|
0 | 205 |
} break; |
206 |
||
207 |
} |
|
208 |
} |
|
209 |
||
210 |
static const Widget _network_game_window_widgets[] = { |
|
211 | 211 |
{ 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
|
212 |
{ 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
|
213 |
{ WWT_IMGBTN, BGC, 0, 399, 14, 199, 0x0, STR_NULL}, |
0 | 214 |
|
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
|
215 |
{ 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
|
216 |
{ 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
|
217 |
{ WWT_PUSHTXTBTN, BTC, 270, 380, 22, 33, STR_NETWORK_START_SERVER, STR_NETWORK_START_SERVER_TIP}, |
0 | 218 |
|
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 |
{ WWT_IMGBTN, BGC, 250, 394, 42, 53, 0x0, STR_NETWORK_ENTER_NAME_TIP}, |
0 | 220 |
|
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
|
221 |
{ 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
|
222 |
{ WWT_CLOSEBOX, BGC, 382, 392, 63, 72, STR_0225, STR_NETWORK_CONNECTION_TYPE_TIP}, |
0 | 223 |
|
211 | 224 |
{ WWT_SCROLLBAR, BGC, 382, 392, 81, 176, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST}, |
0 | 225 |
|
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
|
226 |
{ 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
|
227 |
{ 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
|
228 |
{ 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
|
229 |
{ 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
|
230 |
|
211 | 231 |
{ 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
|
232 |
|
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
|
233 |
{ 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
|
234 |
{ 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
|
235 |
{ WIDGETS_END}, |
0 | 236 |
}; |
237 |
||
238 |
static const WindowDesc _network_game_window_desc = { |
|
239 |
WDP_CENTER, WDP_CENTER, 400, 200, |
|
240 |
WC_NETWORK_WINDOW,0, |
|
241 |
WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, |
|
242 |
_network_game_window_widgets, |
|
243 |
NetworkGameWindowWndProc, |
|
244 |
}; |
|
245 |
||
246 |
||
247 |
void ShowNetworkGameWindow() |
|
248 |
{ |
|
249 |
Window *w; |
|
250 |
DeleteWindowById(WC_NETWORK_WINDOW, 0); |
|
105 | 251 |
|
252 |
NetworkLobbyInit(); |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
253 |
|
0 | 254 |
w = AllocateWindowDesc(&_network_game_window_desc); |
255 |
strcpy(_edit_str_buf, "Your name"); |
|
211 | 256 |
w->vscroll.cap = 6; |
257 |
w->disabled_state = (1<<6) | (1<<7) | (1<<8); // disable buttons not yet working |
|
258 |
NetworkGameListFromLAN(); // default dropdown item is LAN, so fill that array |
|
0 | 259 |
|
206 | 260 |
_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
|
261 |
|
0 | 262 |
WP(w,querystr_d).caret = 1; |
263 |
WP(w,querystr_d).maxlen = MAX_QUERYSTR_LEN; |
|
264 |
WP(w,querystr_d).maxwidth = 240; |
|
265 |
WP(w,querystr_d).buf = _edit_str_buf; |
|
266 |
} |
|
267 |
||
268 |
static const StringID _players_dropdown[] = { |
|
269 |
STR_NETWORK_2_PLAYERS, |
|
270 |
STR_NETWORK_3_PLAYERS, |
|
271 |
STR_NETWORK_4_PLAYERS, |
|
272 |
STR_NETWORK_5_PLAYERS, |
|
273 |
STR_NETWORK_6_PLAYERS, |
|
274 |
STR_NETWORK_7_PLAYERS, |
|
275 |
STR_NETWORK_8_PLAYERS, |
|
276 |
INVALID_STRING_ID |
|
277 |
}; |
|
278 |
||
279 |
static void NetworkStartServerWindowWndProc(Window *w, WindowEvent *e) |
|
280 |
{ |
|
281 |
switch(e->event) { |
|
282 |
case WE_PAINT: { |
|
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 |
SET_DPARAM16(7, STR_NETWORK_2_PLAYERS + _players_max); |
0 | 285 |
DrawWindowWidgets(w); |
286 |
||
287 |
GfxFillRect(11, 63, 237, 168, 0xD7); |
|
288 |
||
289 |
DrawEditBox(w, 3); |
|
290 |
DrawEditBox(w, 4); |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
291 |
|
0 | 292 |
DrawString(10, 22, STR_NETWORK_NEW_GAME_NAME, 2); |
293 |
DrawString(210, 22, STR_NETWORK_PASSWORD, 2); |
|
294 |
||
295 |
DrawString(10, 43, STR_NETWORK_SELECT_MAP, 2); |
|
296 |
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
|
297 |
|
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 |
} break; |
0 | 299 |
|
300 |
case WE_CLICK: |
|
301 |
_selected_field = e->click.widget; |
|
302 |
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
|
303 |
case 0: case 12: /* Close 'X' | Cancel button */ |
0 | 304 |
ShowNetworkGameWindow(); |
305 |
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
|
306 |
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
|
307 |
ShowDropDownMenu(w, _players_dropdown, _players_max, 8, 0); // do it for widget 8 |
0 | 308 |
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
|
309 |
case 9: /* Start game */ |
105 | 310 |
NetworkCoreStartGame(); |
211 | 311 |
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
|
312 |
//ShowNetworkLobbyWindow(); |
105 | 313 |
DoCommandP(0, 0, 0, NULL, CMD_START_NEW_GAME); |
0 | 314 |
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
|
315 |
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
|
316 |
NetworkCoreStartGame(); |
211 | 317 |
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
|
318 |
//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
|
319 |
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
|
320 |
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
|
321 |
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
|
322 |
NetworkCoreStartGame(); |
211 | 323 |
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
|
324 |
//ShowNetworkLobbyWindow(); |
211 | 325 |
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
|
326 |
break; |
0 | 327 |
} |
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
|
328 |
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
|
329 |
|
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
|
330 |
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
|
331 |
_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
|
332 |
|
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
|
333 |
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
|
334 |
break; |
0 | 335 |
|
336 |
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
|
337 |
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
|
338 |
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
|
339 |
|
0 | 340 |
break; |
341 |
||
342 |
case WE_KEYPRESS: |
|
343 |
if(_selected_field != 3 && _selected_field != 4) |
|
344 |
break; |
|
345 |
switch (HandleEditBoxKey(w, _selected_field, e)) { |
|
346 |
case 1: |
|
347 |
HandleButtonClick(w, 9); |
|
348 |
break; |
|
349 |
} |
|
350 |
break; |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
351 |
|
0 | 352 |
} |
353 |
} |
|
354 |
||
355 |
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
|
356 |
{ 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
|
357 |
{ 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
|
358 |
{ WWT_IMGBTN, BGC, 0, 399, 14, 199, 0x0, STR_NULL}, |
0 | 359 |
|
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
|
360 |
{ 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
|
361 |
{ WWT_IMGBTN, BGC, 280, 390, 22, 33, 0x0, STR_NETWORK_PASSWORD_TIP}, |
0 | 362 |
|
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
|
363 |
{ 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
|
364 |
{ WWT_SCROLLBAR, BGC, 241, 251, 62, 170, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST}, |
0 | 365 |
|
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
|
366 |
{ 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
|
367 |
{ WWT_CLOSEBOX, BGC, 379, 389, 82, 91, STR_0225, STR_NETWORK_NUMBER_OF_PLAYERS_TIP}, |
0 | 368 |
|
211 | 369 |
{ WWT_PUSHTXTBTN, BTC, 10, 100, 180, 191, STR_NETWORK_START_GAME, STR_NETWORK_START_GAME_TIP}, |
370 |
{ WWT_PUSHTXTBTN, BTC, 110, 200, 180, 191, STR_NETWORK_LOAD_GAME, STR_NETWORK_LOAD_GAME_TIP}, |
|
371 |
{ 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
|
372 |
{ 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
|
373 |
{ WIDGETS_END}, |
0 | 374 |
}; |
375 |
||
376 |
static const WindowDesc _network_start_server_window_desc = { |
|
377 |
WDP_CENTER, WDP_CENTER, 400, 200, |
|
378 |
WC_NETWORK_WINDOW,0, |
|
379 |
WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, |
|
380 |
_network_start_server_window_widgets, |
|
381 |
NetworkStartServerWindowWndProc, |
|
382 |
}; |
|
383 |
||
384 |
static void ShowNetworkStartServerWindow() |
|
385 |
{ |
|
386 |
Window *w; |
|
387 |
DeleteWindowById(WC_NETWORK_WINDOW, 0); |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
388 |
|
0 | 389 |
w = AllocateWindowDesc(&_network_start_server_window_desc); |
390 |
strcpy(_edit_str_buf, ""); |
|
211 | 391 |
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
|
392 |
|
0 | 393 |
WP(w,querystr_d).caret = 1; |
394 |
WP(w,querystr_d).maxlen = MAX_QUERYSTR_LEN; |
|
395 |
WP(w,querystr_d).maxwidth = 240; |
|
396 |
WP(w,querystr_d).buf = _edit_str_buf; |
|
397 |
} |
|
398 |
||
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
399 |
#if 0 |
0 | 400 |
static void NetworkLobbyWindowWndProc(Window *w, WindowEvent *e) |
401 |
{ |
|
402 |
switch(e->event) { |
|
403 |
case WE_PAINT: { |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
404 |
|
0 | 405 |
SET_DPARAM16(7, STR_NETWORK_2_PLAYERS + _opt_mod_ptr->road_side); |
406 |
DrawWindowWidgets(w); |
|
407 |
||
408 |
GfxFillRect( 11, 31, 239, 239, 0xD7); |
|
409 |
GfxFillRect(261, 31, 378, 220, 0xD7); |
|
410 |
||
411 |
DrawEditBox(w, 5); |
|
412 |
DrawEditBox(w, 7); |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
413 |
|
0 | 414 |
DrawString(10, 255, STR_NETWORK_COMPANY_NAME, 2); |
415 |
||
416 |
break; |
|
417 |
} |
|
418 |
||
419 |
case WE_CLICK: |
|
420 |
_selected_field = e->click.widget; |
|
421 |
switch(e->click.widget) { |
|
422 |
||
423 |
case 0: // close X |
|
424 |
case 13: // cancel button |
|
425 |
ShowNetworkGameWindow(); |
|
426 |
break; |
|
427 |
||
428 |
} |
|
429 |
||
430 |
case WE_MOUSELOOP: |
|
431 |
if(_selected_field == 5) |
|
432 |
{ |
|
433 |
HandleEditBox(w, 5); |
|
434 |
break; |
|
435 |
} |
|
436 |
if(_selected_field == 7) |
|
437 |
{ |
|
438 |
HandleEditBox(w, 7); |
|
439 |
break; |
|
440 |
} |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
441 |
|
0 | 442 |
break; |
443 |
||
444 |
case WE_KEYPRESS: |
|
445 |
if(_selected_field != 5 && _selected_field != 7) |
|
446 |
break; |
|
447 |
switch (HandleEditBoxKey(w, _selected_field, e)) { |
|
448 |
case 1: |
|
449 |
HandleButtonClick(w, 12); |
|
450 |
break; |
|
451 |
} |
|
452 |
break; |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
453 |
|
0 | 454 |
} |
455 |
} |
|
456 |
||
457 |
static const Widget _network_lobby_window_widgets[] = { |
|
211 | 458 |
{ 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
|
459 |
{ 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
|
460 |
{ WWT_IMGBTN, BGC, 0, 399, 14, 299, 0x0, STR_NULL}, |
0 | 461 |
|
462 |
// chat widget |
|
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
463 |
{ 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
|
464 |
{ WWT_SCROLLBAR, BGC, 241, 251, 30, 240, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST}, |
0 | 465 |
|
466 |
// send message prompt |
|
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
467 |
{ 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
|
468 |
{ WWT_PUSHTXTBTN, BTC, 201, 251, 241, 252, STR_NETWORK_SEND, STR_NETWORK_SEND_TIP}, |
0 | 469 |
|
470 |
// company name |
|
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
471 |
{ WWT_IMGBTN, BGC, 100, 251, 254, 265, 0x0, STR_NETWORK_COMPANY_NAME_TIP}, |
0 | 472 |
|
473 |
// player information |
|
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
474 |
{ 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
|
475 |
{ WWT_SCROLLBAR, BGC, 380, 390, 30, 221, 0x1, STR_0190_SCROLL_BAR_SCROLLS_LIST}, |
0 | 476 |
|
477 |
// buttons |
|
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
478 |
{ 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
|
479 |
{ WWT_PUSHTXTBTN, BTC, 260, 390, 254, 265, STR_NETWORK_SPECTATE_GAME, STR_NETWORK_SPECTATE_GAME_TIP}, |
0 | 480 |
|
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
481 |
{ 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
|
482 |
{ 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
|
483 |
{ WIDGETS_END}, |
0 | 484 |
}; |
485 |
||
486 |
static const WindowDesc _network_lobby_window_desc = { |
|
487 |
WDP_CENTER, WDP_CENTER, 400, 300, |
|
488 |
WC_NETWORK_WINDOW,0, |
|
489 |
WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, |
|
490 |
_network_lobby_window_widgets, |
|
491 |
NetworkLobbyWindowWndProc, |
|
492 |
}; |
|
493 |
||
494 |
||
495 |
static void ShowNetworkLobbyWindow() |
|
496 |
{ |
|
497 |
Window *w; |
|
498 |
DeleteWindowById(WC_NETWORK_WINDOW, 0); |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
499 |
|
0 | 500 |
w = AllocateWindowDesc(&_network_lobby_window_desc); |
501 |
strcpy(_edit_str_buf, ""); |
|
502 |
||
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
176
diff
changeset
|
503 |
|
0 | 504 |
WP(w,querystr_d).caret = 1; |
505 |
WP(w,querystr_d).maxlen = MAX_QUERYSTR_LEN; |
|
506 |
WP(w,querystr_d).maxwidth = 240; |
|
507 |
WP(w,querystr_d).buf = _edit_str_buf; |
|
508 |
} |
|
175
d6cccece959a
(svn r176) -Fix: network_gui const and warnings fixes (Tron)
darkvater
parents:
172
diff
changeset
|
509 |
#endif |