summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--newgrf.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/newgrf.c b/newgrf.c
index 155afa828..a4525efb3 100644
--- a/newgrf.c
+++ b/newgrf.c
@@ -214,13 +214,21 @@ static bool RailVehicleChangeInfo(uint engine, int numinfo, int prop, byte **buf
bool ret = false;
switch (prop) {
- case 0x05: { /* Track type */
+ case 0x05: // Track type
FOR_EACH_OBJECT {
uint8 tracktype = grf_load_byte(&buf);
- ei[i].railtype = tracktype;
+ switch (tracktype) {
+ case 0: ei[i].railtype = RAILTYPE_RAIL; break;
+ case 1: ei[i].railtype = RAILTYPE_MONO; break;
+ case 2: ei[i].railtype = RAILTYPE_MAGLEV; break;
+ default:
+ grfmsg(GMS_WARN, "RailVehicleChangeInfo: Invalid track type %d specified, ignoring.", tracktype);
+ break;
+ }
}
- } break;
+ break;
+
case 0x08: { /* AI passenger service */
/* TODO */
FOR_EACH_OBJECT {