(svn r10321) -Codechange: refer to sign text by index

This commit is contained in:
peter1138 2007-06-25 10:40:56 +00:00
parent 5c6106cbcf
commit fd73ea2058
8 changed files with 18 additions and 6 deletions

View File

@ -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}
########

View File

@ -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)

View File

@ -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);
}

View File

@ -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;
}
}

View File

@ -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

View File

@ -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. */

View File

@ -28,6 +28,7 @@ enum {
SCC_TOWN_NAME,
SCC_GROUP_NAME,
SCC_VEHICLE_NAME,
SCC_SIGN_NAME,
SCC_CURRENCY_COMPACT,
SCC_CURRENCY,

View File

@ -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;