Changeset - r17957:225ed72957fa
[Not reviewed]
master
0 3 0
frosch - 13 years ago 2011-08-20 22:06:38
frosch@openttd.org
(svn r22776) -Codechange: Unify the naming of NewGRF string codes; always include the size of the parameter on the stack. (based on patch by Hirundo)
3 files changed with 58 insertions and 58 deletions:
0 comments (0 inline, 0 general)
src/newgrf_text.cpp
Show inline comments
 
@@ -442,7 +442,7 @@ char *TranslateTTDPatchCodes(uint32 grfi
 
			case 0x7D:
 
			case 0x7E:
 
			case 0x7F:
 
			case 0x80: d += Utf8Encode(d, SCC_NEWGRF_PRINT_DWORD + c - 0x7B); break;
 
			case 0x80: d += Utf8Encode(d, SCC_NEWGRF_PRINT_DWORD_SIGNED + c - 0x7B); break;
 
			case 0x81: {
 
				if (str[0] == '\0' || str[1] == '\0') goto string_end;
 
				StringID string;
 
@@ -454,7 +454,7 @@ char *TranslateTTDPatchCodes(uint32 grfi
 
			}
 
			case 0x82:
 
			case 0x83:
 
			case 0x84: d += Utf8Encode(d, SCC_NEWGRF_PRINT_DATE_LONG + c - 0x82); break;
 
			case 0x84: d += Utf8Encode(d, SCC_NEWGRF_PRINT_WORD_DATE_LONG + c - 0x82); break;
 
			case 0x85: d += Utf8Encode(d, SCC_NEWGRF_DISCARD_WORD);       break;
 
			case 0x86: d += Utf8Encode(d, SCC_NEWGRF_ROTATE_TOP_4_WORDS); break;
 
			case 0x87: d += Utf8Encode(d, SCC_NEWGRF_PRINT_WORD_VOLUME);  break;
 
@@ -500,11 +500,11 @@ char *TranslateTTDPatchCodes(uint32 grfi
 
						d += Utf8Encode(d, SCC_NEWGRF_UNPRINT);
 
						d += Utf8Encode(d, *str++);
 
						break;
 
					case 0x06: d += Utf8Encode(d, SCC_NEWGRF_PRINT_HEX_BYTE);          break;
 
					case 0x07: d += Utf8Encode(d, SCC_NEWGRF_PRINT_HEX_WORD);          break;
 
					case 0x08: d += Utf8Encode(d, SCC_NEWGRF_PRINT_HEX_DWORD);         break;
 
					case 0x06: d += Utf8Encode(d, SCC_NEWGRF_PRINT_BYTE_HEX);          break;
 
					case 0x07: d += Utf8Encode(d, SCC_NEWGRF_PRINT_WORD_HEX);          break;
 
					case 0x08: d += Utf8Encode(d, SCC_NEWGRF_PRINT_DWORD_HEX);         break;
 
					/* 0x09, 0x0A are TTDPatch internal use only string codes. */
 
					case 0x0B: d += Utf8Encode(d, SCC_NEWGRF_PRINT_HEX_QWORD);         break;
 
					case 0x0B: d += Utf8Encode(d, SCC_NEWGRF_PRINT_QWORD_HEX);         break;
 
					case 0x0C: d += Utf8Encode(d, SCC_NEWGRF_PRINT_WORD_STATION_NAME); break;
 
					case 0x0D: d += Utf8Encode(d, SCC_NEWGRF_PRINT_WORD_WEIGHT);       break;
 
					case 0x0E:
 
@@ -1009,34 +1009,34 @@ 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_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.PopUnsignedQWord(); break;
 

	
 
			case SCC_NEWGRF_PRINT_DWORD_CURRENCY:
 
			case SCC_NEWGRF_PRINT_DWORD:          *argv = _newgrf_textrefstack.PopSignedDWord();   break;
 
			case SCC_NEWGRF_PRINT_DWORD_SIGNED:     *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_BYTE_HEX:         *argv = _newgrf_textrefstack.PopUnsignedByte();  break;
 
			case SCC_NEWGRF_PRINT_DWORD_HEX:        *argv = _newgrf_textrefstack.PopUnsignedDWord(); break;
 
			case SCC_NEWGRF_PRINT_QWORD_HEX:        *argv = _newgrf_textrefstack.PopSignedQWord(); break;
 

	
 
			case SCC_NEWGRF_PRINT_HEX_WORD:
 
			case SCC_NEWGRF_PRINT_WORD_HEX:
 
			case SCC_NEWGRF_PRINT_WORD_SPEED:
 
			case SCC_NEWGRF_PRINT_WORD_VOLUME:
 
			case SCC_NEWGRF_PRINT_WORD_WEIGHT:
 
			case SCC_NEWGRF_PRINT_WORD_STATION_NAME:
 
			case SCC_NEWGRF_PRINT_UNSIGNED_WORD:  *argv = _newgrf_textrefstack.PopUnsignedWord();  break;
 
			case SCC_NEWGRF_PRINT_WORD_UNSIGNED:    *argv = _newgrf_textrefstack.PopUnsignedWord();  break;
 

	
 
			case SCC_NEWGRF_PRINT_DATE_LONG:
 
			case SCC_NEWGRF_PRINT_DATE_SHORT:     *argv = _newgrf_textrefstack.PopUnsignedWord() + DAYS_TILL_ORIGINAL_BASE_YEAR; break;
 
			case SCC_NEWGRF_PRINT_WORD_DATE_LONG:
 
			case SCC_NEWGRF_PRINT_WORD_DATE_SHORT:  *argv = _newgrf_textrefstack.PopUnsignedWord() + DAYS_TILL_ORIGINAL_BASE_YEAR; break;
 

	
 
			case SCC_NEWGRF_DISCARD_WORD:         _newgrf_textrefstack.PopUnsignedWord(); break;
 
			case SCC_NEWGRF_DISCARD_WORD:           _newgrf_textrefstack.PopUnsignedWord(); break;
 

	
 
			case SCC_NEWGRF_ROTATE_TOP_4_WORDS:   _newgrf_textrefstack.RotateTop4Words(); break;
 
			case SCC_NEWGRF_PUSH_WORD:            _newgrf_textrefstack.PushWord(Utf8Consume(str)); break;
 
			case SCC_NEWGRF_UNPRINT:              *buff = max(*buff - Utf8Consume(str), buf_start); break;
 
			case SCC_NEWGRF_ROTATE_TOP_4_WORDS:     _newgrf_textrefstack.RotateTop4Words(); break;
 
			case SCC_NEWGRF_PUSH_WORD:              _newgrf_textrefstack.PushWord(Utf8Consume(str)); break;
 
			case SCC_NEWGRF_UNPRINT:                *buff = max(*buff - Utf8Consume(str), buf_start); break;
 

	
 
			case SCC_NEWGRF_PRINT_STRING_ID:
 
			case SCC_NEWGRF_PRINT_WORD_STRING_ID:
 
				*argv = TTDPStringIDToOTTDStringIDMapping(_newgrf_textrefstack.PopUnsignedWord());
 
				break;
 
		}
 
@@ -1044,29 +1044,29 @@ 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:
 
		case SCC_NEWGRF_PRINT_DWORD_SIGNED:
 
		case SCC_NEWGRF_PRINT_WORD_SIGNED:
 
		case SCC_NEWGRF_PRINT_BYTE_SIGNED:
 
		case SCC_NEWGRF_PRINT_WORD_UNSIGNED:
 
			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:
 
		case SCC_NEWGRF_PRINT_BYTE_HEX:
 
		case SCC_NEWGRF_PRINT_WORD_HEX:
 
		case SCC_NEWGRF_PRINT_DWORD_HEX:
 
		case SCC_NEWGRF_PRINT_QWORD_HEX:
 
			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_NEWGRF_PRINT_STRING_ID;
 
		case SCC_NEWGRF_PRINT_WORD_STRING_ID:
 
			return SCC_NEWGRF_PRINT_WORD_STRING_ID;
 

	
 
		case SCC_NEWGRF_PRINT_DATE_LONG:
 
		case SCC_NEWGRF_PRINT_WORD_DATE_LONG:
 
			return SCC_DATE_LONG;
 

	
 
		case SCC_NEWGRF_PRINT_DATE_SHORT:
 
		case SCC_NEWGRF_PRINT_WORD_DATE_SHORT:
 
			return SCC_DATE_SHORT;
 

	
 
		case SCC_NEWGRF_PRINT_WORD_SPEED:
src/strings.cpp
Show inline comments
 
@@ -713,8 +713,8 @@ static char *FormatString(char *buff, co
 
				break;
 
			}
 

	
 
			case SCC_NEWGRF_PRINT_STRING_ID: {
 
				StringID substr = args->GetInt32(SCC_NEWGRF_PRINT_STRING_ID);
 
			case SCC_NEWGRF_PRINT_WORD_STRING_ID: {
 
				StringID substr = args->GetInt32(SCC_NEWGRF_PRINT_WORD_STRING_ID);
 
				str_stack.push(GetStringPtr(substr));
 
				break;
 
			}
src/table/control_codes.h
Show inline comments
 
@@ -112,30 +112,30 @@ enum StringControlCode {
 
	 * It uses a "stack" of bytes and reads from there.
 
	 */
 
	SCC_NEWGRF_FIRST,
 
	SCC_NEWGRF_PRINT_DWORD = SCC_NEWGRF_FIRST, ///< Read 4 bytes from the stack
 
	SCC_NEWGRF_PRINT_SIGNED_WORD,              ///< Read 2 bytes from the stack as signed value
 
	SCC_NEWGRF_PRINT_SIGNED_BYTE,              ///< Read 1 byte from the stack as signed value
 
	SCC_NEWGRF_PRINT_UNSIGNED_WORD,            ///< Read 2 bytes from the stack as unsigned value
 
	SCC_NEWGRF_PRINT_DWORD_CURRENCY,           ///< Read 4 bytes from the stack as currency
 
	SCC_NEWGRF_PRINT_STRING_ID,                ///< Read 2 bytes from the stack as String ID
 
	SCC_NEWGRF_PRINT_DATE_LONG,                ///< Read 2 bytes from the stack as base 1920 date
 
	SCC_NEWGRF_PRINT_DATE_SHORT,               ///< Read 2 bytes from the stack as base 1920 date
 
	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 signed 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
 
	SCC_NEWGRF_PRINT_HEX_BYTE,                 ///< Read 1 byte from the stack and print it as hex
 
	SCC_NEWGRF_PRINT_HEX_WORD,                 ///< Read 2 bytes from the stack and print it as hex
 
	SCC_NEWGRF_PRINT_HEX_DWORD,                ///< Read 4 bytes from the stack and print it as hex
 
	SCC_NEWGRF_PRINT_HEX_QWORD,                ///< Read 8 bytes from the stack and print it as hex
 
	SCC_NEWGRF_PUSH_WORD,                      ///< Pushes 2 bytes onto the stack
 
	SCC_NEWGRF_UNPRINT,                        ///< "Unprints" the given number of bytes from the string
 
	SCC_NEWGRF_DISCARD_WORD,                   ///< Discard the next two bytes
 
	SCC_NEWGRF_ROTATE_TOP_4_WORDS,             ///< Rotate the top 4 words of the stack (W4 W1 W2 W3)
 
	SCC_NEWGRF_PRINT_DWORD_SIGNED = SCC_NEWGRF_FIRST, ///< Read 4 bytes from the stack
 
	SCC_NEWGRF_PRINT_WORD_SIGNED,                     ///< Read 2 bytes from the stack as signed value
 
	SCC_NEWGRF_PRINT_BYTE_SIGNED,                     ///< Read 1 byte from the stack as signed value
 
	SCC_NEWGRF_PRINT_WORD_UNSIGNED,                   ///< Read 2 bytes from the stack as unsigned value
 
	SCC_NEWGRF_PRINT_DWORD_CURRENCY,                  ///< Read 4 bytes from the stack as currency
 
	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 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 signed 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
 
	SCC_NEWGRF_PRINT_BYTE_HEX,                        ///< Read 1 byte from the stack and print it as hex
 
	SCC_NEWGRF_PRINT_WORD_HEX,                        ///< Read 2 bytes from the stack and print it as hex
 
	SCC_NEWGRF_PRINT_DWORD_HEX,                       ///< Read 4 bytes from the stack and print it as hex
 
	SCC_NEWGRF_PRINT_QWORD_HEX,                       ///< Read 8 bytes from the stack and print it as hex
 
	SCC_NEWGRF_PUSH_WORD,                             ///< Pushes 2 bytes onto the stack
 
	SCC_NEWGRF_UNPRINT,                               ///< "Unprints" the given number of bytes from the string
 
	SCC_NEWGRF_DISCARD_WORD,                          ///< Discard the next two bytes
 
	SCC_NEWGRF_ROTATE_TOP_4_WORDS,                    ///< Rotate the top 4 words of the stack (W4 W1 W2 W3)
 
	SCC_NEWGRF_LAST = SCC_NEWGRF_ROTATE_TOP_4_WORDS,
 

	
 
	SCC_NEWGRF_STRINL,                         ///< Inline another string at the current position, StringID is encoded in the string
 
	SCC_NEWGRF_STRINL,                                ///< Inline another string at the current position, StringID is encoded in the string
 

	
 
	/* Special printable symbols.
 
	 * These are mapped to the original glyphs */
0 comments (0 inline, 0 general)