--- a/economy.c Sun Oct 01 17:26:37 2006 +0000
+++ b/economy.c Sun Oct 01 17:56:38 2006 +0000
@@ -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 @@
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);
}
--- a/newgrf_sound.c Sun Oct 01 17:26:37 2006 +0000
+++ b/newgrf_sound.c Sun Oct 01 17:56:38 2006 +0000
@@ -68,6 +68,6 @@
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;
}