# HG changeset patch # User peter1138 # Date 1183839421 0 # Node ID 76710ad9f67c833e54a7b3f1925c8c19a761181e # Parent 0ed68892bc294ed39cb094c8b2c01322e44c6034 (svn r10470) -Fix: clamp station build date to 16 bit value for newgrf, preventing overflow and incorrect graphics shown past a certain date. diff -r 0ed68892bc29 -r 76710ad9f67c src/newgrf_station.cpp --- a/src/newgrf_station.cpp Sat Jul 07 17:36:01 2007 +0000 +++ b/src/newgrf_station.cpp Sat Jul 07 20:17:01 2007 +0000 @@ -378,7 +378,7 @@ case 0x42: return 0; // Rail type (XXX Get current type from GUI?) case 0x43: return _current_player; // Station owner case 0x44: return 2; // PBS status - case 0xFA: return max(_date - DAYS_TILL_ORIGINAL_BASE_YEAR, 0); // Build date + case 0xFA: return clamp(_date - DAYS_TILL_ORIGINAL_BASE_YEAR, 0, 65535); // Build date, clamped to a 16 bit value } *available = false; @@ -420,7 +420,7 @@ case 0xF3: return st->bus_stops->status; case 0xF6: return st->airport_flags; case 0xF7: return GB(st->airport_flags, 8, 8); - case 0xFA: return max(st->build_date - DAYS_TILL_ORIGINAL_BASE_YEAR, 0); + case 0xFA: return clamp(st->build_date - DAYS_TILL_ORIGINAL_BASE_YEAR, 0, 65535); } /* Handle cargo variables with parameter, 0x60 to 0x65 */