New Feature: a private military company allows hiring of advanced militia. For more info, see http://www.ja-galaxy-forum.com/ubbthreads.php/topics/335279#Post335279

Does not break savegame compatibility.

Requires GameDir revision >= r2130.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7457 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2014-08-30 17:34:25 +00:00
parent 5fc358f70c
commit e00897b91b
40 changed files with 1613 additions and 67 deletions
+87
View File
@@ -89,6 +89,7 @@
#include "CampaignHistory_Summary.h" // added by Flugente
#include "MercCompare.h" // added by Flugente
#include "WHO.h" // added by Flugente
#include "PMC.h" // added by Flugente
#endif
#include "connect.h"
@@ -1485,6 +1486,18 @@ void RenderLaptop()
case LAPTOP_MODE_WHO_TIPS:
RenderWHOTips( );
break;
case LAPTOP_MODE_PMC_MAIN:
RenderPMCMain( );
break;
case LAPTOP_MODE_PMC_CONTRACT_MILITIA:
RenderPMCContract( );
break;
case LAPTOP_MODE_PMC_CONTRACT_INDIVIDUAL:
RenderPMCContract( );
break;
}
if( guiCurrentLaptopMode >= LAPTOP_MODE_WWW )
@@ -1930,6 +1943,17 @@ void EnterNewLaptopMode()
EnterWHOTips( );
break;
case LAPTOP_MODE_PMC_MAIN:
EnterPMCMain( );
break;
case LAPTOP_MODE_PMC_CONTRACT_MILITIA:
EnterPMCContract( );
break;
case LAPTOP_MODE_PMC_CONTRACT_INDIVIDUAL:
EnterPMCContract( );
break;
}
// first time using webbrowser in this laptop session
@@ -2191,6 +2215,18 @@ void HandleLapTopHandles()
case LAPTOP_MODE_WHO_TIPS:
HandleWHOTips( );
break;
case LAPTOP_MODE_PMC_MAIN:
HandlePMCMain( );
break;
case LAPTOP_MODE_PMC_CONTRACT_MILITIA:
HandlePMCContract( );
break;
case LAPTOP_MODE_PMC_CONTRACT_INDIVIDUAL:
HandlePMCContract( );
break;
}
}
@@ -2761,6 +2797,18 @@ UINT32 ExitLaptopMode(UINT32 uiMode)
case LAPTOP_MODE_WHO_TIPS:
ExitWHOTips( );
break;
case LAPTOP_MODE_PMC_MAIN:
ExitPMCMain( );
break;
case LAPTOP_MODE_PMC_CONTRACT_MILITIA:
ExitPMCContract( );
break;
case LAPTOP_MODE_PMC_CONTRACT_INDIVIDUAL:
ExitPMCContract( );
break;
}
if( ( uiMode != LAPTOP_MODE_NONE )&&( uiMode < LAPTOP_MODE_WWW ) )
@@ -3748,6 +3796,24 @@ void SetBookMark(INT32 iBookId)
}
}
BOOLEAN IsBookMarkSet( INT32 iBookId )
{
INT32 iCounter = 0;
while ( LaptopSaveInfo.iBookMarkList[iCounter] != -1 )
{
// move through list until empty
if ( LaptopSaveInfo.iBookMarkList[iCounter] == iBookId )
{
// found it, return
return TRUE;
}
++iCounter;
}
return FALSE;
}
BOOLEAN RemoveBookMark( INT32 iBookId )
{
@@ -4357,6 +4423,27 @@ if( (gubQuest[ QUEST_FIX_LAPTOP ] != QUESTINPROGRESS) || (gGameUBOptions.LaptopQ
}
}
break;
case PMC_BOOKMARK:
{
guiCurrentWWWMode = LAPTOP_MODE_PMC_MAIN;
guiCurrentLaptopMode = LAPTOP_MODE_PMC_MAIN;
// do we have to have a World Wide Wait
if ( LaptopSaveInfo.fVisitedBookmarkAlready[PMC_BOOKMARK] == FALSE )
{
// reset flag and set load pending flag
LaptopSaveInfo.fVisitedBookmarkAlready[PMC_BOOKMARK] = TRUE;
fLoadPendingFlag = TRUE;
}
else
{
// fast reload
fLoadPendingFlag = TRUE;
fFastLoadFlag = TRUE;
}
}
break;
}
#ifdef JA2UB