From e887f85a446f7a10e5dd390cb6c618f262e97189 Mon Sep 17 00:00:00 2001 From: Sevenfm Date: Tue, 25 Jan 2022 04:15:39 +0000 Subject: [PATCH] ProcessNoise: fixed incorrect noise terrain check. Reverted r9259. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9274 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Tactical/Handle Doors.cpp | 18 ++++-------------- Tactical/opplist.cpp | 11 +---------- 2 files changed, 5 insertions(+), 24 deletions(-) diff --git a/Tactical/Handle Doors.cpp b/Tactical/Handle Doors.cpp index 5d0df347..2c0b4fc8 100644 --- a/Tactical/Handle Doors.cpp +++ b/Tactical/Handle Doors.cpp @@ -51,7 +51,6 @@ #endif BOOLEAN gfSetPerceivedDoorState = FALSE; -extern BOOLEAN gfPlayerMercHeardNoise; BOOLEAN HandleDoorsOpenClose( SOLDIERTYPE *pSoldier, INT32 sGridNo, STRUCTURE * pStructure, BOOLEAN fNoAnimations ); @@ -1161,9 +1160,6 @@ 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 @@ -1284,11 +1280,8 @@ BOOLEAN HandleDoorsOpenClose( SOLDIERTYPE *pSoldier, INT32 sGridNo, STRUCTURE * uiSoundID = METAL_DOOR_OPEN; } - 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)); - } + // 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) || @@ -1414,11 +1407,8 @@ BOOLEAN HandleDoorsOpenClose( SOLDIERTYPE *pSoldier, INT32 sGridNo, STRUCTURE * uiSoundID = METAL_DOOR_CLOSE; } - 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)); - } + // 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)); } } diff --git a/Tactical/opplist.cpp b/Tactical/opplist.cpp index 2cd84d82..c4e10d0c 100644 --- a/Tactical/opplist.cpp +++ b/Tactical/opplist.cpp @@ -5784,8 +5784,6 @@ void TheirNoise(UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType // else if noiseMaker's NOBODY, no opplist changes or interrupts are possible } -BOOLEAN gfPlayerMercHeardNoise = FALSE; - void ProcessNoise(UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType, UINT8 ubBaseVolume, UINT8 ubNoiseType, STR16 zNoiseMessage ) { SOLDIERTYPE *pSoldier; @@ -5853,14 +5851,13 @@ void ProcessNoise(UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrTy */ // if we have now somehow obtained a valid terrain type //shadooow: and it is not a noise from doors - if (ubNoiseType != NOISE_CREAKING && ((ubSourceTerrType >= FLAT_GROUND) || (ubSourceTerrType <= DEEP_WATER))) + if (ubNoiseType != NOISE_CREAKING && ubSourceTerrType >= FLAT_GROUND && ubSourceTerrType <= DEEP_WATER) { //NumMessage("Source Terrain Type = ",ubSourceTerrType); bCheckTerrain = TRUE; } // else give up trying to get terrain type, just assume sound isn't muffled - // DETERMINE THE *PERCEIVED* SOURCE OF THE NOISE switch (ubNoiseType) { @@ -6022,12 +6019,6 @@ void ProcessNoise(UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrTy // Can the listener hear noise of that volume given his circumstances? ubEffVolume = CalcEffVolume(pSoldier, sGridNo, bLevel, ubNoiseType, ubBaseVolume, bCheckTerrain, pSoldier->bOverTerrainType, ubSourceTerrType); - // sevenfm: indicate that player team heard noise - if (bTeam == gbPlayerNum && ubEffVolume > 0) - { - gfPlayerMercHeardNoise = TRUE; - } - // if a the noise maker is a person, not just NOBODY if (ubNoiseMaker < TOTAL_SOLDIERS) {