From efd322ca83cc673f3427c9bcdee9287fac4a1b57 Mon Sep 17 00:00:00 2001 From: "Marco Antonio J. Costa" Date: Sat, 23 Aug 2025 23:57:00 -0300 Subject: [PATCH] Actually fix NOTIFY_IF_SLEEP_FAILS for multiple mercs selected --- Strategic/Assignments.cpp | 15 ++------------- Strategic/mapscreen.cpp | 6 +++--- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/Strategic/Assignments.cpp b/Strategic/Assignments.cpp index b548c20b6..63eab1f47 100644 --- a/Strategic/Assignments.cpp +++ b/Strategic/Assignments.cpp @@ -18305,21 +18305,10 @@ BOOLEAN HandleSelectedMercsBeingPutAsleep( BOOLEAN fWakeUp, BOOLEAN fDisplayWarn } } - if( ubNumberOfSelectedSoldiers == 0 ) - { - return fSuccess; - } - - if( !fDisplayWarning ) { - return fSuccess; - } - - CHAR16 sString[ 128 ]; - swprintf( sString, fWakeUp ? pMapErrorString[ 27 ] : pMapErrorString[ 26 ] ); - if( gGameExternalOptions.fSleepDisplayFailNotification ) + if( ubNumberOfSelectedSoldiers && !fSuccess && fDisplayWarning ) { // inform player not everyone could be woke up or put to sleep - DoScreenIndependantMessageBox( sString, MSG_BOX_FLAG_OK, NULL); + DoScreenIndependantMessageBox(fWakeUp ? pMapErrorString[27] : pMapErrorString[26], MSG_BOX_FLAG_OK, NULL); } return( fSuccess ); diff --git a/Strategic/mapscreen.cpp b/Strategic/mapscreen.cpp index 2703c65a2..054ce60af 100644 --- a/Strategic/mapscreen.cpp +++ b/Strategic/mapscreen.cpp @@ -11897,12 +11897,12 @@ void TeamListSleepRegionBtnCallBack( MOUSE_REGION *pRegion, INT32 iReason ) if( pSoldier->flags.fMercAsleep == TRUE ) { // try to wake him up - if( SetMercAwake( pSoldier, TRUE, FALSE ) ) + if( SetMercAwake( pSoldier, gGameExternalOptions.fSleepDisplayFailNotification, FALSE ) ) { // HEADROCK HAM B2.8: New feature wakes all trainees/trainers automatically HandleTrainingWakeSynchronize( pSoldier ); // propagate - HandleSelectedMercsBeingPutAsleep( TRUE, TRUE ); + HandleSelectedMercsBeingPutAsleep( TRUE, gGameExternalOptions.fSleepDisplayFailNotification); return; } else @@ -11919,7 +11919,7 @@ void TeamListSleepRegionBtnCallBack( MOUSE_REGION *pRegion, INT32 iReason ) // HEADROCK HAM B2.8: New feature sends all trainees/trainers to sleep automatically HandleTrainingSleepSynchronize( pSoldier ); // propagate - HandleSelectedMercsBeingPutAsleep( FALSE, TRUE ); + HandleSelectedMercsBeingPutAsleep( FALSE, gGameExternalOptions.fSleepDisplayFailNotification); return; } else