1
0
Fork 0

(svn r20995) [1.0] -Backport from trunk:

- Fix: When removing a rail station, do not leave track under non-station tiles (r20990)
- Fix: [NewGRF] Ignore the variable for Action7/9 condition type 0x0D and 0x0E as documented (r20979)
- Fix: Helicopters fired a bit too late [FS#4155] (r20910)
release/1.0
rubidium 2010-10-19 20:38:21 +00:00
parent 9db8351def
commit d48a03cb14
5 changed files with 13 additions and 9 deletions

View File

@ -2909,7 +2909,8 @@
- Fix: A lot of old AI fixed - Fix: A lot of old AI fixed
- Fix: All scenarios, savegames show up with their correct name - Fix: All scenarios, savegames show up with their correct name
- Fix: Automatic oil refinery generation in editor - Fix: Automatic oil refinery generation in editor
- Fix: Autosave folder was not created on MorphOS- Fix: Bridge slope fix again, thanks Truelight - Fix: Autosave folder was not created on MorphOS
- Fix: Bridge slope fix again
- Fix: Bulldozing stuff with cheat magic_dynamite turned on does not lower city ratings - Fix: Bulldozing stuff with cheat magic_dynamite turned on does not lower city ratings
- Fix: Change SDL_HWSURFACE back to SDL_SWSURFACE (Diablo-3D); better performance - Fix: Change SDL_HWSURFACE back to SDL_SWSURFACE (Diablo-3D); better performance
- Fix: Coast line near edge of map and near oilrigs - Fix: Coast line near edge of map and near oilrigs

View File

@ -2,7 +2,7 @@ openttd (1.0.4-0) unstable; urgency=low
* New upstream release 1.0.4 * New upstream release 1.0.4
-- Matthijs Kooijman <matthijs@stdin.nl> Tue, 14 Sepg 2010 20:00:00 +0000 -- Matthijs Kooijman <matthijs@stdin.nl> Tue, 14 Sep 2010 20:00:00 +0000
openttd (1.0.4~rc1-0) unstable; urgency=low openttd (1.0.4~rc1-0) unstable; urgency=low

View File

@ -422,7 +422,7 @@ static bool DisasterTick_Aircraft(DisasterVehicle *v, uint16 image_override, boo
SndPlayTileFx(SND_12_EXPLOSION, i->location.tile); SndPlayTileFx(SND_12_EXPLOSION, i->location.tile);
} }
} else if (v->current_order.GetDestination() == 0) { } else if (v->current_order.GetDestination() == 0) {
int x = v->x_pos - (15 * TILE_SIZE); int x = v->x_pos + ((leave_at_top ? -15 : 15) * TILE_SIZE);
int y = v->y_pos; int y = v->y_pos;
if ((uint)x > MapMaxX() * TILE_SIZE - 1) return true; if ((uint)x > MapMaxX() * TILE_SIZE - 1) return true;

View File

@ -4451,12 +4451,13 @@ static void SkipIf(ByteReader *buf)
/* /*
* Parameter (variable in specs) 0x88 can only have GRF ID checking * Parameter (variable in specs) 0x88 can only have GRF ID checking
* conditions, except conditions 0x0B and 0x0C (cargo availability) * conditions, except conditions 0x0B, 0x0C (cargo availability) and
* as those ignore the parameter. So, when the condition type is * 0x0D, 0x0E (Rail type availability) as those ignore the parameter.
* either of those, the specific variable 0x88 code is skipped, so * So, when the condition type is one of those, the specific variable
* the "general" code for the cargo availability conditions kicks in. * 0x88 code is skipped, so the "general" code for the cargo
* availability conditions kicks in.
*/ */
if (param == 0x88 && condtype != 0x0B && condtype != 0x0C) { if (param == 0x88 && (condtype < 0x0B || condtype > 0x0E)) {
/* GRF ID checks */ /* GRF ID checks */
GRFConfig *c = GetGRFConfig(cond_val, mask); GRFConfig *c = GetGRFConfig(cond_val, mask);

View File

@ -1282,8 +1282,10 @@ CommandCost RemoveFromRailBaseStation(TileArea ta, SmallVector<T *, 4> &affected
} }
} }
bool build_rail = keep_rail && !IsStationTileBlocked(tile);
DoClearSquare(tile); DoClearSquare(tile);
if (keep_rail) MakeRailNormal(tile, owner, TrackToTrackBits(track), rt); if (build_rail) MakeRailNormal(tile, owner, TrackToTrackBits(track), rt);
st->rect.AfterRemoveTile(st, tile); st->rect.AfterRemoveTile(st, tile);
AddTrackToSignalBuffer(tile, track, owner); AddTrackToSignalBuffer(tile, track, owner);