summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/newgrf.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/newgrf.cpp b/src/newgrf.cpp
index 353034423..1ce7a2832 100644
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -2948,7 +2948,7 @@ static void VehicleMapSpriteGroup(byte *buf, byte feature, uint8 idcount)
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 @@ static void FeatureNewName(byte *buf, size_t len)
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);