Merged New Inventory Project into main branch

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@1871 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
lalien
2008-03-08 15:15:25 +00:00
parent e16d166277
commit 43ca24dda8
649 changed files with 93359 additions and 82507 deletions
+103 -106
View File
@@ -124,7 +124,7 @@ INT16 gsMaxPlayersOnTeam;
//link to the varios pages
MOUSE_REGION gSelectedInsuranceContractLinkRegion[2];
MOUSE_REGION gSelectedInsuranceContractLinkRegion[2];
void SelectInsuranceContractRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
INT32 guiInsContractPrevButtonImage;
@@ -203,7 +203,7 @@ void EnterLaptopInitInsuranceContract()
BOOLEAN EnterInsuranceContract()
{
VOBJECT_DESC VObjectDesc;
VOBJECT_DESC VObjectDesc;
UINT16 usPosX,i;
//build the list of mercs that are can be displayed
@@ -212,7 +212,7 @@ BOOLEAN EnterInsuranceContract()
gubNumberofDisplayedInsuranceGrids = GetNumberOfHireMercsStartingFromID( (UINT8) gsCurrentInsuranceMercIndex );
if( gubNumberofDisplayedInsuranceGrids > 3 )
gubNumberofDisplayedInsuranceGrids = 3;
InitInsuranceDefaults();
@@ -232,9 +232,9 @@ BOOLEAN EnterInsuranceContract()
for(i=0; i<2; i++)
{
MSYS_DefineRegion( &gSelectedInsuranceContractLinkRegion[i], usPosX, INS_CTRCT_BOTTON_LINK_RED_BAR_Y-37, (UINT16)(usPosX + INS_CTRCT_BOTTOM_LINK_RED_WIDTH), INS_CTRCT_BOTTON_LINK_RED_BAR_Y+2, MSYS_PRIORITY_HIGH,
CURSOR_WWW, MSYS_NO_CALLBACK, SelectInsuranceContractRegionCallBack);
MSYS_AddRegion(&gSelectedInsuranceContractLinkRegion[i]);
MSYS_SetRegionUserData( &gSelectedInsuranceContractLinkRegion[i], 0, i );
CURSOR_WWW, MSYS_NO_CALLBACK, SelectInsuranceContractRegionCallBack);
MSYS_AddRegion(&gSelectedInsuranceContractLinkRegion[i]);
MSYS_SetRegionUserData( &gSelectedInsuranceContractLinkRegion[i], 0, i );
usPosX += INS_CTRCT_BOTTOM_LINK_RED_BAR_OFFSET;
}
@@ -242,24 +242,24 @@ BOOLEAN EnterInsuranceContract()
//left arrow
guiInsContractPrevButtonImage = LoadButtonImage("LAPTOP\\InsLeftButton.sti", 2,0,-1,1,-1 );
guiInsContractPrevBackButton = CreateIconAndTextButton( guiInsContractPrevButtonImage, InsContractText[INS_CONTRACT_PREVIOUS], INS_FONT_BIG,
INS_FONT_COLOR, INS_FONT_SHADOW,
INS_FONT_COLOR, INS_FONT_SHADOW,
TEXT_CJUSTIFIED,
INS_INFO_LEFT_ARROW_BUTTON_X, INS_INFO_LEFT_ARROW_BUTTON_Y, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH,
DEFAULT_MOVE_CALLBACK, BtnInsContractPrevButtonCallback);
guiInsContractPrevBackButton = CreateIconAndTextButton( guiInsContractPrevButtonImage, InsContractText[INS_CONTRACT_PREVIOUS], INS_FONT_BIG,
INS_FONT_COLOR, INS_FONT_SHADOW,
INS_FONT_COLOR, INS_FONT_SHADOW,
TEXT_CJUSTIFIED,
INS_INFO_LEFT_ARROW_BUTTON_X, INS_INFO_LEFT_ARROW_BUTTON_Y, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH,
DEFAULT_MOVE_CALLBACK, BtnInsContractPrevButtonCallback);
SetButtonCursor( guiInsContractPrevBackButton, CURSOR_WWW );
SpecifyButtonTextOffsets( guiInsContractPrevBackButton, 17, 16, FALSE );
//Right arrow
guiInsContractNextButtonImage = LoadButtonImage("LAPTOP\\InsRightButton.sti", 2,0,-1,1,-1 );
guiInsContractNextBackButton = CreateIconAndTextButton( guiInsContractNextButtonImage, InsContractText[INS_CONTRACT_NEXT], INS_FONT_BIG,
INS_FONT_COLOR, INS_FONT_SHADOW,
INS_FONT_COLOR, INS_FONT_SHADOW,
TEXT_CJUSTIFIED,
INS_INFO_RIGHT_ARROW_BUTTON_X, INS_INFO_RIGHT_ARROW_BUTTON_Y, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH,
DEFAULT_MOVE_CALLBACK, BtnInsContractNextButtonCallBack);
guiInsContractNextBackButton = CreateIconAndTextButton( guiInsContractNextButtonImage, InsContractText[INS_CONTRACT_NEXT], INS_FONT_BIG,
INS_FONT_COLOR, INS_FONT_SHADOW,
INS_FONT_COLOR, INS_FONT_SHADOW,
TEXT_CJUSTIFIED,
INS_INFO_RIGHT_ARROW_BUTTON_X, INS_INFO_RIGHT_ARROW_BUTTON_Y, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH,
DEFAULT_MOVE_CALLBACK, BtnInsContractNextButtonCallBack);
SetButtonCursor( guiInsContractNextBackButton, CURSOR_WWW );
SpecifyButtonTextOffsets( guiInsContractNextBackButton, 18, 16, FALSE );
@@ -315,7 +315,7 @@ void HandleInsuranceContract()
gfChangeInsuranceFormButtons = FALSE;
//force a redraw of the screen to erase the old buttons
fPausedReDrawScreenFlag = TRUE;
fPausedReDrawScreenFlag = TRUE;
RenderInsuranceContract();
MarkButtonsDirty();
@@ -328,13 +328,12 @@ void HandleInsuranceContract()
void RenderInsuranceContract()
{
HVOBJECT hPixHandle;
HVOBJECT hPixHandle;
CHAR16 sText[800];
UINT8 ubCount=0;
INT16 sMercID;
INT16 sNextMercID;
UINT16 usPosX;
BOOLEAN fIsThereAnyAimMercs = FALSE;
SOLDIERTYPE *pSoldier = NULL;
@@ -347,17 +346,17 @@ void RenderInsuranceContract()
usPosX = INS_CTRCT_BOTTOM_LINK_RED_BAR_X;
//Display the red bar under the link at the bottom. and the text
//Display the red bar under the link at the bottom. and the text
DisplaySmallRedLineWithShadow( usPosX, INS_CTRCT_BOTTON_LINK_RED_BAR_Y, (UINT16)(usPosX+INS_CTRCT_BOTTOM_LINK_RED_WIDTH), INS_CTRCT_BOTTON_LINK_RED_BAR_Y);
swprintf( sText, L"%s", pMessageStrings[ MSG_HOMEPAGE ] );
DisplayWrappedString( usPosX, INS_CTRCT_BOTTON_LINK_Y+18, INS_CTRCT_BOTTOM_LINK_RED_WIDTH, 2, INS_FONT_MED, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED);
DisplayWrappedString( usPosX, INS_CTRCT_BOTTON_LINK_Y+18, INS_CTRCT_BOTTOM_LINK_RED_WIDTH, 2, INS_FONT_MED, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED);
usPosX += INS_CTRCT_BOTTOM_LINK_RED_BAR_OFFSET;
//Display the red bar under the link at the bottom. and the text
//Display the red bar under the link at the bottom. and the text
DisplaySmallRedLineWithShadow( usPosX, INS_CTRCT_BOTTON_LINK_RED_BAR_Y, (UINT16)(usPosX+INS_CTRCT_BOTTOM_LINK_RED_WIDTH), INS_CTRCT_BOTTON_LINK_RED_BAR_Y);
GetInsuranceText( INS_SNGL_HOW_DOES_INS_WORK, sText );
DisplayWrappedString( usPosX, INS_CTRCT_BOTTON_LINK_Y+12, INS_CTRCT_BOTTOM_LINK_RED_WIDTH, 2, INS_FONT_MED, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED);
DisplayWrappedString( usPosX, INS_CTRCT_BOTTON_LINK_Y+12, INS_CTRCT_BOTTOM_LINK_RED_WIDTH, 2, INS_FONT_MED, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED);
//Display the title slogan
@@ -371,7 +370,7 @@ void RenderInsuranceContract()
//Display the first instruction sentence
GetInsuranceText( INS_MLTI_TO_PURCHASE_INSURANCE, sText );
DisplayWrappedString( INS_CTRCT_FIRST_BULLET_TEXT_X+INSURANCE_BULLET_TEXT_OFFSET_X, INS_CTRCT_FIRST_BULLET_TEXT_Y, INS_CTRCT_INTSRUCTION_TEXT_WIDTH, 2, INS_FONT_MED, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED);
DisplayWrappedString( INS_CTRCT_FIRST_BULLET_TEXT_X+INSURANCE_BULLET_TEXT_OFFSET_X, INS_CTRCT_FIRST_BULLET_TEXT_Y, INS_CTRCT_INTSRUCTION_TEXT_WIDTH, 2, INS_FONT_MED, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED);
//Get and display the insurance bullet
@@ -380,7 +379,7 @@ void RenderInsuranceContract()
//Display the second instruction sentence
GetInsuranceText( INS_MLTI_ONCE_SATISFIED_CLICK_ACCEPT, sText );
DisplayWrappedString( INS_CTRCT_FIRST_BULLET_TEXT_X+INSURANCE_BULLET_TEXT_OFFSET_X, INS_CTRCT_SECOND_BULLET_TEXT_Y, INS_CTRCT_INTSRUCTION_TEXT_WIDTH, 2, INS_FONT_MED, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED);
DisplayWrappedString( INS_CTRCT_FIRST_BULLET_TEXT_X+INSURANCE_BULLET_TEXT_OFFSET_X, INS_CTRCT_SECOND_BULLET_TEXT_Y, INS_CTRCT_INTSRUCTION_TEXT_WIDTH, 2, INS_FONT_MED, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED);
//Display the red bar under the instruction text
DisplaySmallRedLineWithShadow( INS_CTRCT_FIRST_BULLET_TEXT_X, INS_CTRCT_RED_BAR_UNDER_INSTRUCTION_TEXT_Y, INS_CTRCT_FIRST_BULLET_TEXT_X+INS_CTRCT_INTSRUCTION_TEXT_WIDTH, INS_CTRCT_RED_BAR_UNDER_INSTRUCTION_TEXT_Y);
@@ -423,11 +422,11 @@ void RenderInsuranceContract()
SetFontShadow(DEFAULT_SHADOW);
MarkButtonsDirty( );
MarkButtonsDirty( );
RenderWWWProgramTitleBar( );
InvalidateRegion(LAPTOP_SCREEN_UL_X,LAPTOP_SCREEN_WEB_UL_Y,LAPTOP_SCREEN_LR_X,LAPTOP_SCREEN_WEB_LR_Y);
InvalidateRegion(LAPTOP_SCREEN_UL_X,LAPTOP_SCREEN_WEB_UL_Y,LAPTOP_SCREEN_LR_X,LAPTOP_SCREEN_WEB_LR_Y);
}
@@ -459,7 +458,7 @@ void BtnInsContractPrevButtonCallback(GUI_BUTTON *btn,INT32 reason)
btn->uiFlags &= (~BUTTON_CLICKED_ON );
InvalidateRegion(btn->Area.RegionTopLeftX, btn->Area.RegionTopLeftY, btn->Area.RegionBottomRightX, btn->Area.RegionBottomRightY);
}
}
}
@@ -480,7 +479,7 @@ void BtnInsContractNextButtonCallBack(GUI_BUTTON *btn,INT32 reason)
//signal that we want to change the number of forms on the page
gfChangeInsuranceFormButtons = TRUE;
InvalidateRegion(btn->Area.RegionTopLeftX, btn->Area.RegionTopLeftY, btn->Area.RegionBottomRightX, btn->Area.RegionBottomRightY);
}
}
@@ -489,15 +488,15 @@ void BtnInsContractNextButtonCallBack(GUI_BUTTON *btn,INT32 reason)
btn->uiFlags &= (~BUTTON_CLICKED_ON );
InvalidateRegion(btn->Area.RegionTopLeftX, btn->Area.RegionTopLeftY, btn->Area.RegionBottomRightX, btn->Area.RegionBottomRightY);
}
}
}
BOOLEAN DisplayOrderGrid( UINT8 ubGridNumber, UINT8 ubMercID )
{
VOBJECT_DESC VObjectDesc;
HVOBJECT hPixHandle;
VOBJECT_DESC VObjectDesc;
HVOBJECT hPixHandle;
UINT16 usPosX, usPosY;
UINT32 uiInsMercFaceImage;
INT32 iCostOfContract=0;
@@ -507,7 +506,7 @@ BOOLEAN DisplayOrderGrid( UINT8 ubGridNumber, UINT8 ubMercID )
SOLDIERTYPE *pSoldier;
pSoldier = &Menptr[ GetSoldierIDFromMercID( ubMercID ) ];
@@ -550,7 +549,7 @@ BOOLEAN DisplayOrderGrid( UINT8 ubGridNumber, UINT8 ubMercID )
FilenameForBPP( sTemp, VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &uiInsMercFaceImage));
//Get the merc's face
//Get the merc's face
GetVideoObject(&hPixHandle, uiInsMercFaceImage );
//if the merc is dead, shade the face red
@@ -564,14 +563,14 @@ BOOLEAN DisplayOrderGrid( UINT8 ubGridNumber, UINT8 ubMercID )
SetObjectHandleShade( uiInsMercFaceImage, 0 );
}
//Get and display the mercs face
//Get and display the mercs face
BltVideoObject(FRAME_BUFFER, hPixHandle, 0, usPosX+INS_CTRCT_OG_FACE_OFFSET_X, INS_CTRCT_ORDER_GRID1_Y+INS_CTRCT_OG_FACE_OFFSET_Y, VO_BLT_SRCTRANSPARENCY,NULL);
// the face images isn't needed anymore so delete it
DeleteVideoObjectFromIndex( uiInsMercFaceImage );
//display the mercs nickname
DrawTextToScreen(gMercProfiles[ ubMercID ].zNickname, (UINT16)(usPosX + INS_CTRCT_OG_NICK_NAME_OFFSET_X), INS_CTRCT_ORDER_GRID1_Y + INS_CTRCT_OG_NICK_NAME_OFFSET_Y, 0, INS_FONT_MED, INS_FONT_COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
DrawTextToScreen(gMercProfiles[ ubMercID ].zNickname, (UINT16)(usPosX + INS_CTRCT_OG_NICK_NAME_OFFSET_X), INS_CTRCT_ORDER_GRID1_Y + INS_CTRCT_OG_NICK_NAME_OFFSET_Y, 0, INS_FONT_MED, INS_FONT_COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
//Get the text to display the mercs current insurance contract status
if( IsMercDead( pSoldier->ubProfile ) )
@@ -587,7 +586,7 @@ BOOLEAN DisplayOrderGrid( UINT8 ubGridNumber, UINT8 ubMercID )
//Display the contract text
GetInsuranceText( INS_SNGL_DEAD_NO_CONTRACT, sText );
}
DisplayWrappedString( (UINT16)(usPosX+INS_CTRCT_OG_HAS_CONTRACT_OFFSET_X), INS_CTRCT_ORDER_GRID1_Y+INS_CTRCT_OG_HAS_CONTRACT_OFFSET_Y, INS_CTRCT_CONTRACT_STATUS_TEXT_WIDTH, 2, INS_FONT_SMALL, INS_FONT_COLOR_RED, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED);
DisplayWrappedString( (UINT16)(usPosX+INS_CTRCT_OG_HAS_CONTRACT_OFFSET_X), INS_CTRCT_ORDER_GRID1_Y+INS_CTRCT_OG_HAS_CONTRACT_OFFSET_Y, INS_CTRCT_CONTRACT_STATUS_TEXT_WIDTH, 2, INS_FONT_SMALL, INS_FONT_COLOR_RED, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED);
}
else
{
@@ -615,9 +614,9 @@ BOOLEAN DisplayOrderGrid( UINT8 ubGridNumber, UINT8 ubMercID )
fDisplayMercContractStateTextColorInRed = TRUE;
}
if( fDisplayMercContractStateTextColorInRed )
DisplayWrappedString( (UINT16)(usPosX+INS_CTRCT_OG_HAS_CONTRACT_OFFSET_X), INS_CTRCT_ORDER_GRID1_Y+INS_CTRCT_OG_HAS_CONTRACT_OFFSET_Y, INS_CTRCT_CONTRACT_STATUS_TEXT_WIDTH, 2, INS_FONT_SMALL, INS_FONT_COLOR_RED, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED);
DisplayWrappedString( (UINT16)(usPosX+INS_CTRCT_OG_HAS_CONTRACT_OFFSET_X), INS_CTRCT_ORDER_GRID1_Y+INS_CTRCT_OG_HAS_CONTRACT_OFFSET_Y, INS_CTRCT_CONTRACT_STATUS_TEXT_WIDTH, 2, INS_FONT_SMALL, INS_FONT_COLOR_RED, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED);
else
DisplayWrappedString( (UINT16)(usPosX+INS_CTRCT_OG_HAS_CONTRACT_OFFSET_X), INS_CTRCT_ORDER_GRID1_Y+INS_CTRCT_OG_HAS_CONTRACT_OFFSET_Y, INS_CTRCT_CONTRACT_STATUS_TEXT_WIDTH, 2, INS_FONT_SMALL, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED);
DisplayWrappedString( (UINT16)(usPosX+INS_CTRCT_OG_HAS_CONTRACT_OFFSET_X), INS_CTRCT_ORDER_GRID1_Y+INS_CTRCT_OG_HAS_CONTRACT_OFFSET_Y, INS_CTRCT_CONTRACT_STATUS_TEXT_WIDTH, 2, INS_FONT_SMALL, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED);
}
@@ -631,7 +630,7 @@ BOOLEAN DisplayOrderGrid( UINT8 ubGridNumber, UINT8 ubMercID )
DrawTextToScreen( sText, (UINT16)(usPosX+INS_CTRCT_LENGTH_OFFSET_X), INS_CTRCT_ORDER_GRID1_Y+INS_CTRCT_LENGTH_OFFSET_Y, 0, INS_FONT_MED, INS_FONT_COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
//Display the mercs contract length
swprintf( sText, L"%d", pSoldier->iTotalContractLength );
swprintf( sText, L"%d", pSoldier->iTotalContractLength );
DrawTextToScreen( sText, (UINT16)(usPosX+INS_CTRCT_OG_BOX_OFFSET_X), INS_CTRCT_ORDER_GRID1_Y+INS_CTRCT_LENGTH_OFFSET_Y, INS_CTRCT_OG_BOX_WIDTH, INS_FONT_MED, INS_FONT_COLOR, FONT_MCOLOR_BLACK, FALSE, RIGHT_JUSTIFIED );
@@ -642,9 +641,9 @@ BOOLEAN DisplayOrderGrid( UINT8 ubGridNumber, UINT8 ubMercID )
//display the amount of time the merc has left on their Regular contract
if( IsMercDead( ubMercID ) )
swprintf( sText, L"%s", pMessageStrings[ MSG_LOWERCASE_NA ] );
swprintf( sText, L"%s", pMessageStrings[ MSG_LOWERCASE_NA ] );
else
swprintf( sText, L"%d", GetTimeRemainingOnSoldiersContract( pSoldier ) );
swprintf( sText, L"%d", GetTimeRemainingOnSoldiersContract( pSoldier ) );
DrawTextToScreen( sText, (UINT16)(usPosX+INS_CTRCT_OG_BOX_OFFSET_X), INS_CTRCT_ORDER_GRID1_Y+INS_CTRCT_DAYS_REMAINING_OFFSET_Y, INS_CTRCT_OG_BOX_WIDTH, INS_FONT_MED, INS_FONT_COLOR, FONT_MCOLOR_BLACK, FALSE, RIGHT_JUSTIFIED );
@@ -668,13 +667,13 @@ BOOLEAN DisplayOrderGrid( UINT8 ubGridNumber, UINT8 ubMercID )
//if the soldier has insurance, disply the length of time the merc has left
if( IsMercDead( ubMercID ) )
swprintf( sText, L"%s", pMessageStrings[ MSG_LOWERCASE_NA ] );
swprintf( sText, L"%s", pMessageStrings[ MSG_LOWERCASE_NA ] );
else if( pSoldier->usLifeInsurance != 0 )
swprintf( sText, L"%d", GetTimeRemainingOnSoldiersInsuranceContract( pSoldier ) );
swprintf( sText, L"%d", GetTimeRemainingOnSoldiersInsuranceContract( pSoldier ) );
else
swprintf( sText, L"%d", 0 );
swprintf( sText, L"%d", 0 );
DrawTextToScreen( sText, (UINT16)(usPosX+INS_CTRCT_OG_BOX_OFFSET_X), INS_CTRCT_ORDER_GRID1_Y+INS_CTRCT_DAYS_REMAINING_OFFSET_Y+54, INS_CTRCT_OG_BOX_WIDTH, INS_FONT_MED, INS_FONT_COLOR, FONT_MCOLOR_BLACK, FALSE, RIGHT_JUSTIFIED );
@@ -706,7 +705,7 @@ BOOLEAN DisplayOrderGrid( UINT8 ubGridNumber, UINT8 ubMercID )
DrawTextToScreen( sText, (UINT16)(usPosX+INS_CTRCT_EMPLYMNT_CNTRCT_TEXT_OFFSET_X), INS_CTRCT_ORDER_GRID1_Y+INS_CTRCT_PREMIUM_OWING_OFFSET_Y, INS_CTRCT_ORDER_GRID_WIDTH, INS_FONT_MED, INS_FONT_COLOR, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED );
//display the amount of refund
swprintf( sText, L"%d", iCostOfContract );
swprintf( sText, L"%d", iCostOfContract );
InsertCommasForDollarFigure( sText );
InsertDollarSignInToString( sText );
}
@@ -714,7 +713,7 @@ BOOLEAN DisplayOrderGrid( UINT8 ubGridNumber, UINT8 ubMercID )
if( IsMercDead( ubMercID ) )
{
swprintf( sText, L"0");
swprintf( sText, L"0");
InsertDollarSignInToString( sText );
}
//display the amount owing
@@ -776,7 +775,7 @@ void BtnInsuranceAcceptClearForm1ButtonCallback(GUI_BUTTON *btn,INT32 reason)
btn->uiFlags &= (~BUTTON_CLICKED_ON );
InvalidateRegion(btn->Area.RegionTopLeftX, btn->Area.RegionTopLeftY, btn->Area.RegionBottomRightX, btn->Area.RegionBottomRightY);
}
}
}
@@ -820,7 +819,7 @@ void BtnInsuranceAcceptClearForm2ButtonCallback(GUI_BUTTON *btn,INT32 reason)
btn->uiFlags &= (~BUTTON_CLICKED_ON );
InvalidateRegion(btn->Area.RegionTopLeftX, btn->Area.RegionTopLeftY, btn->Area.RegionBottomRightX, btn->Area.RegionBottomRightY);
}
}
}
@@ -865,7 +864,7 @@ void BtnInsuranceAcceptClearForm3ButtonCallback(GUI_BUTTON *btn,INT32 reason)
btn->uiFlags &= (~BUTTON_CLICKED_ON );
InvalidateRegion(btn->Area.RegionTopLeftX, btn->Area.RegionTopLeftY, btn->Area.RegionBottomRightX, btn->Area.RegionBottomRightY);
}
}
}
@@ -919,7 +918,7 @@ INT32 CalculateInsuranceCost( SOLDIERTYPE *pSoldier, BOOLEAN fHaveInsurance )
*/
void SelectInsuranceContractRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
{
{
if (iReason & MSYS_CALLBACK_REASON_INIT)
{
}
@@ -934,7 +933,7 @@ void SelectInsuranceContractRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason
}
else if (iReason & MSYS_CALLBACK_REASON_RBUTTON_UP)
{
}
}
}
INT8 CountInsurableMercs()
@@ -948,8 +947,8 @@ INT8 CountInsurableMercs()
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
bLastTeamID = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
for ( pSoldier = MercPtrs[ cnt ]; cnt <= bLastTeamID; cnt++,pSoldier++)
{
for ( pSoldier = MercPtrs[ cnt ]; cnt <= bLastTeamID; cnt++,pSoldier++)
{
if (MercIsInsurable(pSoldier))
{
bCount++;
@@ -990,47 +989,47 @@ void CreateDestroyInsuranceContractFormButtons( BOOLEAN fCreate)
//The accept button image
guiInsuranceAcceptClearForm1ButtonImage = LoadButtonImage("LAPTOP\\AcceptClearBox.sti", -1,0,-1,1,-1 );
if( gubNumberofDisplayedInsuranceGrids >= 1 )
if( gubNumberofDisplayedInsuranceGrids >= 1 )
{
//the accept button for form 1
guiInsuranceAcceptClearForm1Button = CreateIconAndTextButton( guiInsuranceAcceptClearForm1ButtonImage, InsContractText[INS_CONTRACT_ACCEPT], INS_FONT_MED,
INS_FONT_BTN_COLOR, INS_FONT_BTN_SHADOW_COLOR,
INS_FONT_BTN_COLOR, INS_FONT_BTN_SHADOW_COLOR,
TEXT_CJUSTIFIED,
INS_CTRCT_ORDER_GRID1_X+INS_CTRCT_ACCEPT_BTN_X, INS_CTRCT_ORDER_GRID1_Y+INS_CTRCT_ACCEPT_BTN_Y, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH,
DEFAULT_MOVE_CALLBACK, BtnInsuranceAcceptClearForm1ButtonCallback);
guiInsuranceAcceptClearForm1Button = CreateIconAndTextButton( guiInsuranceAcceptClearForm1ButtonImage, InsContractText[INS_CONTRACT_ACCEPT], INS_FONT_MED,
INS_FONT_BTN_COLOR, INS_FONT_BTN_SHADOW_COLOR,
INS_FONT_BTN_COLOR, INS_FONT_BTN_SHADOW_COLOR,
TEXT_CJUSTIFIED,
INS_CTRCT_ORDER_GRID1_X+INS_CTRCT_ACCEPT_BTN_X, INS_CTRCT_ORDER_GRID1_Y+INS_CTRCT_ACCEPT_BTN_Y, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH,
DEFAULT_MOVE_CALLBACK, BtnInsuranceAcceptClearForm1ButtonCallback);
SetButtonCursor( guiInsuranceAcceptClearForm1Button, CURSOR_LAPTOP_SCREEN );
MSYS_SetBtnUserData( guiInsuranceAcceptClearForm1Button, 0, 0);
}
if( gubNumberofDisplayedInsuranceGrids >= 2 )
if( gubNumberofDisplayedInsuranceGrids >= 2 )
{
//the accept button for form 2
guiInsuranceAcceptClearForm2Button = CreateIconAndTextButton( guiInsuranceAcceptClearForm1ButtonImage, InsContractText[INS_CONTRACT_ACCEPT], INS_FONT_MED,
INS_FONT_BTN_COLOR, INS_FONT_BTN_SHADOW_COLOR,
INS_FONT_BTN_COLOR, INS_FONT_BTN_SHADOW_COLOR,
TEXT_CJUSTIFIED,
INS_CTRCT_ORDER_GRID2_X+INS_CTRCT_ACCEPT_BTN_X, INS_CTRCT_ORDER_GRID1_Y+INS_CTRCT_ACCEPT_BTN_Y, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH,
DEFAULT_MOVE_CALLBACK, BtnInsuranceAcceptClearForm2ButtonCallback);
guiInsuranceAcceptClearForm2Button = CreateIconAndTextButton( guiInsuranceAcceptClearForm1ButtonImage, InsContractText[INS_CONTRACT_ACCEPT], INS_FONT_MED,
INS_FONT_BTN_COLOR, INS_FONT_BTN_SHADOW_COLOR,
INS_FONT_BTN_COLOR, INS_FONT_BTN_SHADOW_COLOR,
TEXT_CJUSTIFIED,
INS_CTRCT_ORDER_GRID2_X+INS_CTRCT_ACCEPT_BTN_X, INS_CTRCT_ORDER_GRID1_Y+INS_CTRCT_ACCEPT_BTN_Y, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH,
DEFAULT_MOVE_CALLBACK, BtnInsuranceAcceptClearForm2ButtonCallback);
SetButtonCursor(guiInsuranceAcceptClearForm2Button, CURSOR_LAPTOP_SCREEN );
MSYS_SetBtnUserData( guiInsuranceAcceptClearForm2Button, 0, 0);
}
if( gubNumberofDisplayedInsuranceGrids >= 3 )
if( gubNumberofDisplayedInsuranceGrids >= 3 )
{
//the accept button for form 3
guiInsuranceAcceptClearForm3Button = CreateIconAndTextButton( guiInsuranceAcceptClearForm1ButtonImage, InsContractText[INS_CONTRACT_ACCEPT], INS_FONT_MED,
INS_FONT_BTN_COLOR, INS_FONT_BTN_SHADOW_COLOR,
INS_FONT_BTN_COLOR, INS_FONT_BTN_SHADOW_COLOR,
TEXT_CJUSTIFIED,
INS_CTRCT_ORDER_GRID3_X+INS_CTRCT_ACCEPT_BTN_X, INS_CTRCT_ORDER_GRID1_Y+INS_CTRCT_ACCEPT_BTN_Y, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH,
DEFAULT_MOVE_CALLBACK, BtnInsuranceAcceptClearForm3ButtonCallback);
guiInsuranceAcceptClearForm3Button = CreateIconAndTextButton( guiInsuranceAcceptClearForm1ButtonImage, InsContractText[INS_CONTRACT_ACCEPT], INS_FONT_MED,
INS_FONT_BTN_COLOR, INS_FONT_BTN_SHADOW_COLOR,
INS_FONT_BTN_COLOR, INS_FONT_BTN_SHADOW_COLOR,
TEXT_CJUSTIFIED,
INS_CTRCT_ORDER_GRID3_X+INS_CTRCT_ACCEPT_BTN_X, INS_CTRCT_ORDER_GRID1_Y+INS_CTRCT_ACCEPT_BTN_Y, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH,
DEFAULT_MOVE_CALLBACK, BtnInsuranceAcceptClearForm3ButtonCallback);
SetButtonCursor( guiInsuranceAcceptClearForm3Button, CURSOR_LAPTOP_SCREEN );
MSYS_SetBtnUserData( guiInsuranceAcceptClearForm3Button, 0, 0);
}
@@ -1040,24 +1039,24 @@ void CreateDestroyInsuranceContractFormButtons( BOOLEAN fCreate)
if( fButtonsCreated && ! fCreate )
{
//the accept image
//the accept image
UnloadButtonImage( guiInsuranceAcceptClearForm1ButtonImage );
if( gubNumberofDisplayedInsuranceGrids >= 1 )
{
//the accept for the first form
//the accept for the first form
RemoveButton( guiInsuranceAcceptClearForm1Button );
}
if( gubNumberofDisplayedInsuranceGrids >= 2 )
{
//the accept clear for the second form
//the accept clear for the second form
RemoveButton( guiInsuranceAcceptClearForm2Button );
}
if( gubNumberofDisplayedInsuranceGrids >= 3 )
{
//the accept clear for the third form
//the accept clear for the third form
RemoveButton( guiInsuranceAcceptClearForm3Button );
}
@@ -1069,8 +1068,6 @@ void CreateDestroyInsuranceContractFormButtons( BOOLEAN fCreate)
void HandleAcceptButton( UINT8 ubSoldierID, UINT8 ubFormID )
{
INT32 iAmountOfMoneyTransfer = -1;
//passed in either 1,2,3 should be 0,1,2
ubFormID--;
@@ -1097,8 +1094,8 @@ void DailyUpdateOfInsuredMercs()
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
bLastTeamID = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
for ( pSoldier = MercPtrs[ cnt ]; cnt <= bLastTeamID; cnt++,pSoldier++)
{
for ( pSoldier = MercPtrs[ cnt ]; cnt <= bLastTeamID; cnt++,pSoldier++)
{
//if the soldier is in the team array
if( pSoldier->bActive )
{
@@ -1126,7 +1123,7 @@ void DailyUpdateOfInsuredMercs()
}
#define MIN_INSURANCE_RATIO 0.1f
#define MIN_INSURANCE_RATIO 0.1f
#define MAX_INSURANCE_RATIO 10.0f
@@ -1140,12 +1137,12 @@ INT32 CalculateInsuranceContractCost( INT32 iLength, UINT8 ubMercID )
UINT32 uiTotalInsurancePremium;
SOLDIERTYPE *pSoldier;
pSoldier = &Menptr[ GetSoldierIDFromMercID( ubMercID ) ];
// only mercs with at least 2 days to go on their employment contract are insurable
// def: 2/5/99. However if they already have insurance is SHOULD be ok
// def: 2/5/99. However if they already have insurance is SHOULD be ok
if( GetTimeRemainingOnSoldiersContract( pSoldier ) < 2 && !( pSoldier->usLifeInsurance != 0 && GetTimeRemainingOnSoldiersContract( pSoldier ) >= 1 ) )
{
return( 0 );
@@ -1158,7 +1155,7 @@ INT32 CalculateInsuranceContractCost( INT32 iLength, UINT8 ubMercID )
}
/*
replaced with the above check
replaced with the above check
if (iLength < 2)
{
@@ -1237,7 +1234,7 @@ FLOAT DiffFromNormRatio( INT16 sThisValue, INT16 sNormalValue )
void InsContractNoMercsPopupCallBack( UINT8 bExitValue )
{
// yes, so start over, else stay here and do nothing for now
if( bExitValue == MSG_BOX_RETURN_OK )
if( bExitValue == MSG_BOX_RETURN_OK )
{
guiCurrentLaptopMode = LAPTOP_MODE_INSURANCE;
}
@@ -1256,8 +1253,8 @@ void BuildInsuranceArray()
gsMaxPlayersOnTeam = 0;
// store profile #s of all insurable mercs in an array
for ( pSoldier = MercPtrs[ cnt ]; cnt <= bLastTeamID; cnt++,pSoldier++)
{
for ( pSoldier = MercPtrs[ cnt ]; cnt <= bLastTeamID; cnt++,pSoldier++)
{
if( MercIsInsurable(pSoldier) )
{
gubInsuranceMercArray[ gsMaxPlayersOnTeam ] = pSoldier->ubProfile;
@@ -1285,7 +1282,7 @@ BOOLEAN AddLifeInsurancePayout( SOLDIERTYPE *pSoldier )
if( LaptopSaveInfo.ubNumberLifeInsurancePayouts <= LaptopSaveInfo.ubNumberLifeInsurancePayoutUsed )
{
LaptopSaveInfo.ubNumberLifeInsurancePayouts++;
LaptopSaveInfo.pLifeInsurancePayouts = (LIFE_INSURANCE_PAYOUT *) MemRealloc( LaptopSaveInfo.pLifeInsurancePayouts, sizeof( LIFE_INSURANCE_PAYOUT ) * LaptopSaveInfo.ubNumberLifeInsurancePayouts );
LaptopSaveInfo.pLifeInsurancePayouts = (LIFE_INSURANCE_PAYOUT *) MemRealloc( LaptopSaveInfo.pLifeInsurancePayouts, sizeof( LIFE_INSURANCE_PAYOUT ) * LaptopSaveInfo.ubNumberLifeInsurancePayouts );
if( LaptopSaveInfo.pLifeInsurancePayouts == NULL )
return( FALSE );
@@ -1304,10 +1301,10 @@ BOOLEAN AddLifeInsurancePayout( SOLDIERTYPE *pSoldier )
LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].fActive = TRUE;
// This uses the merc's latest salaries, ignoring that they may be higher than the salaries paid under the current
// contract if the guy has recently gained a level. We could store his daily salary when he was last contracted,
// contract if the guy has recently gained a level. We could store his daily salary when he was last contracted,
// and use that, but it still doesn't easily account for the fact that renewing a leveled merc early means that the
// first part of his contract is under his old salary and the second part is under his new one. Therefore, I chose
// to ignore this wrinkle, and let the player awlays get paid out using the higher amount. ARM
// first part of his contract is under his old salary and the second part is under his new one. Therefore, I chose
// to ignore this wrinkle, and let the player awlays get paid out using the higher amount. ARM
// figure out which of the 3 salary rates the merc has is the cheapest, and use it to calculate the paid amount, to
// avoid getting back more than the merc cost if he was on a 2-week contract!
@@ -1485,7 +1482,7 @@ void EnableDisableInsuranceContractAcceptButtons()
{
EnableDisableIndividualInsuranceContractButton( gubMercIDForMercInForm2, &guiInsuranceAcceptClearForm2Button );
}
//If it is the 3rd grid
if( gubNumberofDisplayedInsuranceGrids >= 3 )
{
@@ -1505,7 +1502,7 @@ void EnableDisableIndividualInsuranceContractButton( UINT8 ubMercIDForMercInForm
// if the soldiers contract can be extended, enable the button
if( CanSoldierExtendInsuranceContract( &Menptr[ sSoldierID ] ) )
EnableButton( *puiAcceptButton );
// else the soldier cant extend their insurance contract, disable the button
else
DisableButton( *puiAcceptButton );
@@ -1587,7 +1584,7 @@ void PurchaseOrExtendInsuranceForSoldier( SOLDIERTYPE *pSoldier, UINT32 uiInsura
if( pSoldier == NULL )
AssertMsg( 0, "Soldier pointer is NULL!" );
//if the user doesnt have insruance already,
//if the user doesnt have insruance already,
if( !(pSoldier->usLifeInsurance ) )
{
//specify the start date of the contract
@@ -1598,7 +1595,7 @@ void PurchaseOrExtendInsuranceForSoldier( SOLDIERTYPE *pSoldier, UINT32 uiInsura
//transfer money
iAmountOfMoneyTransfer = CalculateInsuranceContractCost( uiInsuranceLength, pSoldier->ubProfile );
//if the user did have insruance already,
//if the user did have insruance already,
if( pSoldier->usLifeInsurance )
{
//specify the start date of the contract
@@ -1630,7 +1627,7 @@ void PurchaseOrExtendInsuranceForSoldier( SOLDIERTYPE *pSoldier, UINT32 uiInsura
}
else
{
//else if the player has enought to cover the bill, let him
//else if the player has enought to cover the bill, let him
//the player just purchased life insurance
AddTransactionToPlayersBook( PURCHASED_INSURANCE, pSoldier->ubProfile, GetWorldTotalMin(), -( iAmountOfMoneyTransfer ) );
@@ -1673,7 +1670,7 @@ INT32 CalculateSoldiersInsuranceContractLength( SOLDIERTYPE *pSoldier )
// only mercs with at least 2 days to go on their employment contract are insurable
// def: 2/5/99. However if they already have insurance is SHOULD be ok
// def: 2/5/99. However if they already have insurance is SHOULD be ok
if( uiTimeRemainingOnSoldiersContract < 2 && !( pSoldier->usLifeInsurance != 0 && uiTimeRemainingOnSoldiersContract >= 1 ) )
{
return( 0 );
@@ -1743,4 +1740,4 @@ BOOLEAN AreAnyAimMercsOnTeam( )
}
return( fIsThereAnyAimMercs );
}
}