summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfrosch <frosch@openttd.org>2011-08-20 23:16:49 +0000
committerfrosch <frosch@openttd.org>2011-08-20 23:16:49 +0000
commitaefee3d3753105bd1bb0e086dbe807e47688b331 (patch)
tree83c12b0c18cd5a9fe9142e368f9096fb0a637f64
parent3edfd1c9d291a5a8e542414e0bea7e7809d2092b (diff)
downloadopenttd-aefee3d3753105bd1bb0e086dbe807e47688b331.tar.xz
(svn r22780) -Fix: [NewGRF] String codes 84 and 87 print signed values.
-rw-r--r--src/newgrf_text.cpp5
-rw-r--r--src/table/control_codes.h4
2 files changed, 5 insertions, 4 deletions
diff --git a/src/newgrf_text.cpp b/src/newgrf_text.cpp
index 8aa4f935d..334fa9871 100644
--- a/src/newgrf_text.cpp
+++ b/src/newgrf_text.cpp
@@ -1014,7 +1014,6 @@ uint RemapNewGRFStringControlCode(uint scc, char *buf_start, char **buff, const
switch (scc) {
default: NOT_REACHED();
case SCC_NEWGRF_PRINT_BYTE_SIGNED: *argv = _newgrf_textrefstack.PopSignedByte(); break;
- case SCC_NEWGRF_PRINT_WORD_SIGNED: *argv = _newgrf_textrefstack.PopSignedWord(); break;
case SCC_NEWGRF_PRINT_QWORD_CURRENCY: *argv = _newgrf_textrefstack.PopSignedQWord(); break;
case SCC_NEWGRF_PRINT_DWORD_CURRENCY:
@@ -1023,9 +1022,11 @@ uint RemapNewGRFStringControlCode(uint scc, char *buf_start, char **buff, const
case SCC_NEWGRF_PRINT_BYTE_HEX: *argv = _newgrf_textrefstack.PopUnsignedByte(); break;
case SCC_NEWGRF_PRINT_QWORD_HEX: *argv = _newgrf_textrefstack.PopUnsignedQWord(); break;
- case SCC_NEWGRF_PRINT_WORD_HEX:
case SCC_NEWGRF_PRINT_WORD_SPEED:
case SCC_NEWGRF_PRINT_WORD_VOLUME:
+ case SCC_NEWGRF_PRINT_WORD_SIGNED: *argv = _newgrf_textrefstack.PopSignedWord(); break;
+
+ case SCC_NEWGRF_PRINT_WORD_HEX:
case SCC_NEWGRF_PRINT_WORD_WEIGHT:
case SCC_NEWGRF_PRINT_WORD_POWER:
case SCC_NEWGRF_PRINT_WORD_STATION_NAME:
diff --git a/src/table/control_codes.h b/src/table/control_codes.h
index 4d86b5a30..55f148653 100644
--- a/src/table/control_codes.h
+++ b/src/table/control_codes.h
@@ -120,8 +120,8 @@ enum StringControlCode {
SCC_NEWGRF_PRINT_WORD_STRING_ID, ///< Read 2 bytes from the stack as String ID
SCC_NEWGRF_PRINT_WORD_DATE_LONG, ///< Read 2 bytes from the stack as base 1920 date
SCC_NEWGRF_PRINT_WORD_DATE_SHORT, ///< Read 2 bytes from the stack as base 1920 date
- SCC_NEWGRF_PRINT_WORD_SPEED, ///< Read 2 bytes from the stack as unsigned speed
- SCC_NEWGRF_PRINT_WORD_VOLUME, ///< Read 2 bytes from the stack as unsigned volume
+ SCC_NEWGRF_PRINT_WORD_SPEED, ///< Read 2 bytes from the stack as signed speed
+ SCC_NEWGRF_PRINT_WORD_VOLUME, ///< Read 2 bytes from the stack as signed volume
SCC_NEWGRF_PRINT_WORD_WEIGHT, ///< Read 2 bytes from the stack as unsigned weight
SCC_NEWGRF_PRINT_WORD_STATION_NAME, ///< Read 2 bytes from the stack as station name
SCC_NEWGRF_PRINT_QWORD_CURRENCY, ///< Read 8 bytes from the stack as currency