From e4940ebc79149fee171d11ed33e10a810a25c379 Mon Sep 17 00:00:00 2001 From: darkvater Date: Tue, 10 Aug 2004 14:32:17 +0000 Subject: (svn r3) -[1005611] Player Window patch: When looking in dropdownlist for player stuff, it will say for all human players (Player #), not only for the first 2 --- functions.h | 2 +- graph_gui.c | 6 +++--- lang/english.txt | 3 +-- main_gui.c | 2 +- player_gui.c | 6 +++--- players.c | 9 ++++++--- town_gui.c | 4 ++-- 7 files changed, 17 insertions(+), 15 deletions(-) diff --git a/functions.h b/functions.h index f203887ec..f684fa055 100644 --- a/functions.h +++ b/functions.h @@ -83,7 +83,7 @@ void SubtractMoneyFromPlayer(int32 cost); void SubtractMoneyFromPlayerFract(byte player, int32 cost); bool CheckOwnership(byte owner); bool CheckTileOwnership(uint tile); -StringID GetPlayerNameString(byte player); +StringID GetPlayerNameString(byte player, byte index); /* standard */ void ShowInfo(const char *str); diff --git a/graph_gui.c b/graph_gui.c index 5c7ba69ec..f0ae98eab 100644 --- a/graph_gui.c +++ b/graph_gui.c @@ -212,7 +212,7 @@ static void GraphLegendWndProc(Window *w, WindowEvent *e) SET_DPARAM16(0, p->name_1); SET_DPARAM32(1, p->name_2); - SET_DPARAM16(2, GetPlayerNameString(p->index)); + SET_DPARAM16(2, GetPlayerNameString(p->index, 3)); DrawString(21,17+p->index*12,STR_7021,HASBIT(_legend_showbits, p->index) ? 0x10 : 0xC); } break; @@ -823,8 +823,8 @@ static void CompanyLeagueWndProc(Window *w, WindowEvent *e) SET_DPARAM16(1, p->name_1); SET_DPARAM32(2, p->name_2); - SET_DPARAM16(3, GetPlayerNameString(p->index)); - SET_DPARAM16(4, GetPerformanceTitleFromValue(p->old_economy[1].performance_history)); + SET_DPARAM16(3, GetPlayerNameString(p->index, 4)); + SET_DPARAM16(5, GetPerformanceTitleFromValue(p->old_economy[1].performance_history)); DrawString(2, 15 + i * 10, i == 0 ? STR_7054 : STR_7055, 0); DrawPlayerIcon(p->index, 27, 16 + i * 10); diff --git a/lang/english.txt b/lang/english.txt index 5adddcb1c..58787acc5 100644 --- a/lang/english.txt +++ b/lang/english.txt @@ -1724,8 +1724,7 @@ STR_683B_HOSTILE :Hostile ##id 0x7000 STR_7000 : STR_7001 :{WHITE}{STRING}{BLACK}{STRING} -STR_7002_PLAYER_1 : (Player 1) -STR_7003_PLAYER_2 : (Player 2) +STR_7002_PLAYER : (Player {COMMA16}) STR_7004_NEW_FACE :{BLACK}New Face STR_7005_COLOR_SCHEME :{BLACK}Color Scheme STR_7006_COLOR_SCHEME :{GOLD}Color Scheme: diff --git a/main_gui.c b/main_gui.c index 5dbeabf2f..46ec07d80 100644 --- a/main_gui.c +++ b/main_gui.c @@ -504,7 +504,7 @@ static void PlayerMenuWndProc(Window *w, WindowEvent *e) SET_DPARAM16(0, p->name_1); SET_DPARAM32(1, p->name_2); - SET_DPARAM16(2, GetPlayerNameString(p->index)); + SET_DPARAM16(2, GetPlayerNameString(p->index, 3)); color = (byte)((p->index==sel) ? 0xC : 0x10); if (chk&1) color = 14; diff --git a/player_gui.c b/player_gui.c index b113afee6..38821d5ad 100644 --- a/player_gui.c +++ b/player_gui.c @@ -134,8 +134,8 @@ static void PlayerFinancesWndProc(Window *w, WindowEvent *e) SET_DPARAM16(0, p->name_1); SET_DPARAM32(1, p->name_2); - SET_DPARAM16(2, GetPlayerNameString((byte)w->window_number)); - SET_DPARAM32(3, 10000); + SET_DPARAM16(2, GetPlayerNameString((byte)w->window_number, 3)); + SET_DPARAM32(4, 10000); DrawWindowWidgets(w); DrawPlayerEconomyStats(p, (byte)WP(w,def_d).data_1); @@ -480,7 +480,7 @@ static void PlayerCompanyWndProc(Window *w, WindowEvent *e) SET_DPARAM16(0, p->name_1); SET_DPARAM32(1, p->name_2); - SET_DPARAM16(2, GetPlayerNameString((byte)w->window_number)); + SET_DPARAM16(2, GetPlayerNameString((byte)w->window_number, 3)); dis = 0; if (GetAmountOwnedBy(p, 0xFF) == 0) dis |= 1 << 8; diff --git a/players.c b/players.c index 542b12341..7aafdaa70 100644 --- a/players.c +++ b/players.c @@ -559,10 +559,13 @@ void RunOtherPlayersLoop() _current_player = 0; } -StringID GetPlayerNameString(byte player) +// index is the next parameter in _decode_parameters to set up +StringID GetPlayerNameString(byte player, byte index) { - if (IS_HUMAN_PLAYER(player) && player < 2) // temporarily fixes the names in the list. - return STR_7002_PLAYER_1+player; + if (IS_HUMAN_PLAYER(player) && player < MAX_PLAYERS) { + SET_DPARAM16(index, player+1); + return STR_7002_PLAYER; + } return STR_EMPTY; } diff --git a/town_gui.c b/town_gui.c index ca89593b8..d103b4503 100644 --- a/town_gui.c +++ b/town_gui.c @@ -114,7 +114,7 @@ static void TownAuthorityWndProc(Window *w, WindowEvent *e) SET_DPARAM16(0, p->name_1); SET_DPARAM32(1, p->name_2); - SET_DPARAM16(2, GetPlayerNameString(p->index)); + SET_DPARAM16(2, GetPlayerNameString(p->index, 3)); r = t->ratings[p->index]; (str = STR_3035_APPALLING, r <= -400) || // Apalling @@ -126,7 +126,7 @@ static void TownAuthorityWndProc(Window *w, WindowEvent *e) (str++, r <= 800) || // Excellent (str++, true); // Outstanding - SET_DPARAM16(3, str); + SET_DPARAM16(4, str); DrawString(19, y, STR_2024, 0); y+=10; } -- cgit v1.2.3-54-g00ecf