Improved door noise sound playing: only play sound if merc opening/closing door is visible on screen or if player team hears noise from door.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9259 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Sevenfm
2022-01-16 13:33:11 +00:00
parent 5bb4de2484
commit 94b7d5611d
2 changed files with 24 additions and 10 deletions
+14 -5
View File
@@ -51,7 +51,7 @@
#endif
BOOLEAN gfSetPerceivedDoorState = FALSE;
extern BOOLEAN gfPlayerMercHeardNoise;
BOOLEAN HandleDoorsOpenClose( SOLDIERTYPE *pSoldier, INT32 sGridNo, STRUCTURE * pStructure, BOOLEAN fNoAnimations );
@@ -1161,6 +1161,9 @@ BOOLEAN HandleDoorsOpenClose( SOLDIERTYPE *pSoldier, INT32 sGridNo, STRUCTURE *
cnt++;
};
// sevenfm: reset code to detect heard noise
gfPlayerMercHeardNoise = FALSE;
if (pSoldier && pSoldier->ubDoorOpeningNoise > 0)
{
//shadooow: noise handling moved here so we can work with modified value of pSoldier->ubDoorOpeningNoise
@@ -1281,8 +1284,11 @@ BOOLEAN HandleDoorsOpenClose( SOLDIERTYPE *pSoldier, INT32 sGridNo, STRUCTURE *
uiSoundID = METAL_DOOR_OPEN;
}
// OK, We must know what sound to play, for now use same sound for all doors...
PlayJA2Sample( uiSoundID, RATE_11025, SoundVolume( MIDVOLUME, sGridNo ), 1, SoundDir( sGridNo ) );
if (pSoldier && pSoldier->bVisible == TRUE || gfPlayerMercHeardNoise)
{
// OK, We must know what sound to play, for now use same sound for all doors...
PlayJA2Sample(uiSoundID, RATE_11025, SoundVolume(MIDVOLUME, sGridNo), 1, SoundDir(sGridNo));
}
}
if (((gWorldSectorX == gModSettings.ubInitialPOWSectorX && gWorldSectorY == gModSettings.ubInitialPOWSectorY) ||
@@ -1408,8 +1414,11 @@ BOOLEAN HandleDoorsOpenClose( SOLDIERTYPE *pSoldier, INT32 sGridNo, STRUCTURE *
uiSoundID = METAL_DOOR_CLOSE;
}
// OK, We must know what sound to play, for now use same sound for all doors...
PlayJA2Sample(uiSoundID, RATE_11025, SoundVolume(MIDVOLUME, sGridNo), 1, SoundDir(sGridNo));
if (pSoldier && pSoldier->bVisible == TRUE || gfPlayerMercHeardNoise)
{
// OK, We must know what sound to play, for now use same sound for all doors...
PlayJA2Sample(uiSoundID, RATE_11025, SoundVolume(MIDVOLUME, sGridNo), 1, SoundDir(sGridNo));
}
}
}