changeset 9502:df7ccab795cb draft

(svn r13482) -Codechange: Use "extended bytes" in Actions 3 and 4 for vehicles
author peter1138 <peter1138@openttd.org>
date Thu, 12 Jun 2008 09:25:04 +0000
parents 49baa15b00b5
children b45f1056d60b
files src/newgrf.cpp
diffstat 1 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -2948,7 +2948,7 @@
 
 	EngineID *engines = AllocaM(EngineID, idcount);
 	for (uint i = 0; i < idcount; i++) {
-		engines[i] = GetNewEngine(_cur_grffile, (VehicleType)feature, grf_load_byte(&buf))->index;
+		engines[i] = GetNewEngine(_cur_grffile, (VehicleType)feature, grf_load_extended(&buf))->index;
 		if (!wagover) last_engines[i] = engines[i];
 	}
 
@@ -3281,7 +3281,14 @@
 	uint8 lang     = grf_load_byte(&buf);
 	uint8 num      = grf_load_byte(&buf);
 	bool generic   = HasBit(lang, 7);
-	uint16 id      = generic ? grf_load_word(&buf) : grf_load_byte(&buf);
+	uint16 id;
+	if (generic) {
+		id = grf_load_word(&buf);
+	} else if (feature <= GSF_AIRCRAFT) {
+		id = grf_load_extended(&buf);
+	} else {
+		id = grf_load_byte(&buf);
+	}
 
 	ClrBit(lang, 7);