summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpeter1138 <peter1138@openttd.org>2007-06-25 10:40:56 +0000
committerpeter1138 <peter1138@openttd.org>2007-06-25 10:40:56 +0000
commitfd73ea2058fd25a75793907c2e7ff1986c17fcdc (patch)
treeb7c3b6c9ee370504bf4990b5c4ff9924900215b1
parent5c6106cbcf78cb422eec7e989b8276b7939259d5 (diff)
downloadopenttd-fd73ea2058fd25a75793907c2e7ff1986c17fcdc.tar.xz
(svn r10321) -Codechange: refer to sign text by index
-rw-r--r--src/lang/english.txt5
-rw-r--r--src/main_gui.cpp3
-rw-r--r--src/signs.cpp2
-rw-r--r--src/signs_gui.cpp3
-rw-r--r--src/strgen/strgen.cpp1
-rw-r--r--src/strings.cpp7
-rw-r--r--src/table/control_codes.h1
-rw-r--r--src/viewport.cpp2
8 files changed, 18 insertions, 6 deletions
diff --git a/src/lang/english.txt b/src/lang/english.txt
index 2fc29b9c6..748a35819 100644
--- a/src/lang/english.txt
+++ b/src/lang/english.txt
@@ -1681,7 +1681,7 @@ STR_TOWN_LABEL_POP :{WHITE}{TOWN} (
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_2802_TREES :{WHITE}Trees
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_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLAC
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}
########
diff --git a/src/main_gui.cpp b/src/main_gui.cpp
index 7ad547d94..bd97f17de 100644
--- a/src/main_gui.cpp
+++ b/src/main_gui.cpp
@@ -346,7 +346,8 @@ void ShowRenameSignWindow(const Sign *si)
{
_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)
diff --git a/src/signs.cpp b/src/signs.cpp
index 605469f42..355a20748 100644
--- a/src/signs.cpp
+++ b/src/signs.cpp
@@ -39,7 +39,7 @@ DEFINE_OLD_POOL(Sign, Sign, SignPoolNewBlock, NULL)
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);
}
diff --git a/src/signs_gui.cpp b/src/signs_gui.cpp
index 270bed1bc..67a2d628b 100644
--- a/src/signs_gui.cpp
+++ b/src/signs_gui.cpp
@@ -88,7 +88,8 @@ static void SignListWndProc(Window *w, WindowEvent *e)
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;
}
}
diff --git a/src/strgen/strgen.cpp b/src/strgen/strgen.cpp
index e6be06104..ebb5ed26b 100644
--- a/src/strgen/strgen.cpp
+++ b/src/strgen/strgen.cpp
@@ -504,6 +504,7 @@ static const CmdStruct _cmd_structs[] = {
{"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
diff --git a/src/strings.cpp b/src/strings.cpp
index 911786707..24056b8c3 100644
--- a/src/strings.cpp
+++ b/src/strings.cpp
@@ -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 @@ static char* FormatString(char* buff, const char* str, const int64* argv, uint c
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. */
diff --git a/src/table/control_codes.h b/src/table/control_codes.h
index 8eb737f40..304767bf5 100644
--- a/src/table/control_codes.h
+++ b/src/table/control_codes.h
@@ -28,6 +28,7 @@ enum {
SCC_TOWN_NAME,
SCC_GROUP_NAME,
SCC_VEHICLE_NAME,
+ SCC_SIGN_NAME,
SCC_CURRENCY_COMPACT,
SCC_CURRENCY,
diff --git a/src/viewport.cpp b/src/viewport.cpp
index 14dc7a37d..2bac971c2 100644
--- a/src/viewport.cpp
+++ b/src/viewport.cpp
@@ -939,7 +939,7 @@ static void AddSign(const Sign *si, StringID str, uint16 width)
{
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;