From 0a644af019bdd3567707e6dfe470be674c26db57 Mon Sep 17 00:00:00 2001 From: yexo Date: Tue, 24 Aug 2010 16:30:31 +0000 Subject: (svn r20611) -Fix: disable newgrf houses that have a different size then their substitute type --- src/newgrf.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/newgrf.cpp') diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 7b2edda0e..ff881e539 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -7093,6 +7093,13 @@ static void FinaliseHouseArray() continue; } + /* Substitute type is also used for override, and having an override with a different size causes crashes. */ + if ((hs->building_flags & BUILDING_HAS_1_TILE) != (HouseSpec::Get(hs->grf_prop.subst_id)->building_flags & BUILDING_HAS_1_TILE)) { + hs->enabled = false; + DEBUG(grf, 1, "FinaliseHouseArray: %s defines house %d with different house size then it's substitute type. Disabling house.", (*file)->filename, hs->grf_prop.local_id); + continue; + } + _house_mngr.SetEntitySpec(hs); if (hs->min_year < min_year) min_year = hs->min_year; } -- cgit v1.2.3-54-g00ecf