--- a/src/lang/english.txt Mon Jun 25 10:22:48 2007 +0000
+++ b/src/lang/english.txt Mon Jun 25 10:40:56 2007 +0000
@@ -1681,7 +1681,7 @@
STR_TOWN_LABEL :{WHITE}{TOWN}
STR_TOWN_LABEL_TINY_BLACK :{TINYFONT}{BLACK}{TOWN}
STR_TOWN_LABEL_TINY_WHITE :{TINYFONT}{WHITE}{TOWN}
-STR_2002 :{TINYFONT}{BLACK}{STRING1}
+STR_2002 :{TINYFONT}{BLACK}{SIGN}
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Building must be demolished first
STR_2005 :{WHITE}{TOWN}
STR_2006_POPULATION :{BLACK}Population: {ORANGE}{COMMA}{BLACK} Houses: {ORANGE}{COMMA}
@@ -1785,7 +1785,7 @@
STR_2803_TREE_ALREADY_HERE :{WHITE}...tree already here
STR_2804_SITE_UNSUITABLE :{WHITE}...site unsuitable
STR_2805_CAN_T_PLANT_TREE_HERE :{WHITE}Can't plant tree here...
-STR_2806 :{WHITE}{STRING}
+STR_2806 :{WHITE}{SIGN}
STR_2808_TOO_MANY_SIGNS :{WHITE}...too many signs
STR_2809_CAN_T_PLACE_SIGN_HERE :{WHITE}Can't place sign here...
STR_280A_SIGN :Sign
@@ -3340,6 +3340,7 @@
STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Profit this year: {RED}{CURRENCY} {BLACK}(last year: {RED}{CURRENCY}{BLACK})
STR_GROUP_NAME :{GROUP}
+STR_SIGN_NAME :{SIGN}
STR_VEHICLE_NAME :{VEHICLE}
########
--- a/src/main_gui.cpp Mon Jun 25 10:22:48 2007 +0000
+++ b/src/main_gui.cpp Mon Jun 25 10:40:56 2007 +0000
@@ -346,7 +346,8 @@
{
_rename_id = si->index;
_rename_what = 0;
- ShowQueryString(si->str, STR_280B_EDIT_SIGN_TEXT, 30, 180, NULL, CS_ALPHANUMERAL);
+ SetDParam(0, si->index);
+ ShowQueryString(STR_SIGN_NAME, STR_280B_EDIT_SIGN_TEXT, 30, 180, NULL, CS_ALPHANUMERAL);
}
void ShowRenameWaypointWindow(const Waypoint *wp)
--- a/src/signs.cpp Mon Jun 25 10:22:48 2007 +0000
+++ b/src/signs.cpp Mon Jun 25 10:40:56 2007 +0000
@@ -39,7 +39,7 @@
static void UpdateSignVirtCoords(Sign *si)
{
Point pt = RemapCoords(si->x, si->y, si->z);
- SetDParam(0, si->str);
+ SetDParam(0, si->index);
UpdateViewportSignPos(&si->sign, pt.x, pt.y - 6, STR_2806);
}
--- a/src/signs_gui.cpp Mon Jun 25 10:22:48 2007 +0000
+++ b/src/signs_gui.cpp Mon Jun 25 10:40:56 2007 +0000
@@ -88,7 +88,8 @@
if (si->owner != OWNER_NONE)
DrawPlayerIcon(si->owner, 4, y + 1);
- DrawString(22, y, si->str, 8);
+ SetDParam(0, si->index);
+ DrawString(22, y, STR_SIGN_NAME, 8);
y += 10;
}
}
--- a/src/strgen/strgen.cpp Mon Jun 25 10:22:48 2007 +0000
+++ b/src/strgen/strgen.cpp Mon Jun 25 10:40:56 2007 +0000
@@ -504,6 +504,7 @@
{"STATION", EmitSingleChar, SCC_STATION_NAME, 1, 0},
{"TOWN", EmitSingleChar, SCC_TOWN_NAME, 1, 0},
{"GROUP", EmitSingleChar, SCC_GROUP_NAME, 1, 0},
+ {"SIGN", EmitSingleChar, SCC_SIGN_NAME, 1, 0},
{"VEHICLE", EmitSingleChar, SCC_VEHICLE_NAME, 1, 0},
// 0x9D is used for the pseudo command SETCASE
--- a/src/strings.cpp Mon Jun 25 10:22:48 2007 +0000
+++ b/src/strings.cpp Mon Jun 25 10:40:56 2007 +0000
@@ -29,6 +29,7 @@
#include "group.h"
#include "debug.h"
#include "newgrf_townname.h"
+#include "signs.h"
#include "vehicle.h"
/* for opendir/readdir/closedir */
@@ -873,6 +874,12 @@
break;
}
+ case SCC_SIGN_NAME: { // {SIGN}
+ const Sign *si = GetSign(GetInt32(&argv));
+ buff = GetString(buff, si->str, last);
+ break;
+ }
+
case SCC_SETCASE: { // {SETCASE}
/* This is a pseudo command, it's outputted when someone does {STRING.ack}
* The modifier is added to all subsequent GetStringWithArgs that accept the modifier. */
--- a/src/table/control_codes.h Mon Jun 25 10:22:48 2007 +0000
+++ b/src/table/control_codes.h Mon Jun 25 10:40:56 2007 +0000
@@ -28,6 +28,7 @@
SCC_TOWN_NAME,
SCC_GROUP_NAME,
SCC_VEHICLE_NAME,
+ SCC_SIGN_NAME,
SCC_CURRENCY_COMPACT,
SCC_CURRENCY,
--- a/src/viewport.cpp Mon Jun 25 10:22:48 2007 +0000
+++ b/src/viewport.cpp Mon Jun 25 10:40:56 2007 +0000
@@ -939,7 +939,7 @@
{
StringSpriteToDraw *sstd;
- sstd = (StringSpriteToDraw*)AddStringToDraw(si->sign.left + 1, si->sign.top + 1, str, si->str, 0);
+ sstd = (StringSpriteToDraw*)AddStringToDraw(si->sign.left + 1, si->sign.top + 1, str, si->index, 0);
if (sstd != NULL) {
sstd->color = (si->owner == OWNER_NONE) ? 14 : _player_colors[si->owner];
sstd->width = width;