diff options
author | peter1138 <peter1138@openttd.org> | 2008-08-31 15:26:46 +0000 |
---|---|---|
committer | peter1138 <peter1138@openttd.org> | 2008-08-31 15:26:46 +0000 |
commit | 7e88b7bb3e80c0b4bcbdccc43b4c6bd6b11b5c6e (patch) | |
tree | 41c62f1542206250297d709346ac8359424ca3a3 /src | |
parent | 6b86de13d638ea254c7569edac97fa04431b3a97 (diff) | |
download | openttd-7e88b7bb3e80c0b4bcbdccc43b4c6bd6b11b5c6e.tar.xz |
(svn r14201) -Codechange: [NewGRF] Don't continue processing an Action 0 if we didn't read the data for a property -- the data will be wrong for subsequent reads.
-Codechange: [NewGRF] *Do* continue processing if the value of a property is invalid, however.
Diffstat (limited to 'src')
-rw-r--r-- | src/newgrf.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/newgrf.cpp b/src/newgrf.cpp index fadb9f57d..44be5b158 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -1094,7 +1094,7 @@ static bool StationChangeInfo(uint stid, int numinfo, int prop, byte **bufp, int /* Check that the station we are modifying is defined. */ if (statspec == NULL && prop != 0x08) { grfmsg(2, "StationChangeInfo: Attempt to modify undefined station %u, ignoring", stid + i); - continue; + return false; } switch (prop) { @@ -1435,7 +1435,7 @@ static bool TownHouseChangeInfo(uint hid, int numinfo, int prop, byte **bufp, in if (prop != 0x08 && housespec == NULL) { grfmsg(2, "TownHouseChangeInfo: Attempt to modify undefined house %u. Ignoring.", hid + i); - continue; + return false; } switch (prop) { @@ -1451,7 +1451,7 @@ static bool TownHouseChangeInfo(uint hid, int numinfo, int prop, byte **bufp, in } else if (subs_id >= NEW_HOUSE_OFFSET) { /* The substitute id must be one of the original houses. */ grfmsg(2, "TownHouseChangeInfo: Attempt to use new house %u as substitute house for %u. Ignoring.", subs_id, hid + i); - return false; + continue; } /* Allocate space for this house. */ @@ -1909,7 +1909,7 @@ static bool SoundEffectChangeInfo(uint sid, int numinfo, int prop, byte **bufp, if (sound >= GetNumSounds()) { grfmsg(1, "SoundEffectChangeInfo: Sound %d not defined (max %d)", sound, GetNumSounds()); - continue; + return false; } switch (prop) { @@ -1965,7 +1965,7 @@ static bool IndustrytilesChangeInfo(uint indtid, int numinfo, int prop, byte **b if (prop != 0x08 && tsp == NULL) { grfmsg(2, "IndustryTilesChangeInfo: Attempt to modify undefined industry tile %u. Ignoring.", indtid + i); - continue; + return false; } switch (prop) { @@ -1976,7 +1976,7 @@ static bool IndustrytilesChangeInfo(uint indtid, int numinfo, int prop, byte **b if (subs_id >= NEW_INDUSTRYTILEOFFSET) { /* The substitute id must be one of the original industry tile. */ grfmsg(2, "IndustryTilesChangeInfo: Attempt to use new industry tile %u as substitute industry tile for %u. Ignoring.", subs_id, indtid + i); - return false; + continue; } /* Allocate space for this industry. */ @@ -2007,7 +2007,7 @@ static bool IndustrytilesChangeInfo(uint indtid, int numinfo, int prop, byte **b /* The industry being overridden must be an original industry. */ if (ovrid >= NEW_INDUSTRYTILEOFFSET) { grfmsg(2, "IndustryTilesChangeInfo: Attempt to override new industry tile %u with industry tile id %u. Ignoring.", ovrid, indtid + i); - return false; + continue; } _industile_mngr.Add(indtid + i, _cur_grffile->grfid, ovrid); @@ -2077,7 +2077,7 @@ static bool IndustriesChangeInfo(uint indid, int numinfo, int prop, byte **bufp, if (prop != 0x08 && indsp == NULL) { grfmsg(2, "IndustriesChangeInfo: Attempt to modify undefined industry %u. Ignoring.", indid + i); - continue; + return false; } switch (prop) { @@ -2093,7 +2093,7 @@ static bool IndustriesChangeInfo(uint indid, int numinfo, int prop, byte **bufp, } else if (subs_id >= NEW_INDUSTRYOFFSET) { /* The substitute id must be one of the original industry. */ grfmsg(2, "_industry_specs: Attempt to use new industry %u as substitute industry for %u. Ignoring.", subs_id, indid + i); - return false; + continue; } /* Allocate space for this industry. @@ -2120,7 +2120,7 @@ static bool IndustriesChangeInfo(uint indid, int numinfo, int prop, byte **bufp, /* The industry being overridden must be an original industry. */ if (ovrid >= NEW_INDUSTRYOFFSET) { grfmsg(2, "IndustriesChangeInfo: Attempt to override new industry %u with industry id %u. Ignoring.", ovrid, indid + i); - return false; + continue; } indsp->grf_prop.override = ovrid; _industry_mngr.Add(indid + i, _cur_grffile->grfid, ovrid); |