Convert to SoldierID

This commit is contained in:
Asdow
2024-11-19 00:55:36 +02:00
parent 3f448a62fb
commit 5b4be9bcdb
+41 -37
View File
@@ -166,8 +166,8 @@ void InsuranceContractUserTextFieldCallBack( UINT8 ubID, BOOLEAN fEntering );
INT8 CountInsurableMercs();
void DisableInsuranceContractNextPreviousbuttons();
void CreateDestroyInsuranceContractFormButtons( BOOLEAN fCreate);
void HandleAcceptButton( UINT16 ubSoldierID, UINT8 ubFormID );
FLOAT DiffFromNormRatio( INT16 sThisValue, INT16 sNormalValue );
void HandleAcceptButton( SoldierID ubSoldierID, UINT8 ubFormID );
FLOAT DiffFromNormRatio( INT16 sThisValue, INT16 sNormalValue );
void InsContractNoMercsPopupCallBack( UINT8 bExitValue );
void BuildInsuranceArray();
BOOLEAN MercIsInsurable( SOLDIERTYPE *pSoldier );
@@ -177,8 +177,8 @@ UINT32 GetTimeRemainingOnSoldiersContract( SOLDIERTYPE *pSoldier );
UINT32 GetTimeRemainingOnSoldiersInsuranceContract( SOLDIERTYPE *pSoldier );
void EnableDisableIndividualInsuranceContractButton( UINT8 ubMercIDForMercInForm1, UINT32 *puiAcceptButton );
BOOLEAN CanSoldierExtendInsuranceContract( SOLDIERTYPE *pSoldier );
INT32 CalculateSoldiersInsuranceContractLength( SOLDIERTYPE *pSoldier );
INT32 CalcStartDayOfInsurance( SOLDIERTYPE *pSoldier );
INT32 CalculateSoldiersInsuranceContractLength( SOLDIERTYPE *pSoldier );
INT32 CalcStartDayOfInsurance( SOLDIERTYPE *pSoldier );
BOOLEAN AreAnyAimMercsOnTeam( );
//ppp
@@ -394,12 +394,14 @@ void RenderInsuranceContract()
{
sMercID = gubInsuranceMercArray[ sNextMercID ];
pSoldier = &Menptr[ GetSoldierIDFromMercID( (UINT8) sMercID ) ];
if( ( sMercID != -1 ) && MercIsInsurable( pSoldier ) )
SoldierID ID = GetSoldierIDFromMercID( sMercID );
if ( ID != NOBODY )
{
DisplayOrderGrid( ubCount, (UINT8)sMercID );
ubCount++;
if( ( sMercID != -1 ) && MercIsInsurable( ID ) )
{
DisplayOrderGrid( ubCount, (UINT8)sMercID );
ubCount++;
}
}
sNextMercID++;
@@ -499,18 +501,22 @@ void BtnInsContractNextButtonCallBack(GUI_BUTTON *btn,INT32 reason)
BOOLEAN DisplayOrderGrid( UINT8 ubGridNumber, UINT8 ubMercID )
{
VOBJECT_DESC VObjectDesc;
HVOBJECT hPixHandle;
UINT16 usPosX, usPosY;
UINT32 uiInsMercFaceImage;
INT32 iCostOfContract=0;
char sTemp[100];
CHAR16 sText[800];
BOOLEAN fDisplayMercContractStateTextColorInRed = FALSE;
SOLDIERTYPE *pSoldier = &Menptr[ GetSoldierIDFromMercID( ubMercID ) ];
VOBJECT_DESC VObjectDesc;
HVOBJECT hPixHandle;
UINT16 usPosX, usPosY;
UINT32 uiInsMercFaceImage;
INT32 iCostOfContract=0;
char sTemp[100];
CHAR16 sText[800];
BOOLEAN fDisplayMercContractStateTextColorInRed = FALSE;
SoldierID usID = GetSoldierIDFromMercID( ubMercID );
if ( usID == NOBODY )
{
return(FALSE);
}
SOLDIERTYPE *pSoldier = usID;
usPosX=usPosY=0;
switch( ubGridNumber )
@@ -747,8 +753,8 @@ void BtnInsuranceAcceptClearForm1ButtonCallback(GUI_BUTTON *btn,INT32 reason)
{
if (btn->uiFlags & BUTTON_CLICKED_ON)
{
UINT8 ubButton = (UINT8) MSYS_GetBtnUserData( btn, 0 );
INT16 ubSoldierID = GetSoldierIDFromMercID( gubMercIDForMercInForm1 );
UINT8 ubButton = (UINT8) MSYS_GetBtnUserData( btn, 0 );
SoldierID ubSoldierID = GetSoldierIDFromMercID( gubMercIDForMercInForm1 );
btn->uiFlags &= (~BUTTON_CLICKED_ON );
@@ -759,7 +765,7 @@ void BtnInsuranceAcceptClearForm1ButtonCallback(GUI_BUTTON *btn,INT32 reason)
HandleAcceptButton( ubSoldierID, 1 );
//specify the length of the insurance contract
Menptr[ ubSoldierID ].iTotalLengthOfInsuranceContract = gsForm1InsuranceLengthNumber;
ubSoldierID->iTotalLengthOfInsuranceContract = gsForm1InsuranceLengthNumber;
//reset the insurance length
gsForm1InsuranceLengthNumber = 0;
@@ -791,8 +797,8 @@ void BtnInsuranceAcceptClearForm2ButtonCallback(GUI_BUTTON *btn,INT32 reason)
{
if (btn->uiFlags & BUTTON_CLICKED_ON)
{
UINT8 ubButton = (UINT8) MSYS_GetBtnUserData( btn, 0 );
INT16 ubSoldierID = GetSoldierIDFromMercID( gubMercIDForMercInForm2 );
UINT8 ubButton = (UINT8) MSYS_GetBtnUserData( btn, 0 );
SoldierID ubSoldierID = GetSoldierIDFromMercID( gubMercIDForMercInForm2 );
btn->uiFlags &= (~BUTTON_CLICKED_ON );
@@ -803,7 +809,7 @@ void BtnInsuranceAcceptClearForm2ButtonCallback(GUI_BUTTON *btn,INT32 reason)
HandleAcceptButton( ubSoldierID, 2 );
//specify the length of the insurance contract
Menptr[ ubSoldierID ].iTotalLengthOfInsuranceContract = gsForm2InsuranceLengthNumber;
ubSoldierID->iTotalLengthOfInsuranceContract = gsForm2InsuranceLengthNumber;
//reset the insurance length
gsForm2InsuranceLengthNumber = 0;
@@ -836,8 +842,8 @@ void BtnInsuranceAcceptClearForm3ButtonCallback(GUI_BUTTON *btn,INT32 reason)
{
if (btn->uiFlags & BUTTON_CLICKED_ON)
{
UINT8 ubButton = (UINT8) MSYS_GetBtnUserData( btn, 0 );
INT16 ubSoldierID = GetSoldierIDFromMercID( gubMercIDForMercInForm3 );
UINT8 ubButton = (UINT8) MSYS_GetBtnUserData( btn, 0 );
SoldierID ubSoldierID = GetSoldierIDFromMercID( gubMercIDForMercInForm3 );
btn->uiFlags &= (~BUTTON_CLICKED_ON );
@@ -848,7 +854,7 @@ void BtnInsuranceAcceptClearForm3ButtonCallback(GUI_BUTTON *btn,INT32 reason)
HandleAcceptButton( ubSoldierID, 3 );
//specify the length of the insurance contract
Menptr[ ubSoldierID ].iTotalLengthOfInsuranceContract = gsForm3InsuranceLengthNumber;
ubSoldierID->iTotalLengthOfInsuranceContract = gsForm3InsuranceLengthNumber;
//reset the insurance length
gsForm3InsuranceLengthNumber = 0;
@@ -1067,12 +1073,12 @@ void CreateDestroyInsuranceContractFormButtons( BOOLEAN fCreate)
void HandleAcceptButton( UINT16 ubSoldierID, UINT8 ubFormID )
void HandleAcceptButton( SoldierID ubSoldierID, UINT8 ubFormID )
{
//passed in either 1,2,3 should be 0,1,2
ubFormID--;
PurchaseOrExtendInsuranceForSoldier( &Menptr[ ubSoldierID ], CalculateSoldiersInsuranceContractLength( &Menptr[ ubSoldierID ] ) );
PurchaseOrExtendInsuranceForSoldier( ubSoldierID, CalculateSoldiersInsuranceContractLength( ubSoldierID ) );
RenderInsuranceContract();
}
@@ -1139,7 +1145,7 @@ INT32 CalculateInsuranceContractCost( INT32 iLength, UINT8 ubMercID )
SOLDIERTYPE *pSoldier;
pSoldier = &Menptr[ GetSoldierIDFromMercID( ubMercID ) ];
pSoldier = GetSoldierIDFromMercID( ubMercID );
// only mercs with at least 2 days to go on their employment contract are insurable
@@ -1458,7 +1464,7 @@ void EndInsuranceInvestigation( UINT16 ubPayoutID )
void InsuranceContractPayLifeInsuranceForDeadMerc( UINT16 ubPayoutID )
{
//if the mercs id number is the same what is in the soldier array
if( LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubSoldierID == Menptr[ LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubSoldierID ].ubID )
if( LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubSoldierID == LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubSoldierID->ubID )
{
// and if the soldier is still active ( player hasn't removed carcass yet ), reset insurance flag
if( LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubSoldierID->bActive )
@@ -1552,14 +1558,12 @@ void EnableDisableInsuranceContractAcceptButtons()
void EnableDisableIndividualInsuranceContractButton( UINT8 ubMercIDForMercInForm, UINT32 *puiAcceptButton )
{
INT16 sSoldierID = 0;
sSoldierID = GetSoldierIDFromMercID( ubMercIDForMercInForm );
if( sSoldierID == - 1)
SoldierID sSoldierID = GetSoldierIDFromMercID( ubMercIDForMercInForm );
if( sSoldierID == NOBODY)
return;
// if the soldiers contract can be extended, enable the button
if( CanSoldierExtendInsuranceContract( &Menptr[ sSoldierID ] ) )
if( CanSoldierExtendInsuranceContract( sSoldierID ) )
EnableButton( *puiAcceptButton );
// else the soldier cant extend their insurance contract, disable the button