mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r14791) -Add: the ability to make ISO dates with the string system (PhilSophus)
This commit is contained in:
parent
3a0d966ae4
commit
aff7feb767
|
@ -3504,6 +3504,7 @@ STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Area: {N
|
|||
STR_DATE_TINY :{RAW_STRING}-{RAW_STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
STR_DATE_ISO :{2:NUM}-{1:RAW_STRING}-{0:RAW_STRING}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -479,6 +479,7 @@ static const CmdStruct _cmd_structs[] = {
|
|||
{"DATE_TINY", EmitSingleChar, SCC_DATE_TINY, 1, 0},
|
||||
{"DATE_SHORT", EmitSingleChar, SCC_DATE_SHORT, 1, 0},
|
||||
{"DATE_LONG", EmitSingleChar, SCC_DATE_LONG, 1, 0},
|
||||
{"DATE_ISO", EmitSingleChar, SCC_DATE_ISO, 1, 0},
|
||||
|
||||
{"SKIP", EmitSingleChar, SCC_SKIP, 1, 0},
|
||||
|
||||
|
|
|
@ -284,7 +284,7 @@ static char *FormatMonthAndYear(char *buff, Date date, const char *last)
|
|||
return FormatString(buff, GetStringPtr(STR_DATE_SHORT), args, 0, last);
|
||||
}
|
||||
|
||||
static char *FormatTinyDate(char *buff, Date date, const char *last)
|
||||
static char *FormatTinyOrISODate(char *buff, Date date, StringID str, const char *last)
|
||||
{
|
||||
YearMonthDay ymd;
|
||||
ConvertDateToYMD(date, &ymd);
|
||||
|
@ -296,7 +296,7 @@ static char *FormatTinyDate(char *buff, Date date, const char *last)
|
|||
snprintf(month, lengthof(month), "%02i", ymd.month + 1);
|
||||
|
||||
int64 args[3] = { (int64)(size_t)day, (int64)(size_t)month, ymd.year };
|
||||
return FormatString(buff, GetStringPtr(STR_DATE_TINY), args, 0, last);
|
||||
return FormatString(buff, GetStringPtr(str), args, 0, last);
|
||||
}
|
||||
|
||||
static char *FormatGenericCurrency(char *buff, const CurrencySpec *spec, Money number, bool compact, const char *last)
|
||||
|
@ -714,7 +714,12 @@ static char *FormatString(char *buff, const char *str, const int64 *argv, uint c
|
|||
}
|
||||
|
||||
case SCC_DATE_TINY: { // {DATE_TINY}
|
||||
buff = FormatTinyDate(buff, GetInt32(&argv), last);
|
||||
buff = FormatTinyOrISODate(buff, GetInt32(&argv), STR_DATE_TINY, last);
|
||||
break;
|
||||
}
|
||||
|
||||
case SCC_DATE_ISO: { // {DATE_ISO}
|
||||
buff = FormatTinyOrISODate(buff, GetInt32(&argv), STR_DATE_ISO, last);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -53,6 +53,7 @@ enum StringControlCode {
|
|||
SCC_DATE_TINY,
|
||||
SCC_DATE_SHORT,
|
||||
SCC_DATE_LONG,
|
||||
SCC_DATE_ISO,
|
||||
|
||||
SCC_STRING1,
|
||||
SCC_STRING2,
|
||||
|
|
Loading…
Reference in New Issue