From 09b56d534c8f3616ab5076c2f3d417b5c3ed5019 Mon Sep 17 00:00:00 2001 From: Flugente Date: Thu, 4 Jul 2013 19:37:27 +0000 Subject: [PATCH] - print interrogation progress as float number - spy selftest in pointless without disguise - inventory explosion creates a sound git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6192 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Tactical/Faces.cpp | 9 +++++++-- Tactical/Handle Items.cpp | 3 ++- Tactical/Soldier Control.cpp | 3 +++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Tactical/Faces.cpp b/Tactical/Faces.cpp index ddf40fad9..e48508b5e 100644 --- a/Tactical/Faces.cpp +++ b/Tactical/Faces.cpp @@ -1625,6 +1625,7 @@ void HandleRenderFaceAdjustments( FACETYPE *pFace, BOOLEAN fDisplayBuffer, BOOLE BOOLEAN fDoIcon = FALSE; UINT32 uiRenderBuffer; INT16 sPtsAvailable = 0; + FLOAT bPtsAvailable = 0.0; // Flugente: sometimes, we want to display float values... UINT16 usMaximumPts = 0; CHAR16 sString[ 32 ]; UINT16 usTextWidth; @@ -2415,7 +2416,8 @@ void HandleRenderFaceAdjustments( FACETYPE *pFace, BOOLEAN fDisplayBuffer, BOOLE case FACILITY_INTERROGATE_PRISONERS: sIconIndex = 23; fDoIcon = TRUE; - sPtsAvailable = (INT16)( CalculateInterrogationValue(pSoldier, &usMaximumPts )/100 ); + //sPtsAvailable = (INT16)( CalculateInterrogationValue(pSoldier, &usMaximumPts )/100 ); + bPtsAvailable = (FLOAT)( CalculateInterrogationValue(pSoldier, &usMaximumPts )/100.0 ); fShowNumber = TRUE; fShowMaximum = TRUE; break; @@ -2450,7 +2452,10 @@ void HandleRenderFaceAdjustments( FACETYPE *pFace, BOOLEAN fDisplayBuffer, BOOLE if ( fShowMaximum ) { - swprintf( sString, L"%d/%d", sPtsAvailable, usMaximumPts ); + if ( pSoldier->bAssignment == FACILITY_INTERROGATE_PRISONERS ) + swprintf( sString, L"%2.2f/%d", bPtsAvailable, usMaximumPts ); + else + swprintf( sString, L"%d/%d", sPtsAvailable, usMaximumPts ); } else { diff --git a/Tactical/Handle Items.cpp b/Tactical/Handle Items.cpp index d5a5170f5..bb4af955c 100644 --- a/Tactical/Handle Items.cpp +++ b/Tactical/Handle Items.cpp @@ -5033,7 +5033,8 @@ void TacticalFunctionSelectionMessageBoxCallBack( UINT8 ubExitValue ) break; case 6: // test our disguise - gpTempSoldier->SpySelfTest(); + if ( gpTempSoldier->bSoldierFlagMask & (SOLDIER_COVERT_CIV|SOLDIER_COVERT_SOLDIER) ) + gpTempSoldier->SpySelfTest(); break; default: break; diff --git a/Tactical/Soldier Control.cpp b/Tactical/Soldier Control.cpp index 3fee0ac66..8f7306b3f 100644 --- a/Tactical/Soldier Control.cpp +++ b/Tactical/Soldier Control.cpp @@ -14263,6 +14263,9 @@ void SOLDIERTYPE::InventoryExplosion( void ) INT16 breathdamage = (INT16)(500 + Random(1500)); if ( bBreath - breathdamage < 0 ) breathdamage = bBreath; + + // Play sound + PlayJA2SampleFromFile( "Sounds\\Explode1.wav", RATE_11025, HIGHVOLUME, 1, MIDDLEPAN ); SoldierTakeDamage( 0, damage, 0, breathdamage, TAKE_DAMAGE_EXPLOSION, this->ubID, sGridNo, 0, TRUE );