diff options
author | rubidium <rubidium@openttd.org> | 2009-01-09 14:59:02 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-01-09 14:59:02 +0000 |
commit | d19706013714c4b1f5b833ce7377118047f31a7c (patch) | |
tree | c50b9279882186f1767a0a6d05f3b4df148a5c93 /src/effectvehicle.cpp | |
parent | de9413454ee70662e1309b49bfd894ca1cf19063 (diff) | |
download | openttd-d19706013714c4b1f5b833ce7377118047f31a7c.tar.xz |
(svn r14933) -Codechange: check the whether a pool item can be constructed instead of trying to make it and check for NULL.
Diffstat (limited to 'src/effectvehicle.cpp')
-rw-r--r-- | src/effectvehicle.cpp | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/src/effectvehicle.cpp b/src/effectvehicle.cpp index 62337993c..e4371cf45 100644 --- a/src/effectvehicle.cpp +++ b/src/effectvehicle.cpp @@ -609,22 +609,23 @@ static EffectTickProc * const _effect_tick_procs[] = { Vehicle *CreateEffectVehicle(int x, int y, int z, EffectVehicleType type) { + if (!Vehicle::CanAllocateItem()) return NULL; + Vehicle *v = new EffectVehicle(); - if (v != NULL) { - v->subtype = type; - v->x_pos = x; - v->y_pos = y; - v->z_pos = z; - v->tile = 0; - v->UpdateDeltaXY(INVALID_DIR); - v->vehstatus = VS_UNCLICKABLE; + v->subtype = type; + v->x_pos = x; + v->y_pos = y; + v->z_pos = z; + v->tile = 0; + v->UpdateDeltaXY(INVALID_DIR); + v->vehstatus = VS_UNCLICKABLE; - _effect_init_procs[type](v); + _effect_init_procs[type](v); + + VehiclePositionChanged(v); + BeginVehicleMove(v); + EndVehicleMove(v); - VehiclePositionChanged(v); - BeginVehicleMove(v); - EndVehicleMove(v); - } return v; } |