summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--economy.c5
-rw-r--r--newgrf_sound.c2
2 files changed, 5 insertions, 2 deletions
diff --git a/economy.c b/economy.c
index c2984123d..5a66be14c 100644
--- a/economy.c
+++ b/economy.c
@@ -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;
}