diff options
-rw-r--r-- | economy.c | 5 | ||||
-rw-r--r-- | newgrf_sound.c | 2 |
2 files changed, 5 insertions, 2 deletions
@@ -28,6 +28,7 @@ #include "ai/ai.h" #include "train.h" #include "newgrf_engine.h" +#include "newgrf_sound.h" #include "unmovable.h" #include "date.h" @@ -1464,7 +1465,9 @@ int LoadUnloadVehicle(Vehicle *v) v->profit_this_year += profit; SubtractMoneyFromPlayer(-profit); - if (IsLocalPlayer()) SndPlayVehicleFx(SND_14_CASHTILL, v); + if (IsLocalPlayer() && !PlayVehicleSound(v, VSE_LOAD_UNLOAD)) { + SndPlayVehicleFx(SND_14_CASHTILL, v); + } ShowCostOrIncomeAnimation(v->x_pos, v->y_pos, v->z_pos, -profit); } diff --git a/newgrf_sound.c b/newgrf_sound.c index 7d746f712..990629e82 100644 --- a/newgrf_sound.c +++ b/newgrf_sound.c @@ -68,6 +68,6 @@ bool PlayVehicleSound(const Vehicle *v, VehicleSoundEvent event) if (callback == CALLBACK_FAILED) return false; if (callback >= GetNumOriginalSounds()) callback += file->sound_offset - GetNumOriginalSounds(); - SndPlayVehicleFx(callback, v); + if (callback < GetNumSounds()) SndPlayVehicleFx(callback, v); return true; } |