diff -r 1768ca0091cb -r 136a08baf0ed src/newgrf_engine.cpp --- a/src/newgrf_engine.cpp Thu Jun 21 13:56:59 2007 +0000 +++ b/src/newgrf_engine.cpp Thu Jun 21 14:32:27 2007 +0000 @@ -727,19 +727,19 @@ case 0x4F: return GB(v->reliability, 8, 8); case 0x50: return v->reliability_spd_dec; case 0x51: return GB(v->reliability_spd_dec, 8, 8); - case 0x52: return v->profit_this_year; - case 0x53: return GB(v->profit_this_year, 8, 24); - case 0x54: return GB(v->profit_this_year, 16, 16); - case 0x55: return GB(v->profit_this_year, 24, 8); - case 0x56: return v->profit_last_year; - case 0x57: return GB(v->profit_last_year, 8, 24); - case 0x58: return GB(v->profit_last_year, 16, 16); - case 0x59: return GB(v->profit_last_year, 24, 8); + case 0x52: return ClampToI32(v->profit_this_year); + case 0x53: return GB(ClampToI32(v->profit_this_year), 8, 24); + case 0x54: return GB(ClampToI32(v->profit_this_year), 16, 16); + case 0x55: return GB(ClampToI32(v->profit_this_year), 24, 8); + case 0x56: return ClampToI32(v->profit_last_year); + case 0x57: return GB(ClampToI32(v->profit_last_year), 8, 24); + case 0x58: return GB(ClampToI32(v->profit_last_year), 16, 16); + case 0x59: return GB(ClampToI32(v->profit_last_year), 24, 8); case 0x5A: return v->next == NULL ? INVALID_VEHICLE : v->next->index; - case 0x5C: return v->value; - case 0x5D: return GB(v->value, 8, 24); - case 0x5E: return GB(v->value, 16, 16); - case 0x5F: return GB(v->value, 24, 8); + case 0x5C: return ClampToI32(v->value); + case 0x5D: return GB(ClampToI32(v->value), 8, 24); + case 0x5E: return GB(ClampToI32(v->value), 16, 16); + case 0x5F: return GB(ClampToI32(v->value), 24, 8); case 0x60: return v->string_id; case 0x61: return GB(v->string_id, 8, 8); case 0x72: return v->cargo_subtype;