|
@@ -282,24 +282,27 @@ char *TranslateTTDPatchCodes(uint32 grfi
|
|
|
d += Utf8Encode(d, SCC_NEWGRF_UNPRINT);
|
|
|
d += Utf8Encode(d, *str++);
|
|
|
break;
|
|
|
case 6:
|
|
|
d += Utf8Encode(d, SCC_NEWGRF_PRINT_HEX_BYTE);
|
|
|
break;
|
|
|
case 7:
|
|
|
d += Utf8Encode(d, SCC_NEWGRF_PRINT_HEX_WORD);
|
|
|
break;
|
|
|
case 8:
|
|
|
d += Utf8Encode(d, SCC_NEWGRF_PRINT_HEX_DWORD);
|
|
|
break;
|
|
|
case 0x0B:
|
|
|
d += Utf8Encode(d, SCC_NEWGRF_PRINT_HEX_QWORD);
|
|
|
break;
|
|
|
|
|
|
default:
|
|
|
grfmsg(1, "missing handler for extended format code");
|
|
|
break;
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
case 0x9E: d += Utf8Encode(d, 0x20AC); break; // Euro
|
|
|
case 0x9F: d += Utf8Encode(d, 0x0178); break; // Y with diaeresis
|
|
|
case 0xA0: d += Utf8Encode(d, SCC_UPARROW); break;
|
|
|
case 0xAA: d += Utf8Encode(d, SCC_DOWNARROW); break;
|
|
|
case 0xAC: d += Utf8Encode(d, SCC_CHECKMARK); break;
|
|
@@ -641,24 +644,25 @@ uint RemapNewGRFStringControlCode(uint s
|
|
|
if (_newgrf_textrefstack->used) {
|
|
|
switch (scc) {
|
|
|
default: NOT_REACHED();
|
|
|
case SCC_NEWGRF_PRINT_SIGNED_BYTE: *argv = _newgrf_textrefstack->PopSignedByte(); break;
|
|
|
case SCC_NEWGRF_PRINT_SIGNED_WORD: *argv = _newgrf_textrefstack->PopSignedWord(); break;
|
|
|
case SCC_NEWGRF_PRINT_QWORD_CURRENCY: *argv = _newgrf_textrefstack->PopUnsignedQWord(); break;
|
|
|
|
|
|
case SCC_NEWGRF_PRINT_DWORD_CURRENCY:
|
|
|
case SCC_NEWGRF_PRINT_DWORD: *argv = _newgrf_textrefstack->PopSignedDWord(); break;
|
|
|
|
|
|
case SCC_NEWGRF_PRINT_HEX_BYTE: *argv = _newgrf_textrefstack->PopUnsignedByte(); break;
|
|
|
case SCC_NEWGRF_PRINT_HEX_DWORD: *argv = _newgrf_textrefstack->PopUnsignedDWord(); break;
|
|
|
case SCC_NEWGRF_PRINT_HEX_QWORD: *argv = _newgrf_textrefstack->PopSignedQWord(); break;
|
|
|
|
|
|
case SCC_NEWGRF_PRINT_HEX_WORD:
|
|
|
case SCC_NEWGRF_PRINT_WORD_SPEED:
|
|
|
case SCC_NEWGRF_PRINT_WORD_LITRES:
|
|
|
case SCC_NEWGRF_PRINT_UNSIGNED_WORD: *argv = _newgrf_textrefstack->PopUnsignedWord(); break;
|
|
|
|
|
|
case SCC_NEWGRF_PRINT_DATE:
|
|
|
case SCC_NEWGRF_PRINT_MONTH_YEAR: *argv = _newgrf_textrefstack->PopSignedWord() + DAYS_TILL_ORIGINAL_BASE_YEAR; break;
|
|
|
|
|
|
case SCC_NEWGRF_DISCARD_WORD: _newgrf_textrefstack->PopUnsignedWord(); break;
|
|
|
|
|
|
case SCC_NEWGRF_ROTATE_TOP_4_WORDS: _newgrf_textrefstack->RotateTop4Words(); break;
|
|
@@ -673,24 +677,25 @@ uint RemapNewGRFStringControlCode(uint s
|
|
|
|
|
|
switch (scc) {
|
|
|
default: NOT_REACHED();
|
|
|
case SCC_NEWGRF_PRINT_DWORD:
|
|
|
case SCC_NEWGRF_PRINT_SIGNED_WORD:
|
|
|
case SCC_NEWGRF_PRINT_SIGNED_BYTE:
|
|
|
case SCC_NEWGRF_PRINT_UNSIGNED_WORD:
|
|
|
return SCC_COMMA;
|
|
|
|
|
|
case SCC_NEWGRF_PRINT_HEX_BYTE:
|
|
|
case SCC_NEWGRF_PRINT_HEX_WORD:
|
|
|
case SCC_NEWGRF_PRINT_HEX_DWORD:
|
|
|
case SCC_NEWGRF_PRINT_HEX_QWORD:
|
|
|
return SCC_HEX;
|
|
|
|
|
|
case SCC_NEWGRF_PRINT_DWORD_CURRENCY:
|
|
|
case SCC_NEWGRF_PRINT_QWORD_CURRENCY:
|
|
|
return SCC_CURRENCY;
|
|
|
|
|
|
case SCC_NEWGRF_PRINT_STRING_ID:
|
|
|
return SCC_STRING1;
|
|
|
|
|
|
case SCC_NEWGRF_PRINT_DATE:
|
|
|
return SCC_DATE_LONG;
|
|
|
|