Changeset - r1553:e0831bf58344
[Not reviewed]
master
0 3 0
tron - 20 years ago 2005-03-25 11:32:58
tron@openttd.org
(svn r2057) Add InlineString() to make _userstring construction a bit cleaner.
3 files changed with 20 insertions and 26 deletions:
0 comments (0 inline, 0 general)
misc_gui.c
Show inline comments
 
@@ -669,28 +669,20 @@ static void DrawStationCoverageText(cons
 
	char *b;
 

	
 
	b = _userstring;
 
	b[0] = 0x81;
 
	b[1] = STR_000D_ACCEPTS;
 
	b[2] = STR_000D_ACCEPTS >> 8;
 
	b += 3;
 
	b = InlineString(b, STR_000D_ACCEPTS);
 

	
 
	for(i=0; i!=NUM_CARGO; i++,mask>>=1) {
 
		if (accepts[i] >= 8 && (mask&1) ) {
 
			StringID id = _cargoc.names_s[i];
 
			b[0] = 0x81;
 
			b[1] = (byte)(id & 255);
 
			b[2] = (byte)(id >> 8);
 
			b[3] = ',';
 
			b[4] = ' ';
 
			b += 5;
 
			b = InlineString(b, id);
 
			*b++ = ',';
 
			*b++ = ' ';
 
		}
 
	}
 

	
 
	if (b == &_userstring[3]) {
 
		b[0] = 0x81;
 
		b[1] = (char)STR_00D0_NOTHING;
 
		b[2] = STR_00D0_NOTHING >> 8;
 
		b[3] = 0;
 
		b = InlineString(b, STR_00D0_NOTHING);
 
		*b++ = '\0';
 
	} else {
 
		b[-2] = 0;
 
	}
station_gui.c
Show inline comments
 
@@ -401,27 +401,21 @@ static void DrawStationViewWindow(Window
 
		char *b;
 

	
 
		b = _userstring;
 
		b[0] = 0x81;
 
		b[1] = STR_000C_ACCEPTS;
 
		b[2] = STR_000C_ACCEPTS >> 8;
 
		b += 3;
 
		b = InlineString(b, STR_000C_ACCEPTS);
 

	
 
		for(i=0; i!=NUM_CARGO; i++) {
 
			if ((b - _userstring) + 5 > USERSTRING_LEN - 1)
 
				break;
 
			if (st->goods[i].waiting_acceptance & 0x8000) {
 
				b[0] = 0x81;
 
				WRITE_LE_UINT16(b+1, _cargoc.names_s[i]);
 
				WRITE_LE_UINT16(b+3, 0x202C);
 
				b += 5;
 
				b = InlineString(b, _cargoc.names_s[i]);
 
				WRITE_LE_UINT16(b, 0x202C);
 
				b += 2;
 
			}
 
		}
 

	
 
		if (b == &_userstring[3]) {
 
			b[0] = 0x81;
 
			b[1] = (char)STR_00D0_NOTHING;
 
			b[2] = STR_00D0_NOTHING >> 8;
 
			b[3] = 0;
 
			b = InlineString(b, STR_00D0_NOTHING);
 
			*b++ = '\0';
 
		} else {
 
			b[-2] = 0;
 
		}
strings.h
Show inline comments
 
#ifndef STRINGS_H
 
#define STRINGS_H
 

	
 
static inline char* InlineString(char* buf, uint16 string)
 
{
 
	*buf++ = '\x81';
 
	*buf++ = string & 0xFF;
 
	*buf++ = string >> 8;
 
	return buf;
 
}
 

	
 
char *GetString(char *buffr, uint16 string);
 

	
 
void InjectDParam(int amount);
0 comments (0 inline, 0 general)