From a9fa54e69a9091a9aacd5048e20ff58003256540 Mon Sep 17 00:00:00 2001 From: Shadooow Date: Fri, 14 Jan 2022 22:12:18 +0000 Subject: [PATCH] Fixed not being able to remove vehicle from merc list. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9255 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Strategic/Assignments.cpp | 8 ++++---- Tactical/Militia Control.cpp | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Strategic/Assignments.cpp b/Strategic/Assignments.cpp index 12eb27369..f9da4dafc 100644 --- a/Strategic/Assignments.cpp +++ b/Strategic/Assignments.cpp @@ -670,7 +670,7 @@ BOOLEAN BasicCanCharacterDrillMilitia( SOLDIERTYPE *pSoldier ); // Can this character EVER work in any facility? BOOLEAN BasicCanCharacterFacility( SOLDIERTYPE *pSoldier ); -SOLDIERTYPE *GetSelectedAssignSoldier( BOOLEAN fNullOK ); +SOLDIERTYPE *GetSelectedAssignSoldier( BOOLEAN fNullOK, BOOLEAN fReturnVehicleDriver = TRUE ); BOOLEAN RepairObject( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pOwner, OBJECTTYPE * pObj, UINT8 * pubRepairPtsLeft ); BOOLEAN CleanObject( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pOwner, OBJECTTYPE * pObj, UINT8 * pubCleaningPtsLeft ); @@ -12614,7 +12614,7 @@ void SquadMenuMvtCallBack(MOUSE_REGION * pRegion, INT32 iReason ) void RemoveMercMenuBtnCallback( MOUSE_REGION * pRegion, INT32 iReason ) { // btn callback handler for contract region - SOLDIERTYPE* pSoldier = GetSelectedAssignSoldier( FALSE ); + SOLDIERTYPE* pSoldier = GetSelectedAssignSoldier( FALSE, FALSE ); INT32 iValue = MSYS_GetRegionUserData( pRegion, 0 ); if (iReason & MSYS_CALLBACK_REASON_LBUTTON_UP) @@ -19429,7 +19429,7 @@ BOOLEAN CanCharacterRepairAnotherSoldiersStuff( SOLDIERTYPE *pSoldier, SOLDIERTY return( TRUE ); } -SOLDIERTYPE *GetSelectedAssignSoldier( BOOLEAN fNullOK ) +SOLDIERTYPE *GetSelectedAssignSoldier( BOOLEAN fNullOK, BOOLEAN fReturnVehicleDriver ) { SOLDIERTYPE *pSoldier = NULL; @@ -19459,7 +19459,7 @@ SOLDIERTYPE *GetSelectedAssignSoldier( BOOLEAN fNullOK ) Assert( pSoldier->bActive ); // anv: don't assert, handle... //Assert( !( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) ); - if( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) + if(fReturnVehicleDriver && pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) { pSoldier = GetDriver( pSoldier->iVehicleId ); } diff --git a/Tactical/Militia Control.cpp b/Tactical/Militia Control.cpp index 895739cf2..76331c01d 100644 --- a/Tactical/Militia Control.cpp +++ b/Tactical/Militia Control.cpp @@ -103,7 +103,7 @@ void RebuildMilitiaControlBox( void ); //funktions for soldier control extern INT8 SearchForItems( SOLDIERTYPE * pSoldier, INT8 bReason, UINT16 usItem ); -extern SOLDIERTYPE *GetSelectedAssignSoldier( BOOLEAN fNullOK ); +extern SOLDIERTYPE *GetSelectedAssignSoldier( BOOLEAN fNullOK, BOOLEAN fReturnVehicleDriver = TRUE ); extern SOLDIERTYPE *pTMilitiaSoldier; extern BOOLEAN SoldierCanAffordNewStance( SOLDIERTYPE *pSoldier, UINT8 ubDesiredStance );