Index: src/newgrf_text.cpp =================================================================== --- src/newgrf_text.cpp (revision 14073) +++ src/newgrf_text.cpp (working copy) @@ -239,8 +239,8 @@ case 0x80: d += Utf8Encode(d, SCC_NEWGRF_PRINT_DWORD + c - 0x7B); break; case 0x81: { StringID string; - string = *str++; - string |= *str++ << 8; + string = uint8(*str++); + string |= uint8(*str++) << 8; d += Utf8Encode(d, SCC_STRING_ID); d += Utf8Encode(d, MapGRFStringID(grfid, string)); break; @@ -273,8 +273,8 @@ case 0: /* FALL THROUGH */ case 1: d += Utf8Encode(d, SCC_NEWGRF_PRINT_QWORD_CURRENCY); break; case 3: { - uint16 tmp = *str++; - tmp |= (*str++) << 8; + uint16 tmp = uint8(*str++); + tmp |= uint8(*str++) << 8; d += Utf8Encode(d, SCC_NEWGRF_PUSH_WORD); d += Utf8Encode(d, tmp); } break; case 4: d += Utf8Encode(d, SCC_NEWGRF_UNPRINT); d += Utf8Encode(d, *str++); break;