Mercurial > hg > openttd
changeset 16104:6d653b1a72fe draft
(svn r20797) -Fix: disable houses without a size that are available according to their building flags
author | yexo <yexo@openttd.org> |
---|---|
date | Mon, 13 Sep 2010 13:27:29 +0000 |
parents | 4e3a00897570 |
children | dc62a655c524 |
files | src/house.h src/newgrf.cpp |
diffstat | 2 files changed, 9 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/house.h +++ b/src/house.h @@ -80,7 +80,8 @@ HZ_TEMP = 0x1000, ///< 12 1000 can appear in temperate climate HZ_SUBARTC_BELOW = 0x2000, ///< 13 2000 can appear in sub-arctic climate below the snow line HZ_SUBTROPIC = 0x4000, ///< 14 4000 can appear in subtropical climate - HZ_TOYLND = 0x8000 ///< 15 8000 can appear in toyland climate + HZ_TOYLND = 0x8000, ///< 15 8000 can appear in toyland climate + HZ_CLIMALL = 0xF800, ///< Bitmask of all climate bits }; DECLARE_ENUM_AS_BIT_SET(HouseZones)
--- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -7318,6 +7318,13 @@ return false; } + /* Make sure that additional parts of multitile houses are not available. */ + if ((hs->building_flags & BUILDING_HAS_1_TILE) == 0 && (hs->building_availability & HZ_ZONALL) != 0 && (hs->building_availability & HZ_CLIMALL) != 0) { + hs->enabled = false; + if (filename != NULL) DEBUG(grf, 1, "FinaliseHouseArray: %s defines house %d without a size but marked it as available. Disabling house.", filename, hs->grf_prop.local_id); + return false; + } + return true; }