summaryrefslogtreecommitdiff
path: root/network_gui.c
diff options
context:
space:
mode:
authorludde <ludde@openttd.org>2005-07-14 09:43:59 +0000
committerludde <ludde@openttd.org>2005-07-14 09:43:59 +0000
commit3e62457107457c8295076370425e9a1df44fa58c (patch)
treef6981bd89e076320ae37ab99f9dbf0619bca554c /network_gui.c
parent1a046ff4c6f0295328ccc0cd6a4cd7a491f7ddbf (diff)
downloadopenttd-3e62457107457c8295076370425e9a1df44fa58c.tar.xz
(svn r2564) Fix: Fixed conceptual issue in network_gui.c. AllocateName is not meant to be used by GUI-code, because it modifies the "game-state".
Added a way to bind a C-string to an openttd string which doesn't modify the game state.
Diffstat (limited to 'network_gui.c')
-rw-r--r--network_gui.c53
1 files changed, 10 insertions, 43 deletions
diff --git a/network_gui.c b/network_gui.c
index 95911fa8a..0f33962d2 100644
--- a/network_gui.c
+++ b/network_gui.c
@@ -190,10 +190,11 @@ static void NetworkGameWindowWndProc(Window *w, WindowEvent *e)
DrawStringMultiCenter(365, 30, STR_NETWORK_GAME_INFO, 0);
- SetDParam(0, _str_game_name);
+
+ SetDParamStr(0, _selected_item->info.server_name);
DrawStringMultiCenter(365, 42, STR_ORANGE, 2); // game name
- SetDParam(0, _str_map_name);
+ SetDParamStr(0, _selected_item->info.map_name);
DrawStringMultiCenter(365, 54, STR_02BD, 2); // map name
SetDParam(0, _selected_item->info.clients_on);
@@ -214,11 +215,11 @@ static void NetworkGameWindowWndProc(Window *w, WindowEvent *e)
DrawString(260, y, STR_NETWORK_MAP_SIZE, 2); // map size
y+=10;
- SetDParam(0, _str_server_version);
+ SetDParamStr(0, _selected_item->info.server_revision);
DrawString(260, y, STR_NETWORK_SERVER_VERSION, 2); // server version
y+=10;
- SetDParam(0, _str_server_address);
+ SetDParamStr(0, _selected_item->info.hostname);
SetDParam(1, _selected_item->port);
DrawString(260, y, STR_NETWORK_SERVER_ADDRESS, 2); // server address
y+=10;
@@ -273,30 +274,6 @@ static void NetworkGameWindowWndProc(Window *w, WindowEvent *e)
return;
}
_selected_item = cur_item;
-
- DeleteName(_str_game_name);
- DeleteName(_str_map_name);
- DeleteName(_str_server_version);
- DeleteName(_str_server_address);
- if (_selected_item->info.server_name[0] != '\0')
- _str_game_name = AllocateName(_selected_item->info.server_name, 0);
- else
- _str_game_name = STR_EMPTY;
-
- if (_selected_item->info.map_name[0] != '\0')
- _str_map_name = AllocateName(_selected_item->info.map_name, 0);
- else
- _str_map_name = STR_EMPTY;
-
- if (_selected_item->info.server_revision[0] != '\0')
- _str_server_version = AllocateName(_selected_item->info.server_revision, 0);
- else
- _str_server_version = STR_EMPTY;
-
- if (_selected_item->info.hostname[0] != '\0')
- _str_server_address = AllocateName(_selected_item->info.hostname, 0);
- else
- _str_server_address = STR_EMPTY;
}
SetWindowDirty(w);
} break;
@@ -307,16 +284,13 @@ static void NetworkGameWindowWndProc(Window *w, WindowEvent *e)
}
break;
case 12: { // Add a server
- StringID str = AllocateName(_network_default_ip, 0);
-
ShowQueryString(
- str,
+ BindCString(_network_default_ip),
STR_NETWORK_ENTER_IP,
31 | 0x1000, // maximum number of characters OR
250, // characters up to this width pixels, whichever is satisfied first
w->window_class,
w->window_number);
- DeleteName(str);
} break;
case 13: /* Start server */
ShowNetworkStartServerWindow();
@@ -536,10 +510,8 @@ static void NetworkStartServerWindowWndProc(Window *w, WindowEvent *e)
ShowNetworkGameWindow();
break;
case 4: { /* Set password button */
- StringID str;
- str = AllocateName(_network_server_password, 0);
- ShowQueryString(str, STR_NETWORK_SET_PASSWORD, 20, 250, w->window_class, w->window_number);
- DeleteName(str);
+ ShowQueryString(BindCString(_network_server_password),
+ STR_NETWORK_SET_PASSWORD, 20, 250, w->window_class, w->window_number);
} break;
case 5: { /* Select map */
int y = (e->click.pt.y - NSSWND_START) / NSSWND_ROWSIZE;
@@ -697,7 +669,6 @@ static void NetworkLobbyWindowWndProc(Window *w, WindowEvent *e)
switch(e->event) {
case WE_PAINT: {
int y = NET_PRC__OFFSET_TOP_WIDGET_COMPANY, pos;
- StringID str;
w->disabled_state = (_selected_company_item == -1) ? 1 << 7 : 0;
@@ -745,10 +716,8 @@ static void NetworkLobbyWindowWndProc(Window *w, WindowEvent *e)
uint xm;
y = 65;
- str = AllocateName(_network_player_info[_selected_company_item].company_name, 0);
- SetDParam(0, str);
+ SetDParamStr(0, _network_player_info[_selected_company_item].company_name);
DrawString(x, y, STR_NETWORK_COMPANY_NAME, 2);
- DeleteName(str);
y += 10;
SetDParam(0, _network_player_info[_selected_company_item].inaugurated_year + MAX_YEAR_BEGIN_REAL);
@@ -787,10 +756,8 @@ static void NetworkLobbyWindowWndProc(Window *w, WindowEvent *e)
DrawString(x, y, STR_NETWORK_STATIONS, 2); // stations
y += 10;
- str = AllocateName(_network_player_info[_selected_company_item].players, 0);
- SetDParam(0, str);
+ SetDParamStr(0, _network_player_info[_selected_company_item].players);
xm = DrawString(x, y, STR_NETWORK_PLAYERS, 2); // players
- DeleteName(str);
y += 10;
}
} break;