Merge branch 'master' into ExtraMercs

This commit is contained in:
Asdow
2023-07-26 13:17:49 +03:00
754 changed files with 9435 additions and 74371 deletions
-5
View File
@@ -1,9 +1,5 @@
//Strategic AI Viewer
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "INIReader.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include "types.h"
@@ -38,7 +34,6 @@
#include "Strategic Status.h"
#include "wordwrap.h"
#include "Town Militia.h" // added by Flugente
#endif
#ifdef JA2BETAVERSION
+17 -7
View File
@@ -3,9 +3,6 @@
* @author Flugente (bears-pit.com)
*/
#ifdef PRECOMPILEDHEADERS
#include "Laptop All.h"
#else
#include <math.h>
#include "ASD.h"
#include "strategic.h"
@@ -52,7 +49,7 @@
#include "Sound Control.h"
#include "renderworld.h"
#include "Isometric Utils.h"
#endif
#include "Rebel Command.h"
extern BOOLEAN gfTacticalDoHeliRun;
@@ -548,9 +545,22 @@ UINT32 ASDResourceCostMoney( UINT8 aType )
return gGameExternalOptions.gASDResource_Cost[aType];
}
INT32 GetStrategicAIResourceCount( UINT8 aType )
{
if (aType < 0 || aType >= ASD_RESOURCE_MAX)
return 0;
return gASDResource[aType];
}
// add resources to the AIs resource pool
void AddStrategicAIResources( UINT8 aType, INT32 aAmount )
{
if (aType == ASD_MONEY)
{
aAmount *= RebelCommand::GetASDIncomeModifier();
}
gASDResource[aType] = max( 0, gASDResource[aType] + aAmount );
if ( aType == ASD_HELI )
@@ -1500,7 +1510,7 @@ UINT32 ASDResourceCostFuel( UINT8 aType )
// if ASD has tanks, it can allow the queen to upgrade soldiers to tanks
BOOLEAN ASDSoldierUpgradeToTank( )
{
if ( gGameExternalOptions.fASDActive && gGameExternalOptions.fASDAssignsTanks )
if ( gGameExternalOptions.fASDActive && gGameExternalOptions.fASDAssignsTanks && RebelCommand::GetASDCanDeployUnits() )
{
if ( gASD_Flags & ASDFACT_TANK_UNLOCKED )
{
@@ -1517,7 +1527,7 @@ BOOLEAN ASDSoldierUpgradeToTank( )
BOOLEAN ASDSoldierUpgradeToJeep( )
{
if ( gGameExternalOptions.fASDActive && gGameExternalOptions.fASDAssignsJeeps )
if ( gGameExternalOptions.fASDActive && gGameExternalOptions.fASDAssignsJeeps && RebelCommand::GetASDCanDeployUnits() )
{
if ( gASD_Flags & ASDFACT_JEEP_UNLOCKED )
{
@@ -1534,7 +1544,7 @@ BOOLEAN ASDSoldierUpgradeToJeep( )
BOOLEAN ASDSoldierUpgradeToRobot( )
{
if ( gGameExternalOptions.fASDActive && gGameExternalOptions.fASDAssignsRobots )
if ( gGameExternalOptions.fASDActive && gGameExternalOptions.fASDAssignsRobots && RebelCommand::GetASDCanDeployUnits() )
{
if ( gASD_Flags & ASDFACT_ROBOT_UNLOCKED )
{
+2
View File
@@ -56,6 +56,8 @@ void SetASDFlag( UINT32 aFlag );
UINT32 ASDResourceDeliveryTime( UINT8 aType );
UINT32 ASDResourceCostMoney( UINT8 aType );
INT32 GetStrategicAIResourceCount( UINT8 aType );
// add resources to the AIs resource pool
void AddStrategicAIResources( UINT8 aType, INT32 aAmount );
+30 -16
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "GameSettings.h"
#else
#include "Assignments.h"
#include "Strategic.h"
#include "Items.h"
@@ -77,7 +73,6 @@
#include "Strategic AI.h"
#include "MiniEvents.h"
#include "Rebel Command.h"
#endif
#include <vector>
#include <queue>
@@ -813,6 +808,11 @@ BOOLEAN BasicCanCharacterAssignment( SOLDIERTYPE * pSoldier, BOOLEAN fNotInComba
return( FALSE );
}
if (pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
{
return( FALSE );
}
return( TRUE );
}
@@ -1657,6 +1657,9 @@ BOOLEAN BasicCanCharacterTrainMilitia( SOLDIERTYPE *pSoldier )
// check if sam site
if( fSamSitePresent == FALSE )
{
if (RebelCommand::CanTrainMilitiaAnywhere())
return( TRUE );
// nope
return ( FALSE );
}
@@ -1970,6 +1973,9 @@ BOOLEAN CanCharacterTrainMilitia( SOLDIERTYPE *pSoldier )
}
}
if (RebelCommand::CanTrainMilitiaAnywhere() && GetTownIdForSector(pSoldier->sSectorX, pSoldier->sSectorY) == BLANK_SECTOR)
ubFacilityTrainersAllowed = RebelCommand::GetMaxTrainersForTrainMilitiaAnywhere();
// Count number of trainers already operating here
if ( CountMilitiaTrainersInSoldiersSector( pSoldier, TOWN_MILITIA ) >= ubFacilityTrainersAllowed )
{
@@ -2032,6 +2038,9 @@ BOOLEAN DoesSectorMercIsInHaveSufficientLoyaltyToTrainMilitia( SOLDIERTYPE *pSol
{
return( TRUE );
}
if (RebelCommand::CanTrainMilitiaAnywhere())
return(TRUE);
return( FALSE );
}
@@ -2084,7 +2093,7 @@ BOOLEAN IsMilitiaTrainableFromSoldiersSectorMaxed( SOLDIERTYPE *pSoldier, INT8 i
// is there a town really here
if( bTownId == BLANK_SECTOR )
{
fSamSitePresent = IsThisSectorASAMSector( pSoldier->sSectorX, pSoldier->sSectorY, pSoldier->bSectorZ );
fSamSitePresent = IsThisSectorASAMSector( pSoldier->sSectorX, pSoldier->sSectorY, pSoldier->bSectorZ ) || RebelCommand::CanTrainMilitiaAnywhere();
// if there is a sam site here
if( fSamSitePresent )
@@ -2490,7 +2499,7 @@ BOOLEAN CanCharacterSleep( SOLDIERTYPE *pSoldier, BOOLEAN fExplainWhyNot )
}
// POW?
if( pSoldier->bAssignment == ASSIGNMENT_POW || pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
if( pSoldier->bAssignment == ASSIGNMENT_POW || pSoldier->bAssignment == ASSIGNMENT_MINIEVENT || pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND )
{
return( FALSE );
}
@@ -2708,7 +2717,7 @@ INT8 CanCharacterSquad( SOLDIERTYPE *pSoldier, INT8 bSquadValue )
return ( CHARACTER_CANT_JOIN_SQUAD );
}
if ( pSoldier->bAssignment == ASSIGNMENT_POW || (pSoldier->bAssignment == ASSIGNMENT_MINIEVENT && pSoldier->ubHoursRemainingOnMiniEvent > 0))
if ( pSoldier->bAssignment == ASSIGNMENT_POW || (pSoldier->bAssignment == ASSIGNMENT_MINIEVENT && pSoldier->ubHoursRemainingOnMiniEvent > 0) || (pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND) )
{
// not allowed to be put on a squad
return( CHARACTER_CANT_JOIN_SQUAD );
@@ -4872,7 +4881,7 @@ struct RepairItem {
item(object), owner(soldier), inventorySlot(slot) {}
};
struct RepairPriority : std::binary_function<RepairItem, RepairItem, bool> {
struct RepairPriority {
/// Comperator function
bool operator() (const RepairItem& firstItem, const RepairItem& secondItem) const {
UINT8 priFirst = CalculateItemPriority(firstItem),
@@ -5829,7 +5838,7 @@ void FatigueCharacter( SOLDIERTYPE *pSoldier )
}
// POW?
if( pSoldier->bAssignment == ASSIGNMENT_POW || pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
if( pSoldier->bAssignment == ASSIGNMENT_POW || pSoldier->bAssignment == ASSIGNMENT_MINIEVENT || pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND )
{
return;
}
@@ -6135,7 +6144,8 @@ void HandleTrainingInSector( INT16 sMapX, INT16 sMapY, INT8 bZ )
}
// check if we're doing a sector where militia can be trained
if( ( (StrategicMap[CALCULATE_STRATEGIC_INDEX(sMapX, sMapY) ].bNameId != BLANK_SECTOR ) || ( fSamSiteInSector == TRUE ) ) && (bZ == 0) )
const BOOL canTrainMilitiaAnywhere = RebelCommand::CanTrainMilitiaAnywhere();
if( (canTrainMilitiaAnywhere || (StrategicMap[CALCULATE_STRATEGIC_INDEX(sMapX, sMapY) ].bNameId != BLANK_SECTOR ) || ( fSamSiteInSector == TRUE ) ) && (bZ == 0) )
{
// init town trainer list
memset( TownTrainer, 0, sizeof( TownTrainer ) );
@@ -7897,7 +7907,7 @@ BOOLEAN TrainTownInSector( SOLDIERTYPE *pTrainer, INT16 sMapX, INT16 sMapY, INT1
// get town index
ubTownId = StrategicMap[CALCULATE_STRATEGIC_INDEX(pTrainer->sSectorX, pTrainer->sSectorY ) ].bNameId;
if( fSamSiteInSector == FALSE )
if( fSamSiteInSector == FALSE && !RebelCommand::CanTrainMilitiaAnywhere())
{
AssertNE(ubTownId, BLANK_SECTOR);
}
@@ -10707,7 +10717,7 @@ void HandleShadingOfLinesForAssignmentMenus( void )
}
// radio scan
if( pSoldier->CanUseRadio() )
if( BasicCanCharacterAssignment( pSoldier, TRUE ) && pSoldier->CanUseRadio() )
{
// unshade line
UnShadeStringInBox( ghAssignmentBox, ASSIGN_MENU_RADIO_SCAN );
@@ -16311,7 +16321,7 @@ void HandleRestFatigueAndSleepStatus( void )
continue;
}
if( ( pSoldier->bAssignment == ASSIGNMENT_POW ) || ( pSoldier->bAssignment == IN_TRANSIT ) || ( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) )
if( ( pSoldier->bAssignment == ASSIGNMENT_POW ) || ( pSoldier->bAssignment == IN_TRANSIT ) || ( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) || ( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) )
{
continue;
}
@@ -16460,7 +16470,7 @@ void HandleRestFatigueAndSleepStatus( void )
continue;
}
if( ( pSoldier->bAssignment == ASSIGNMENT_POW ) || ( pSoldier->bAssignment == IN_TRANSIT ) || ( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) )
if( ( pSoldier->bAssignment == ASSIGNMENT_POW ) || ( pSoldier->bAssignment == IN_TRANSIT ) || ( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) || ( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) )
{
continue;
}
@@ -19441,7 +19451,8 @@ BOOLEAN CanCharacterRepairAnotherSoldiersStuff( SOLDIERTYPE *pSoldier, SOLDIERTY
( AM_A_ROBOT( pSoldier ) ) ||
( pSoldier->ubWhatKindOfMercAmI == MERC_TYPE__EPC ) ||
( pOtherSoldier->bAssignment == ASSIGNMENT_DEAD ) ||
( pOtherSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) )
( pOtherSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) ||
( pOtherSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) )
{
return( FALSE );
}
@@ -20164,6 +20175,9 @@ BOOLEAN CanCharacterTrainMilitiaWithErrorReport( SOLDIERTYPE *pSoldier )
}
}
if (RebelCommand::CanTrainMilitiaAnywhere() && GetTownIdForSector(pSoldier->sSectorX, pSoldier->sSectorY) == BLANK_SECTOR)
ubFacilityTrainersAllowed = RebelCommand::GetMaxTrainersForTrainMilitiaAnywhere();
// If we are here, then TrainersAllowed > 0.
// Otherwise we'd have failed the BasicCanTrain check
if ( CountMilitiaTrainersInSoldiersSector( pSoldier, TOWN_MILITIA ) >= ubFacilityTrainersAllowed )
+1
View File
@@ -100,6 +100,7 @@ enum
ADMINISTRATION, // merc boosts the effectiveness of other mercs
EXPLORATION, // merc searches the sector for undiscovered items
ASSIGNMENT_MINIEVENT,
ASSIGNMENT_REBELCOMMAND,
NUM_ASSIGNMENTS,
};
+3 -20
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "GameSettings.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include "types.h"
@@ -73,7 +69,6 @@
#include "DynamicDialogue.h" // added by Flugente
#include "MilitiaIndividual.h" // added by Flugente
#include "Rebel Command.h"
#endif
#include "Reinforcement.h"
@@ -638,6 +633,7 @@ DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"Autoresolve1");
switch( GetEnemyEncounterCode() )
{
case ENEMY_ENCOUNTER_CODE:
case TRANSPORT_INTERCEPT_CODE:
gpAR->ubPlayerDefenceAdvantage = 21; //Skewed to the player's advantage for convenience purposes.
break;
case ENEMY_INVASION_CODE:
@@ -1750,6 +1746,7 @@ void RenderAutoResolve()
swprintf( str, gpStrategicString[STR_AR_ATTACK_HEADER] );
break;
case ENEMY_ENCOUNTER_CODE:
case TRANSPORT_INTERCEPT_CODE:
swprintf( str, gpStrategicString[STR_AR_ENCOUNTER_HEADER] );
break;
case ENEMY_INVASION_CODE:
@@ -2209,19 +2206,6 @@ void CreateAutoResolveInterface()
ubRegMilitia += bonusRegularMilitia;
ubGreenMilitia += bonusGreenMilitia;
// This block should be unnecessary. If the counts do not line up, there is a bug.
#if 0
while( ubEliteMilitia + ubRegMilitia + ubGreenMilitia < gpAR->ubCivs )
{
switch( PreRandom( 3 ) )
{
case 0: ubEliteMilitia++; break;
case 1: ubRegMilitia++; break;
case 2: ubGreenMilitia++; break;
}
}
#endif
cnt = 0;
// Add the militia in this sector
ARCreateMilitiaSquad( &cnt, ubEliteMilitia, ubRegMilitia, ubGreenMilitia, gpAR->ubSectorX, gpAR->ubSectorY);
@@ -6076,6 +6060,5 @@ BOOLEAN IndividualMilitiaInUse_AutoResolve( UINT32 aMilitiaId )
}
}
}
return FALSE;
}
}
+67
View File
@@ -0,0 +1,67 @@
set(StrategicSrc
"${CMAKE_CURRENT_SOURCE_DIR}/AI Viewer.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/ASD.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Assignments.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Auto Resolve.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Campaign Init.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Creature Spreading.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Facilities.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Game Clock.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Game Event Hook.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Game Events.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Game Init.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Hourly Update.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Ja25 Strategic Ai.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Luaglobal.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/LuaInitNPCs.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Map Screen Helicopter.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Map Screen Interface Border.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Map Screen Interface Bottom.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Map Screen Interface Map Inventory.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Map Screen Interface Map.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Map Screen Interface TownMine Info.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Map Screen Interface.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/MapScreen Quotes.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/mapscreen.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Meanwhile.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Merc Contract.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/MilitiaIndividual.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/MilitiaSquads.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/MiniEvents.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Player Command.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/PreBattle Interface.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Queen Command.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Quest Debug System.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Quests.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Rebel Command.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Reinforcement.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Scheduling.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Strategic AI.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Strategic Event Handler.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Strategic Merc Handler.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Strategic Mines LUA.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Strategic Mines.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Strategic Movement Costs.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Strategic Movement.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Strategic Pathing.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Strategic Status.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Strategic Town Loyalty.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/strategic town reputation.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Strategic Transport Groups.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Strategic Turns.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/strategic.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/strategicmap.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Town Militia.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/UndergroundInit.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Army.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Bloodcats.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_CoolnessBySector.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Creatures.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_ExtraItems.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Facilities.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_FacilityTypes.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Minerals.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_SectorNames.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_SquadNames.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_UniformColors.cpp"
PARENT_SCOPE)
-5
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "XML.h"
#else
#include "ASD.h" // added by Flugente
#include "types.h"
#include "Campaign Init.h"
@@ -17,7 +13,6 @@
#include "expat.h"
#include "Debug Control.h"
#include "Tactical Save.h"
#endif
#include "connect.h"
#include <vfs/Core/vfs.h>
-5
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "GameSettings.h"
#else
#include "types.h"
#include "fileman.h"
#include "himage.h"
@@ -36,7 +32,6 @@
#include "Isometric Utils.h" // added by Flugente
#include "Soldier Create.h" // added by Flugente
#include "Player Command.h" // added by Flugente
#endif
#include "Strategic Mines.h"
#include "connect.h"
-5
View File
@@ -8,10 +8,6 @@
#include "builddefines.h"
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "GameSettings.h"
#else
#include "Campaign Types.h"
#include "Facilities.h"
#include "Soldier Control.h"
@@ -38,7 +34,6 @@
#include "Isometric Utils.h"
#include "MilitiaSquads.h"
#include "Tactical Save.h"
#endif
INT16 gsSkyriderCostModifier;
// HEADROCK HAM 3.6: Strategic info variable, total of income/costs accumulated for the use of facilities today.
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "sgp.h"
#include "Game Clock.h"
#include "Font.h"
@@ -25,7 +22,6 @@
#include "gamescreen.h"
#include "Map Information.h"
#include "GameSettings.h"
#endif
#include "LuaInitNPCs.h"
+11 -17
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "InIReader.h"
#else
#include "types.h"
#include "Game Events.h"
#include "soundman.h"
@@ -51,7 +47,8 @@
#include "Player Command.h" // added by Flugente
#include "LuaInitNPCs.h" // added by Flugente
#include "MiniEvents.h"
#endif
#include "Rebel Command.h"
#include "interface Dialogue.h"
#include "connect.h"
@@ -105,18 +102,6 @@ BOOLEAN ExecuteStrategicEvent( STRATEGICEVENT *pEvent )
{
BOOLEAN bMercDayOne = FALSE;
// BF : file access is bad, especially if a function is called so often.
#if 0
// Kaiden: Opening the INI File
CIniReader iniReader("..\\Ja2_Options.ini");
if(is_networked) memset(&iniReader, 0, sizeof (CIniReader) );//disable ini in mp (taking default values)
//Kaiden: Getting Value for MERC Available on Day one?
// for some reason, this can't be in gamesettings.cpp
// or it won't work.
bMercDayOne = iniReader.ReadBoolean("Options","MERC_DAY_ONE",FALSE);
#endif
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"ExecuteStrategicEvent");
if( gGameExternalOptions.gfEnableEmergencyButton_SkipStrategicEvents && _KeyDown( NUM_LOCK ) )
@@ -680,6 +665,15 @@ BOOLEAN ExecuteStrategicEvent( STRATEGICEVENT *pEvent )
CheckMiniEvents(pEvent->uiParam);
}
break;
case EVENT_REBELCOMMAND:
RebelCommand::HandleStrategicEvent(pEvent->uiParam);
break;
case EVENT_RETURN_TRANSPORT_GROUP:
// for this action, we only care about the groupid, which is in the event param
ExecuteStrategicAIAction(NPC_ACTION_RETURN_TRANSPORT_GROUP, 0, 0, pEvent->uiParam);
break;
}
gfPreventDeletionOfAnyEvent = fOrigPreventFlag;
return TRUE;
+6 -1
View File
@@ -152,6 +152,11 @@ enum
EVENT_MINIEVENT,
EVENT_REBELCOMMAND,
EVENT_RETURN_TRANSPORT_GROUP,
EVENT_TRANSPORT_GROUP_DEFEATED,
NUMBER_OF_EVENT_TYPES_PLUS_ONE,
NUMBER_OF_EVENT_TYPES = NUMBER_OF_EVENT_TYPES_PLUS_ONE - 1
};
@@ -215,4 +220,4 @@ void DeleteAllStrategicEvents();
// Flugente: return vector of all events of type ubCallbackID with time and param
std::vector< std::pair<UINT32, UINT32> > GetAllStrategicEventsOfType( UINT8 ubCallbackID );
#endif
#endif
+2 -4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include "types.h"
@@ -12,7 +9,6 @@
#include "message.h"
#include "MiniEvents.h"
#include "Text.h"
#endif
#ifdef JA2TESTVERSION
@@ -140,6 +136,8 @@ CHAR16 gEventName[NUMBER_OF_EVENT_TYPES_PLUS_ONE][40]={
L"bandit attack",
L"ArmyFinishTraining",
L"MiniEvent",
L"ARC_Event",
L"ReturnTransportGroup",
};
#endif
-7
View File
@@ -1,9 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "Language Defines.h"
#include "HelpScreen.h"
#include "GameSettings.h"
#else
#include "sgp.h"
#include "jascreens.h"
#include "laptop.h"
@@ -65,7 +59,6 @@
#include "MiniEvents.h"
#include "Rebel Command.h"
#include "World Items.h"
#endif
#include "Vehicles.h"
#include "text.h"
+2 -4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "Assignments.h"
#include "Strategic Town Loyalty.h"
#include "Strategic Merc Handler.h"
@@ -27,7 +24,6 @@
#include "strategic.h" // added by Flugente
#include "message.h" // added by Flugente for ScreenMsg(...)
#include "Rebel Command.h"
#endif
#include "Luaglobal.h"
#include "LuaInitNPCs.h"
@@ -712,6 +708,7 @@ void HourlyStealUpdate()
&& pSoldier->bAssignment != IN_TRANSIT
&& pSoldier->bAssignment != ASSIGNMENT_POW
&& pSoldier->bAssignment != ASSIGNMENT_MINIEVENT
&& pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND
&& !( ( ( gWorldSectorX == pSoldier->sSectorX ) && ( gWorldSectorY == pSoldier->sSectorY ) && ( gbWorldSectorZ == pSoldier->bSectorZ ) ) && ( gTacticalStatus.fEnemyInSector || guiCurrentScreen == GAME_SCREEN ) ) )
{
UINT8 ubSectorId = SECTOR( pSoldier->sSectorX, pSoldier->sSectorY );
@@ -741,6 +738,7 @@ void HourlyStealUpdate()
&& pOtherSoldier->bAssignment != IN_TRANSIT
&& pOtherSoldier->bAssignment != ASSIGNMENT_POW
&& pOtherSoldier->bAssignment != ASSIGNMENT_MINIEVENT
&& pOtherSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND
&& !SPY_LOCATION( pOtherSoldier->bAssignment )
&& pOtherSoldier->bActive
&& !pOtherSoldier->flags.fMercAsleep
+1 -5
View File
@@ -1,8 +1,5 @@
#include "builddefines.h"
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "strategicmap.h"
#include "strategic.h"
#include "Strategic Mines.h"
@@ -70,7 +67,6 @@
#include "physics.h"
#include "Auto Resolve.h"
#include "cursors.h"
#endif
#ifdef JA2UB
#include "Soldier Init List.h"
@@ -2967,4 +2963,4 @@ void AddJA25AIDataToSector( JA25_SECTOR_AI *pSectorAIInfo )
*/
}
#endif
#endif
+58 -52
View File
@@ -11,7 +11,6 @@
#include "Game Init.h"
#include "interface Dialogue.h"
#include "opplist.h"
#include "Strategic All.h"
#include "pits.h"
#include "Game Event Hook.h"
#include "Creature Spreading.h"
@@ -40,6 +39,12 @@
#include "soldier profile type.h"
#include "history.h"
#include "Merc Hiring.h"
#include "Game Events.h"
#include "email.h"
#include "worldman.h"
#include "text.h"
#include "Dialogue Control.h"
#include "Boxing.h"
#include "LOS.h"
#include "Music Control.h"
@@ -75,6 +80,22 @@ extern "C" {
#include "BriefingRoom_Data.h"
#include "MiniGame.h" // added by Flugente
#include "Campaign.h"
#include "strategic.h"
#include "PreBattle Interface.h"
#include "Strategic Event Handler.h"
#include "files.h"
#include "finances.h"
#include "Sound Control.h"
#include "SaveLoadMap.h"
#include "renderworld.h"
#include "Keys.h"
#include "Render Fun.h"
#include "Soldier Add.h"
#include "gameloop.h"
#include "Merc Contract.h"
#include "message.h"
#include "Town Militia.h"
extern UINT8 gubWaitingForAllMercsToExitCode;
@@ -12755,22 +12776,7 @@ static bool locationStringToCoordinates_AltSector(std::string loc, UINT8* x, UIN
}
// gather column
#if 0
loc = loc.substr(1);
stringstream ss = stringstream();
if (loc[0] >= '0' && loc[0] <= '9')
{
ss << loc[0];
loc = loc.substr(1);
}
if (loc[0] >= '0' && loc[0] <= '9')
{
ss << loc[0];
loc = loc.substr(1);
}
#else
stringstream ss(loc.substr(1));
#endif
int col = 0;
ss >> col;
if (col >= 1 && col <= 16)
@@ -12809,22 +12815,7 @@ static bool locationStringToCoordinates(std::string loc, UINT8* x, UINT8* y, UIN
}
// gather column
#if 0
loc = loc.substr(1);
stringstream ss = stringstream();
if (loc[0] >= '0' && loc[0] <= '9')
{
ss << loc[0];
loc = loc.substr(1);
}
if (loc[0] >= '0' && loc[0] <= '9')
{
ss << loc[0];
loc = loc.substr(1);
}
#else
stringstream ss(loc);
#endif
int col = 0;
ss >> col;
if (col >= 1 && col <= 16)
@@ -13623,43 +13614,58 @@ static int l_GetNumHostilesInSector( lua_State *L )
void LuaGetIntelAndQuestMapData( INT32 aLevel )
{
const char* filename = "scripts\\strategicmap.lua";
static LuaScopeState _LS(true);
static bool isInitialized = false;
LuaScopeState _LS( true );
IniFunction( _LS.L(), TRUE );
IniGlobalGameSetting( _LS.L() );
SGP_THROW_IFFALSE( _LS.L.EvalFile( filename ), _BS( "Cannot open file: " ) << filename << _BS::cget );
// Initialize only once during lifetime of program
if (!isInitialized)
{
isInitialized = true;
IniFunction(_LS.L(), TRUE);
IniGlobalGameSetting(_LS.L());
const char* filename = "scripts\\strategicmap.lua";
SGP_THROW_IFFALSE(_LS.L.EvalFile(filename), _BS("Cannot open file: ") << filename << _BS::cget);
}
IniGlobalGameSetting(_LS.L());
LuaFunction( _LS.L, "GetIntelAndQuestMapData" ).Param<int>( aLevel ).Call( 1 );
}
void SetFactoryLeftoverProgress( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ, UINT16 usFacilityType, UINT16 usProductionNumber, INT32 sProgressLeft )
{
const char* filename = "scripts\\strategicmap.lua";
static LuaScopeState _LS(true);
static bool isInitialized = false;
LuaScopeState _LS( true );
IniFunction( _LS.L(), TRUE );
IniGlobalGameSetting( _LS.L() );
SGP_THROW_IFFALSE( _LS.L.EvalFile( filename ), _BS( "Cannot open file: " ) << filename << _BS::cget );
// Initialize only once during lifetime of program
if (!isInitialized)
{
isInitialized = true;
IniFunction(_LS.L(), TRUE);
IniGlobalGameSetting(_LS.L());
const char* filename = "scripts\\strategicmap.lua";
SGP_THROW_IFFALSE(_LS.L.EvalFile(filename), _BS("Cannot open file: ") << filename << _BS::cget);
}
IniGlobalGameSetting(_LS.L());
LuaFunction( _LS.L, "SetFactoryLeftoverProgress" ).Param<int>( sSectorX ).Param<int>( sSectorY ).Param<int>( bSectorZ ).Param<int>( usFacilityType ).Param<int>( usProductionNumber ).Param<int>( sProgressLeft ).Call( 6 );
}
INT32 GetFactoryLeftoverProgress( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ, UINT16 usFacilityType, UINT16 usProductionNumber )
{
const char* filename = "scripts\\strategicmap.lua";
static LuaScopeState _LS( true );
static bool isInitialized = false;
LuaScopeState _LS( true );
IniFunction( _LS.L(), TRUE );
IniGlobalGameSetting( _LS.L() );
SGP_THROW_IFFALSE( _LS.L.EvalFile( filename ), _BS( "Cannot open file: " ) << filename << _BS::cget );
// Initialize only once during lifetime of program
if (!isInitialized)
{
isInitialized = true;
IniFunction( _LS.L(), TRUE );
IniGlobalGameSetting(_LS.L());
const char* filename = "scripts\\strategicmap.lua";
SGP_THROW_IFFALSE( _LS.L.EvalFile( filename ), _BS( "Cannot open file: " ) << filename << _BS::cget );
}
IniGlobalGameSetting(_LS.L());
LuaFunction( _LS.L, "GetFactoryLeftoverProgress" ).Param<int>( sSectorX ).Param<int>( sSectorY ).Param<int>( bSectorZ ).Param<int>( usFacilityType ).Param<int>( usProductionNumber ).Call( 5 );
if ( lua_gettop( _LS.L() ) >= 0 )
+2 -1
View File
@@ -6,7 +6,6 @@
#include "FileMan.h"
#include "GameSettings.h"
#include "interface Dialogue.h"
#include "Strategic All.h"
#include "Luaglobal.h"
#include "Boxing.h"
#include "LuaInitNPCs.h"
@@ -36,6 +35,8 @@ extern "C" {
#include "lualib.h"
}
#include "strategicmap.h"
#include "Map Screen Interface.h"
using namespace std;
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "Map Screen Helicopter.h"
#include "LaptopSave.h"
#include "Vehicles.h"
@@ -44,7 +41,6 @@
#include "expat.h"
#include "merc entering.h" // added by Flugente
#include "ASD.h" // added by Flugente
#endif
#include "Vehicles.h"
#include "NPC.h"
+1 -5
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "Map Screen Interface Border.h"
#include "Types.h"
#include "vsurface.h"
@@ -31,7 +28,6 @@
#include "popup_callback.h"
#include "popup_class.h"
#include "Queen Command.h" // added by Flugente
#endif
#include "connect.h"
@@ -128,7 +124,7 @@ BOOLEAN LoadMapBorderGraphics( void )
{
FilenameForBPP( "INTERFACE\\MBS.sti", VObjectDesc.ImageFile );
}
else if (iResolution == _1280x720)
else if (isWidescreenUI())
{
FilenameForBPP("INTERFACE\\MBS_1280x720.sti", VObjectDesc.ImageFile);
}
+4 -7
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "Map Screen Interface Bottom.h"
#include "Map Screen Interface Border.h"
#include "Types.h"
@@ -48,7 +45,6 @@
#include "Interface Control.h"
#include "Sys Globals.h"
#include "game init.h"
#endif
#ifdef JA2UB
#include "Ja25 Strategic Ai.h"
@@ -270,7 +266,7 @@ void HandleLoadOfMapBottomGraphics( void )
{
FilenameForBPP( "INTERFACE\\map_screen_bottom.sti", VObjectDesc.ImageFile );
}
else if (iResolution == _1280x720)
else if (isWidescreenUI())
{
FilenameForBPP("INTERFACE\\map_screen_bottom_1280x720.sti", VObjectDesc.ImageFile);
}
@@ -344,7 +340,7 @@ void RenderMapScreenInterfaceBottom( BOOLEAN fForceMapscreenFullRender )
// HEADROCK HAM 3.6: OK, let's always render this panel, as long as the team inventory screen isn't open.
// sevenfm: improved r8524 fix to work with 1280x720 resolution
//if (fMapScreenBottomDirty || ((!fShowInventoryFlag || iResolution > _1024x600) && fForceMapscreenFullRender))
if ((!fShowInventoryFlag || iResolution > _1280x720) && (fMapScreenBottomDirty || fForceMapscreenFullRender))
if ( (!fShowInventoryFlag || iResolution > _1024x600) && (fMapScreenBottomDirty || fForceMapscreenFullRender))
{
// get and blt panel
GetVideoObject(&hHandle, guiMAPBOTTOMPANEL );
@@ -1296,7 +1292,7 @@ void EnableDisableBottomButtonsAndRegions( void )
{
DisableButton( giMapInvDoneButton );
}
else
else if (!isWidescreenUI())
{
EnableButton( giMapInvDoneButton );
}
@@ -1795,6 +1791,7 @@ BOOLEAN AnyUsableRealMercenariesOnTeam( void )
( pSoldier->bAssignment != ASSIGNMENT_POW ) &&
( pSoldier->bAssignment != ASSIGNMENT_DEAD ) &&
( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) &&
( pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND ) &&
( pSoldier->ubWhatKindOfMercAmI != MERC_TYPE__EPC ) )
{
return( TRUE );
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "GameSettings.h"
#else
#include "Map Screen Interface Map Inventory.h"
#include "Render Dirty.h"
#include "vobject.h"
@@ -34,7 +30,6 @@
#include "rt time defines.h"
#include "Encyclopedia_new.h" //Moa: item visibility
#include "Town Militia.h" // added by Flugente
#endif
#include "ShopKeeper Interface.h"
#include "ArmsDealerInvInit.h"
@@ -45,6 +40,7 @@
#include "Interface Items.h"
#include "Food.h" // added by Flugente
#include "Campaign Types.h" // added by Flugente
#include "mapscreen.h"
//forward declarations of common classes to eliminate includes
class OBJECTTYPE;
@@ -453,7 +449,7 @@ BOOLEAN LoadInventoryPoolGraphic( void )
{
sprintf( VObjectDesc.ImageFile, "INTERFACE\\sector_inventory.sti" );
}
else if (iResolution == _1280x720)
else if (isWidescreenUI())
{
sprintf(VObjectDesc.ImageFile, "INTERFACE\\sector_inventory_1280x720.sti");
}
@@ -592,7 +588,7 @@ BOOLEAN RenderItemInPoolSlot( INT32 iCurrentSlot, INT32 iFirstSlotOnPage )
INT16 sCenX, sCenY, usWidth, usHeight, sX, sY;
HVOBJECT hHandle;
ETRLEObject *pTrav;
CHAR16 sString[ 64 ];
CHAR16 sString[ 80 ];
INT16 sWidth = 0, sHeight = 0;
INT16 sOutLine = 0;
BOOLEAN fOutLine = FALSE;
@@ -1096,24 +1092,8 @@ void SaveSeenAndUnseenItems( void )
//make list of seen items
for ( UINT32 i = 0; i < pInventoryPoolList.size(); i++ )
{
#if 0
if ( pInventoryPoolList[ i ].object.exists() )
{
pInventoryPoolList[ i ].fExists = TRUE;
pInventoryPoolList[ i ].bVisible = TRUE;
//Check
if(TileIsOutOfBounds( pInventoryPoolList[ i ].sGridNo) && !( pInventoryPoolList[ i ].usFlags & WORLD_ITEM_GRIDNO_NOT_SET_USE_ENTRY_POINT ) )
{
pInventoryPoolList[ i ].usFlags |= WORLD_ITEM_GRIDNO_NOT_SET_USE_ENTRY_POINT;
// Display warning.....
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_BETAVERSION, L"Error: Trying to add item ( %d: %s ) to invalid gridno in unloaded sector. Please Report.", pInventoryPoolList[ i ].object.usItem, ItemNames[ pInventoryPoolList[ i ].object.usItem] );
}
#else
if ( pInventoryPoolList[i].fExists )
{
#endif
worldItemsSaveList.push_back(pInventoryPoolList[i]);
iExistingItems++;
}
@@ -3630,45 +3610,6 @@ void HandleMouseInCompatableItemForMapSectorInventory( INT32 iCurrentSlot )
{
SOLDIERTYPE *pSoldier = NULL;
static BOOLEAN fItemWasHighLighted = FALSE;
#if 0
if( iCurrentSlot == -1 )
{
giCompatibleItemBaseTime = 0;
}
if( fChangedInventorySlots == TRUE )
{
giCompatibleItemBaseTime = 0;
fChangedInventorySlots = FALSE;
}
// reset the base time to the current game clock
if( giCompatibleItemBaseTime == 0 )
{
giCompatibleItemBaseTime = GetJA2Clock( );
if( fItemWasHighLighted == TRUE )
{
fTeamPanelDirty = TRUE;
fMapPanelDirty = TRUE;
fItemWasHighLighted = FALSE;
}
}
ResetCompatibleItemArray( );
ResetMapSectorInventoryPoolHighLights( );
if( iCurrentSlot == -1 )
{
return;
}
// Check also that we're not beyond the resize.
if (pInventoryPoolList.size() < (UINT32)(iCurrentSlot + ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) ))
{
return;
}
#else
//if same slot then before dont recalculate
if ( !fChangedInventorySlots ) return;
@@ -3694,36 +3635,10 @@ void HandleMouseInCompatableItemForMapSectorInventory( INT32 iCurrentSlot )
}
return;
}
#endif
// given this slot value, check if anything in the displayed sector inventory or on the mercs inventory is compatable
if( fShowInventoryFlag )
{
#if 0
// check if any compatable items in the soldier inventory matches with this item
if( gfCheckForCursorOverMapSectorInventoryItem )
{
pSoldier = &Menptr[ gCharactersList[ bSelectedInfoChar ].usSolID ];
if( pSoldier )
{
if( HandleCompatibleAmmoUIForMapScreen( pSoldier, iCurrentSlot + ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ), TRUE, FALSE ) )
{
if( GetJA2Clock( ) - giCompatibleItemBaseTime > 100 )
{
if( fItemWasHighLighted == FALSE )
{
fTeamPanelDirty = TRUE;
fItemWasHighLighted = TRUE;
}
}
}
}
}
else
{
giCompatibleItemBaseTime = 0;
}
#else
//Soldier inventory is shown, highlight those items
pSoldier = &Menptr[ gCharactersList[ bSelectedInfoChar ].usSolID ];
if( pSoldier )
@@ -3734,40 +3649,17 @@ void HandleMouseInCompatableItemForMapSectorInventory( INT32 iCurrentSlot )
}
fTeamPanelDirty = TRUE;
}
#endif
}
// now handle for the sector inventory
if( fShowMapInventoryPool )
{
#if 0
// check if any compatable items in the soldier inventory matches with this item
if( gfCheckForCursorOverMapSectorInventoryItem )
{
if( HandleCompatibleAmmoUIForMapInventory( pSoldier, iCurrentSlot, ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) , TRUE, FALSE ) )
{
if( GetJA2Clock( ) - giCompatibleItemBaseTime > 100 )
{
if( fItemWasHighLighted == FALSE )
{
fItemWasHighLighted = TRUE;
fMapPanelDirty = TRUE;
}
}
}
}
else
{
giCompatibleItemBaseTime = 0;
}
#else
if( HandleCompatibleAmmoUIForMapInventory( pSoldier, iCurrentSlot, ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) , TRUE, FALSE ) )
{
fItemWasHighLighted = TRUE;//remember that something is highlighted
}
fMapPanelDirty = TRUE;
#endif
}
fChangedInventorySlots = FALSE;
@@ -3875,79 +3767,11 @@ void CheckGridNoOfItemsInMapScreenMapInventory()
void SortSectorInventory( std::vector<WORLDITEM>& pInventory, UINT32 uiSizeOfArray )
{
#if 0//dnl ch75 011113 return code from v1.12 as current one is terrible slow
//first, compress the inventory by stacking like items that are reachable, while moving empty items towards the back
for (std::vector<WORLDITEM>::iterator iter = pInventory.begin(); iter != pInventory.end(); ++iter) {
//if object exists, we want to try to stack it
if (iter->fExists && iter->object.exists() == true) {
//ADB TODO if it is active and reachable etc, alternatively if it's on the same gridNo
#if 0
if (iter->object.ubNumberOfObjects < ItemSlotLimit( iter->object.usItem, STACK_SIZE_LIMIT )) {
std::vector<WORLDITEM>::iterator second = iter;
for (++second; second != pInventory.end(); ++second) {
if (second->object.usItem == iter->object.usItem
&& second->object.exists() == true) {
iter->object.AddObjectsToStack(second->object, second->object.ubNumberOfObjects);
if (iter->object.ubNumberOfObjects >= ItemSlotLimit( iter->object.usItem, STACK_SIZE_LIMIT )) {
break;
}
}
}
}
#endif
}
else {
//object does not exist, so compress the list
std::vector<WORLDITEM>::iterator second = iter;
for (++second; second != pInventory.end(); ++second) {
if (second->fExists && second->object.exists() == true) {
*iter = *second;
second->initialize();
break;
}
}
if (second == pInventory.end()) {
//we reached the end of the list without finding any active item, so we can break out of this loop too!
break;
}
}
}
//once compressed, we need only sort the existing items
//all empty items should be at the back!!!
std::vector<WORLDITEM>::iterator endSort = pInventory.begin();
for (unsigned int x = 1; x < pInventory.size(); ++x) {
if (pInventory[x].fExists && pInventory[x].object.exists() == true) {
++endSort;
}
else {
break;
}
}
++endSort;
//ADB I'm not sure qsort will work with OO data, so replace it with stl sort, which is faster anyways
std::sort(pInventory.begin(), endSort);
//then compress it by removing the empty objects, we know they are at the back
//we want the size to equal x * MAP_INVENTORY_POOL_SLOT_COUNT
for (unsigned int x = 1; x <= pInventory.size() / MAP_INVENTORY_POOL_SLOT_COUNT && pInventory.size() > x * MAP_INVENTORY_POOL_SLOT_COUNT; ++x) {
if (pInventory[x * MAP_INVENTORY_POOL_SLOT_COUNT].fExists == false
&& pInventory[x * MAP_INVENTORY_POOL_SLOT_COUNT].object.exists() == false) {
//we have found a page where the first item on the page does not exist, resize to this
//we may have just cut off a blank page leaving the previous page full with no place to put
//any new objects, but ResizeInventoryList after this will take care of that.
pInventory.resize(x * MAP_INVENTORY_POOL_SLOT_COUNT);
}
}
#else
#if _ITERATOR_DEBUG_LEVEL > 1//dnl ch75 061113 under debug VS2010 throws exceptions after qsort but not under VS2005 and VS2008, all release version seems to work fine
std::sort(pInventory.begin(), pInventory.begin() + uiSizeOfArray);
#else
qsort((LPVOID)&pInventory.front(), (size_t)uiSizeOfArray, sizeof(WORLDITEM), MapScreenSectorInventoryCompare);
#endif
#endif
}
INT32 MapScreenSectorInventoryCompare( const void *pNum1, const void *pNum2)
@@ -3960,31 +3784,10 @@ INT32 MapScreenSectorInventoryCompare( const void *pNum1, const void *pNum2)
UINT16 ubItem2Quality;
//dnl ch75 071113 without below fix sort will create mess when use empty slots because fExists remain TRUE after item is removed from inventory so decide to rather check ubNumberOfObjects
#if 0
if(!(pFirst->fExists && pFirst->object.ubNumberOfObjects && pFirst->object.usItem) && (pFirst->fExists | pFirst->object.ubNumberOfObjects | pFirst->object.usItem))
{
pFirst->fExists = FALSE;
pFirst->object.ubNumberOfObjects = 0;
pFirst->object.usItem = NONE;
return(1);
}
if(!(pSecond->fExists && pSecond->object.ubNumberOfObjects && pSecond->object.usItem) && (pSecond->fExists | pSecond->object.ubNumberOfObjects | pSecond->object.usItem))
{
pSecond->fExists = FALSE;
pSecond->object.ubNumberOfObjects = 0;
pSecond->object.usItem = NONE;
return(-1);
}
if(!pFirst->fExists)
return(1);
if(!pSecond->fExists)
return(-1);
#else
if(!pFirst->object.ubNumberOfObjects)
return(1);
if(!pSecond->object.ubNumberOfObjects)
return(-1);
#endif
usItem1Index = pFirst->object.usItem;
usItem2Index = pSecond->object.usItem;
@@ -4162,20 +3965,7 @@ BOOLEAN SortInventoryPoolQ(void)
{
if(pInventoryPoolList.size() > 0)
{
#if 0//dnl ch75 311013
for(INT32 iSlotCounter=0; iSlotCounter<(INT32)pInventoryPoolList.size(); iSlotCounter++)
if(pInventoryPoolList[iSlotCounter].object.usItem == NOTHING && pInventoryPoolList[iSlotCounter].object.exists() == false)
{
pInventoryPoolList[iSlotCounter].fExists = FALSE;
pInventoryPoolList[iSlotCounter].bVisible = FALSE;
}
SortSectorInventory(pInventoryPoolList, pInventoryPoolList.size());
iLastInventoryPoolPage = (pInventoryPoolList.size() - 1) / MAP_INVENTORY_POOL_SLOT_COUNT;
if(iCurrentInventoryPoolPage > iLastInventoryPoolPage)
iCurrentInventoryPoolPage = iLastInventoryPoolPage;
#else
SortSectorInventory(pInventoryPoolList, pInventoryPoolList.size());
#endif
}
fMapPanelDirty = TRUE;
return(TRUE);
@@ -6232,8 +6022,8 @@ void HandleItemCooldownFunctions( OBJECTTYPE* itemStack, INT32 deltaSeconds, BOO
FLOAT newguntemperature = max(0.0f, guntemperature - tickspassed * cooldownfactor ); // ... calculate new temperature ...
#if 0//def JA2TESTVERSION
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"World: Item temperature lowered from %4.2f to %4.2f", guntemperature, newguntemperature );
#if JA2TESTVERSION
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"World: Item temperature lowered from %4.2f to %4.2f", guntemperature, newguntemperature);
#endif
(*itemStack)[i]->data.bTemperature = newguntemperature; // ... set new temperature
@@ -6252,8 +6042,8 @@ void HandleItemCooldownFunctions( OBJECTTYPE* itemStack, INT32 deltaSeconds, BOO
(*iter)[i]->data.bTemperature = newtemperature; // ... set new temperature
#if 0//def JA2TESTVERSION
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"World: Item temperature lowered from %4.2f to %4.2f", temperature, newtemperature );
#if JA2TESTVERSION
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"World: Item temperature lowered from %4.2f to %4.2f", temperature, newtemperature);
#endif
// we assume that there can exist only 1 underbarrel weapon per gun
+63 -7
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "GameSettings.h"
#else
#include "Font.h"
#include "Font Control.h"
#include "mapscreen.h"
@@ -49,7 +45,8 @@
#include "Map Screen Interface Map Inventory.h" // added by Flugente
#include "LuaInitNPCs.h" // added by Flugente
#include "Game Event Hook.h" // added by Flugente
#endif
#include "Rebel Command.h"
#include "Strategic Transport Groups.h"
#include "Quests.h"
#include "connect.h"
@@ -844,6 +841,44 @@ void fillMapColoursForVisitedSectors(INT32(&colorMap)[ MAXIMUM_VALID_Y_COORDINAT
}
}
}
FillMapColoursForTransportGroups(colorMap);
if (RebelCommand::ShowEnemyMovementTargets())
{
const auto targetColor = MAP_SHADE_LT_RED;
GROUP* pGroup = gpGroupList;
while (pGroup)
{
if (pGroup->usGroupTeam == ENEMY_TEAM)
{
const UINT8 intention = pGroup->pEnemyGroup->ubIntention;
if (intention == STAGING
|| intention == REINFORCEMENTS
|| intention == PURSUIT
|| intention == ASSAULT)
{
WAYPOINT* wp = pGroup->pWaypoints;
while (wp)
{
if (wp->next == nullptr)
break;
wp = wp->next;
}
if (GetSectorFlagStatus(wp->x-1, wp->y-1, (UINT8)iCurrentMapSectorZ, SF_ALREADY_VISITED))
{
colorMap[wp->y-1][wp->x-1] = targetColor;
}
}
}
pGroup = pGroup->next;
}
}
}
@@ -1328,6 +1363,7 @@ INT32 ShowAssignedTeam(INT16 sMapX, INT16 sMapY, INT32 iCount)
( pSoldier->bAssignment != IN_TRANSIT ) &&
( pSoldier->bAssignment != ASSIGNMENT_POW ) &&
( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) &&
( pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND ) &&
( pSoldier->stats.bLife > 0 ) &&
( !PlayerIDGroupInMotion( pSoldier->ubGroupID ) ) )
{
@@ -1786,7 +1822,7 @@ BOOLEAN InitializePalettesForMap( void )
if (iResolution >= _640x480 && iResolution < _800x600)
strcpy(vs_desc.ImageFile, "INTERFACE\\b_map.pcx");
else if (iResolution == _1280x720)
else if (isWidescreenUI())
strcpy(vs_desc.ImageFile, "INTERFACE\\b_map_1280x720.pcx");
else if (iResolution < _1024x768)
strcpy(vs_desc.ImageFile, "INTERFACE\\b_map_800x600.pcx");
@@ -6684,7 +6720,7 @@ void HandleLowerLevelMapBlit( void )
offsetY = yVal;
imageIndex = 0;
}
else if (iResolution == _1280x720)
else if (isWidescreenUI())
{
offsetX = xVal + 21;
offsetY = yVal + 17;
@@ -6938,6 +6974,7 @@ BOOLEAN CanMercsScoutThisSector( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ )
( pSoldier->bAssignment == ASSIGNMENT_POW ) ||
( pSoldier->bAssignment == ASSIGNMENT_DEAD ) ||
( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) ||
( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) ||
( pSoldier->flags.fMercAsleep == TRUE ) ||
( pSoldier->stats.bLife < OKLIFE ) )
{
@@ -8550,6 +8587,25 @@ void DetermineMapIntelData( INT32 asSectorZ )
}
}
// transport groups
std::map<UINT8, TransportGroupSectorInfo> map = GetTransportGroupSectorInfo();
for (const auto iter : map)
{
CHAR16 str[128];
switch (iter.second)
{
case TransportGroupSectorInfo::TransportGroupSectorInfo_LocatedGroup:
swprintf( str, gpStrategicString[STR_PB_TRANSPORT_GROUP]);
break;
case TransportGroupSectorInfo::TransportGroupSectorInfo_LocatedDestination:
swprintf( str, gpStrategicString[STR_PB_TRANSPORT_GROUP_EN_ROUTE]);
break;
}
AddIntelAndQuestMapDataForSector( SECTORX(iter.first), SECTORY(iter.first), MAP_SHADE_LT_YELLOW, -1, str, L"" );
}
// uncovered terrorists we know of
for ( int cnt = 0; cnt < 6; ++cnt )
{
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "HelpScreen.h"
#else
#include "Map Screen Interface TownMine Info.h"
#include "strategicmap.h"
#include "popupbox.h"
@@ -31,7 +27,6 @@
#include "Overhead.h" // added by Flugente
#include "Game Clock.h" // added by Flugente
#include "Game Event Hook.h" // added by Flugente
#endif
#include "Strategic Mines.h"
+4 -87
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "Map Screen Interface.h"
#include "string.h"
#include "Map Screen Interface Map.h"
@@ -56,7 +53,6 @@
#include "Food.h"
#include "Personnel.h"
#include "mapscreen.h"
#endif
#include "connect.h"
@@ -1938,7 +1934,7 @@ void UpdateCharRegionHelpText( void )
pSoldier = MercPtrs[ gCharactersList[ bSelectedInfoChar ].usSolID ];
// health/energy/morale
if( pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT )
if( pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT && pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND )
{
if ( pSoldier->stats.bLife != 0 )
{
@@ -2963,85 +2959,6 @@ void DisplayUserDefineHelpTextRegions( FASTHELPREGION *pRegion )
extern void DisplayHelpTokenizedString( const STR16 pStringA, INT16 sX, INT16 sY );
extern INT16 GetNumberOfLinesInHeight( const STR16 pStringA );
extern INT16 GetWidthOfString( const STR16 pStringA );
void DisplaySoldierToolTip( FASTHELPREGION *pRegion )
{
UINT16 usFillColor;
INT32 iX,iY,iW,iH;
UINT8 *pDestBuf;
UINT32 uiDestPitchBYTES;
// grab the color for the background region
usFillColor = Get16BPPColor(FROMRGB(250, 240, 188));
iX = pRegion->iX;
iY = pRegion->iY;
// get the width and height of the string
//iW = (INT32)( pRegion->iW ) + 14;
iW = (INT32)GetWidthOfString( pRegion->FastHelpText ) + 10;
//iH = IanWrappedStringHeight( ( UINT16 )iX, ( UINT16 )iY, ( UINT16 )( pRegion->iW ), 0, FONT10ARIAL, FONT_BLACK, pRegion->FastHelpText, FONT_BLACK, TRUE, 0 );
iH = (INT32)( GetNumberOfLinesInHeight( pRegion->FastHelpText ) * (GetFontHeight(FONT10ARIAL)+1) + 8 );
// tack on the outer border
iH += 14;
// gone not far enough?
if ( iX < 0 )
iX = 0;
// gone too far
if ( ( pRegion->iX + iW ) >= SCREEN_WIDTH )
iX = (SCREEN_WIDTH - iW - 4);
// what about the y value?
iY = (INT32)pRegion->iY - ( iH * 3 / 4);
// not far enough
if (iY < 0)
iY = 0;
// too far
if ( (iY + iH) >= SCREEN_HEIGHT )
iY = (SCREEN_HEIGHT - iH - 15);
pDestBuf = LockVideoSurface( FRAME_BUFFER, &uiDestPitchBYTES );
SetClippingRegionAndImageWidth( uiDestPitchBYTES, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT );
RectangleDraw( TRUE, iX + 1, iY + 1, iX + iW - 1, iY + iH - 1, Get16BPPColor( FROMRGB( 65, 57, 15 ) ), pDestBuf );
RectangleDraw( TRUE, iX, iY, iX + iW - 2, iY + iH - 2, Get16BPPColor( FROMRGB( 227, 198, 88 ) ), pDestBuf );
UnLockVideoSurface( FRAME_BUFFER );
ShadowVideoSurfaceRect( FRAME_BUFFER, iX + 2, iY + 2, iX + iW - 3, iY + iH - 3 );
ShadowVideoSurfaceRect( FRAME_BUFFER, iX + 2, iY + 2, iX + iW - 3, iY + iH - 3 );
// fillt he video surface areas
//ColorFillVideoSurfaceArea(FRAME_BUFFER, iX, iY, (iX + iW), (iY + iH), 0);
//ColorFillVideoSurfaceArea(FRAME_BUFFER, (iX + 1), (iY + 1), (iX + iW - 1), (iY + iH - 1), usFillColor);
SetFont( FONT10ARIAL );
SetFontForeground( FONT_BEIGE );
//iH = ( INT32 )DisplayWrappedString( ( INT16 )( iX + 10 ), ( INT16 )( iY + 6 ), ( INT16 )pRegion->iW, 0, FONT10ARIAL, FONT_BEIGE, pRegion->FastHelpText, FONT_NEARBLACK, TRUE, 0 );
DisplayHelpTokenizedString( pRegion->FastHelpText ,( INT16 )( iX + 5 ), ( INT16 )( iY + 5 ) );
iHeightOfInitFastHelpText = iH + 20;
InvalidateRegion( iX, iY, (iX + iW) , (iY + iH + 20 ) );
}
void DisplayFastHelpForInitialTripInToMapScreen( FASTHELPREGION *pRegion )
{
if( gTacticalStatus.fDidGameJustStart )
@@ -3713,7 +3630,7 @@ void SetUpMovingListsForSector( INT16 sSectorX, INT16 sSectorY, INT16 sSectorZ )
pSoldier = MercPtrs[ gCharactersList[ iCounter ].usSolID ];
if( ( pSoldier->bActive ) &&
( pSoldier->bAssignment != IN_TRANSIT ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && !SPY_LOCATION( pSoldier->bAssignment ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) &&
( pSoldier->bAssignment != IN_TRANSIT ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && !SPY_LOCATION( pSoldier->bAssignment ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) && ( pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND ) &&
( pSoldier->sSectorX == sSectorX ) && ( pSoldier->sSectorY == sSectorY ) && ( pSoldier->bSectorZ == sSectorZ ) )
{
if ( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE )
@@ -6097,8 +6014,8 @@ BOOLEAN CanCharacterMoveInStrategic( SOLDIERTYPE *pSoldier, INT8 *pbErrorNumber
return( FALSE );
}
// mini event?
if ( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
// mini event/rebel command?
if ( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT || pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND )
{
*pbErrorNumber = 29;
return( FALSE );
+1 -5
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "Map Screen Interface.h"
#include "string.h"
#include "Map Screen Interface Map.h"
@@ -47,7 +44,6 @@
#include "Air Raid.h"
#include "Queen Command.h"
#include "Render Fun.h"
#endif
#include "connect.h"
@@ -477,4 +473,4 @@ BOOLEAN HasJerryAlreadySaidTheMapScreenIntroSequence()
}
}
#endif
#endif
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "sgp.h"
#include "meanwhile.h"
#include "PreBattle Interface.h"
@@ -36,7 +33,6 @@
#include "Campaign Types.h"
#include "Squads.h"
#include "Random.h"
#endif
#include "GameInitOptionsScreen.h"
-40
View File
@@ -1,8 +1,5 @@
#include "builddefines.h"
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "Types.h"
#include "Merc Contract.h"
#include "Soldier Profile.h"
@@ -38,7 +35,6 @@
#include "Vehicles.h"
#include "email.h"
#include "Map Screen Helicopter.h"
#endif
#include "GameSettings.h"
#include "connect.h"
@@ -1377,42 +1373,6 @@ BOOLEAN HandleFiredDeadMerc( SOLDIERTYPE *pSoldier )
{
AddCharacterToDeadList( pSoldier );
#if 0
//if the dead merc is in the current sector
if( pSoldier->sSectorX == gWorldSectorX &&
pSoldier->sSectorY == gWorldSectorY &&
pSoldier->bSectorZ == gbWorldSectorZ )
{
TurnSoldierIntoCorpse( pSoldier, FALSE, FALSE );
}
else
{
ROTTING_CORPSE_DEFINITION Corpse;
// Setup some values!
Corpse.ubBodyType = pSoldier->ubBodyType;
Corpse.sGridNo = pSoldier->sInsertionGridNo;
Corpse.dXPos = pSoldier->dXPos;
Corpse.dYPos = pSoldier->dYPos;
Corpse.sHeightAdjustment = pSoldier->sHeightAdjustment;
SET_PALETTEREP_ID ( Corpse.HeadPal, pSoldier->HeadPal );
SET_PALETTEREP_ID ( Corpse.VestPal, pSoldier->VestPal );
SET_PALETTEREP_ID ( Corpse.SkinPal, pSoldier->SkinPal );
SET_PALETTEREP_ID ( Corpse.PantsPal, pSoldier->PantsPal );
Corpse.bDirection = pSoldier->ubDirection;
// Set time of death
Corpse.uiTimeOfDeath = GetWorldTotalMin( );
// Set type
Corpse.ubType = (UINT8)gubAnimSurfaceCorpseID[ pSoldier->ubBodyType][ pSoldier->usAnimState ];
//Add the rotting corpse info to the sectors unloaded rotting corpse file
AddRottingCorpseToUnloadedSectorsRottingCorpseFile( pSoldier->sSectorX, pSoldier->sSectorY, pSoldier->bSectorZ, &Corpse);
}
#endif
return( TRUE );
}
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "Town Militia.h"
#include "Militia Control.h"
#include "Campaign Types.h"
@@ -30,7 +27,6 @@
#include "mapscreen.h"
#include "Strategic Pathing.h"
#include "GameVersion.h"
#endif
#include "connect.h"
#include "MilitiaSquads.h"
+16 -17
View File
@@ -9,10 +9,6 @@ Mini events are set up in MiniEvents.lua. This file handles mini event triggers
to call into.
*/
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "GameSettings.h"
#else
#include "MiniEvents.h"
#include "Assignments.h"
@@ -44,7 +40,6 @@ to call into.
#include "Text.h"
#include "Town Militia.h"
#include "Vehicles.h"
#endif
extern "C" {
#include "lua.h"
@@ -346,7 +341,7 @@ namespace MiniEventHelpers
gMercProfiles[merc->ubProfile].bLife = min(gMercProfiles[merc->ubProfile].bLife, gMercProfiles[merc->ubProfile].bLifeMax);
merc->usValueGoneUp &= ~( HEALTH_INCREASE );
}
else
else if (amount > 0)
{
gMercProfiles[merc->ubProfile].bLifeDelta += amount;
merc->usValueGoneUp |= HEALTH_INCREASE;
@@ -364,7 +359,7 @@ namespace MiniEventHelpers
gMercProfiles[merc->ubProfile].bStrength = merc->stats.bStrength;
merc->usValueGoneUp &= ~( STRENGTH_INCREASE );
}
else
else if (amount > 0)
{
gMercProfiles[merc->ubProfile].bStrengthDelta += amount;
merc->usValueGoneUp |= STRENGTH_INCREASE;
@@ -382,7 +377,7 @@ namespace MiniEventHelpers
gMercProfiles[merc->ubProfile].bAgility = merc->stats.bAgility;
merc->usValueGoneUp &= ~( AGIL_INCREASE );
}
else
else if (amount > 0)
{
gMercProfiles[merc->ubProfile].bAgilityDelta += amount;
merc->usValueGoneUp |= AGIL_INCREASE;
@@ -400,7 +395,7 @@ namespace MiniEventHelpers
gMercProfiles[merc->ubProfile].bDexterity = merc->stats.bDexterity;
merc->usValueGoneUp &= ~( DEX_INCREASE );
}
else
else if (amount > 0)
{
gMercProfiles[merc->ubProfile].bDexterityDelta += amount;
merc->usValueGoneUp |= DEX_INCREASE;
@@ -418,7 +413,7 @@ namespace MiniEventHelpers
gMercProfiles[merc->ubProfile].bWisdom = merc->stats.bWisdom;
merc->usValueGoneUp &= ~( WIS_INCREASE );
}
else
else if (amount > 0)
{
gMercProfiles[merc->ubProfile].bWisdomDelta += amount;
merc->usValueGoneUp |= WIS_INCREASE;
@@ -435,7 +430,7 @@ namespace MiniEventHelpers
gMercProfiles[merc->ubProfile].bLeadership = merc->stats.bLeadership;
merc->usValueGoneUp &= ~( LDR_INCREASE );
}
else
else if (amount > 0)
{
gMercProfiles[merc->ubProfile].bLeadershipDelta += amount;
merc->usValueGoneUp |= LDR_INCREASE;
@@ -452,7 +447,7 @@ namespace MiniEventHelpers
gMercProfiles[merc->ubProfile].bMarksmanship = merc->stats.bMarksmanship;
merc->usValueGoneUp &= ~( MRK_INCREASE );
}
else
else if (amount > 0)
{
gMercProfiles[merc->ubProfile].bMarksmanshipDelta += amount;
merc->usValueGoneUp |= MRK_INCREASE;
@@ -469,7 +464,7 @@ namespace MiniEventHelpers
gMercProfiles[merc->ubProfile].bMechanical = merc->stats.bMechanical;
merc->usValueGoneUp &= ~( MECH_INCREASE );
}
else
else if (amount > 0)
{
gMercProfiles[merc->ubProfile].bMechanicDelta += amount;
merc->usValueGoneUp |= MECH_INCREASE;
@@ -486,7 +481,7 @@ namespace MiniEventHelpers
gMercProfiles[merc->ubProfile].bExplosive = merc->stats.bExplosive;
merc->usValueGoneUp &= ~( EXP_INCREASE );
}
else
else if (amount > 0)
{
gMercProfiles[merc->ubProfile].bExplosivesDelta += amount;
merc->usValueGoneUp |= EXP_INCREASE;
@@ -503,7 +498,7 @@ namespace MiniEventHelpers
gMercProfiles[merc->ubProfile].bMedical = merc->stats.bMedical;
merc->usValueGoneUp &= ~( MED_INCREASE );
}
else
else if (amount > 0)
{
gMercProfiles[merc->ubProfile].bMedicalDelta += amount;
merc->usValueGoneUp |= MED_INCREASE;
@@ -511,8 +506,11 @@ namespace MiniEventHelpers
break;
}
BuildStatChangeString(wTempString, merc->GetName(), amount > 0, amount > 0 ? amount : -amount, statId);
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, wTempString );
if (amount != 0)
{
BuildStatChangeString(wTempString, merc->GetName(), amount > 0, amount > 0 ? amount : -amount, statId);
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, wTempString );
}
});
return 0;
@@ -1529,6 +1527,7 @@ void MiniEventsLua(UINT32 eventId)
&& pSoldier->stats.bLife > 0
&& pSoldier->bAssignment != IN_TRANSIT
&& pSoldier->bAssignment != ASSIGNMENT_POW
&& pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND
&& !(pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE))
{
gAllMercs.push_back(pSoldier);
+3 -19
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "Player Command.h"
#include "Queen Command.h"
#include "Campaign Types.h"
@@ -30,7 +27,6 @@
#include "CampaignStats.h" // added by Flugente
#include "Town Militia.h" // added by Flugente
#include "LuaInitNPCs.h" // added by Flugente
#endif
#include "postalservice.h"
@@ -527,22 +523,10 @@ BOOLEAN SetThisSectorAsEnemyControlled( INT16 sMapX, INT16 sMapY, INT8 bMapZ, BO
UpdateRefuelSiteAvailability( );
}
//shadooow: re-enable quest if player loses control of the N7 prison and quest was disabled previously
if (sMapX == gModSettings.ubMeanwhileInterrogatePOWSectorX && sMapY == gModSettings.ubMeanwhileInterrogatePOWSectorY && gubQuest[QUEST_INTERROGATION] == QUESTCANNOTSTART)
{
gubQuest[QUEST_INTERROGATION] = QUESTNOTSTARTED;
}
//shadooow: re-enable quest if player loses control of the Alma prison and quest was disabled previously
if (sMapX == gModSettings.ubInitialPOWSectorX && sMapY == gModSettings.ubInitialPOWSectorY && gubQuest[QUEST_HELD_IN_ALMA] == QUESTCANNOTSTART)
{
gubQuest[QUEST_HELD_IN_ALMA] = QUESTNOTSTARTED;
}
#ifndef JA2UB
//shadooow: re-enable quest if player loses control of the Tixa prison and quest was disabled previously
if (sMapX == gModSettings.ubTixaPrisonSectorX && sMapY == gModSettings.ubTixaPrisonSectorY && gubQuest[QUEST_HELD_IN_TIXA] == QUESTCANNOTSTART)
{
gubQuest[QUEST_HELD_IN_TIXA] = QUESTNOTSTARTED;
}
HandlePOWQuestState(Q_RESET, QUEST_INTERROGATION, sMapX, sMapY, bMapZ);
HandlePOWQuestState(Q_RESET, QUEST_HELD_IN_ALMA, sMapX, sMapY, bMapZ);
HandlePOWQuestState(Q_RESET, QUEST_HELD_IN_TIXA, sMapX, sMapY, bMapZ);
#endif
// Flugente: reduce workforce
SectorInfo[SECTOR( sMapX, sMapY )].usWorkers = SectorInfo[SECTOR( sMapX, sMapY )].usWorkers * gGameExternalOptions.dInitialWorkerRate;
+43 -9
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include "PreBattle Interface.h"
@@ -50,7 +47,7 @@
#include "CampaignStats.h" // added by Flugente
#include "militiasquads.h" // added by Flugente
#include "SkillCheck.h" // added by Flugente
#endif
#include "Strategic Transport Groups.h"
#ifdef JA2UB
#include "ub_config.h"
@@ -442,7 +439,7 @@ void InitPreBattleInterface( GROUP *pBattleGroup, BOOLEAN fPersistantPBI )
}
else if ( pBattleGroup && pBattleGroup->usGroupTeam != OUR_TEAM && NumNonPlayerTeamMembersInSector( pBattleGroup->ubSectorX, pBattleGroup->ubSectorY, MILITIA_TEAM ) > 0 )
{
SetEnemyEncounterCode( ENEMY_ENCOUNTER_CODE );
SetEnemyEncounterCode( pBattleGroup->usGroupTeam == ENEMY_TEAM && pBattleGroup->pEnemyGroup->ubIntention == TRANSPORT ? TRANSPORT_INTERCEPT_CODE : ENEMY_ENCOUNTER_CODE );
}
else if( GetEnemyEncounterCode() == ENTERING_ENEMY_SECTOR_CODE ||
GetEnemyEncounterCode() == ENEMY_ENCOUNTER_CODE ||
@@ -456,7 +453,8 @@ void InitPreBattleInterface( GROUP *pBattleGroup, BOOLEAN fPersistantPBI )
GetEnemyEncounterCode() == CONCEALINSERTION_CODE ||
GetEnemyEncounterCode() == BLOODCAT_ATTACK_CODE ||
GetEnemyEncounterCode() == ZOMBIE_ATTACK_CODE ||
GetEnemyEncounterCode() == BANDIT_ATTACK_CODE )
GetEnemyEncounterCode() == BANDIT_ATTACK_CODE ||
GetEnemyEncounterCode() == TRANSPORT_INTERCEPT_CODE )
{
//use same code
SetExplicitEnemyEncounterCode( GetEnemyEncounterCode() );
@@ -683,8 +681,24 @@ void InitPreBattleInterface( GROUP *pBattleGroup, BOOLEAN fPersistantPBI )
{
SetEnemyEncounterCode( ENEMY_ENCOUNTER_CODE );
GROUP* pGroup = gpGroupList;
BOOLEAN encounteredTransportGroup = FALSE;
while (pGroup)
{
if (pGroup->usGroupTeam == ENEMY_TEAM && pGroup->pEnemyGroup->ubIntention == TRANSPORT && pGroup->ubSectorX == gpBattleGroup->ubSectorX && pGroup->ubSectorY == gpBattleGroup->ubSectorY && pGroup->ubSectorZ == gpBattleGroup->ubSectorZ)
{
encounteredTransportGroup = TRUE;
break;
}
pGroup = pGroup->next;
}
if (encounteredTransportGroup)
{
SetEnemyEncounterCode( TRANSPORT_INTERCEPT_CODE );
}
// Flugente: no ambushes on an airdrop
if ( !fAirDrop )
else if ( !fAirDrop )
{
//Don't consider ambushes until the player has reached 25% (normal) progress
if( gfHighPotentialForAmbush )
@@ -802,7 +816,9 @@ void InitPreBattleInterface( GROUP *pBattleGroup, BOOLEAN fPersistantPBI )
}
else
{ //Are enemies invading a town, or just encountered the player.
if( GetTownIdForSector( gubPBSectorX, gubPBSectorY ) )
if (pBattleGroup && pBattleGroup->usGroupTeam == ENEMY_TEAM && pBattleGroup->pEnemyGroup->ubIntention == TRANSPORT)
SetEnemyEncounterCode( TRANSPORT_INTERCEPT_CODE );
else if( GetTownIdForSector( gubPBSectorX, gubPBSectorY ) )
SetEnemyEncounterCode( ENEMY_INVASION_CODE );
//SAM sites not in towns will also be considered to be important
else if( pSector->uiFlags & SF_SAM_SITE )
@@ -870,7 +886,7 @@ void InitPreBattleInterface( GROUP *pBattleGroup, BOOLEAN fPersistantPBI )
}
HideButton( giMapContractButton );
if( GetEnemyEncounterCode() == ENEMY_ENCOUNTER_CODE )
if( GetEnemyEncounterCode() == ENEMY_ENCOUNTER_CODE || GetEnemyEncounterCode() == TRANSPORT_INTERCEPT_CODE )
{ //we know how many enemies are here, so until we leave the sector, we will continue to display the value.
//the flag will get cleared when time advances after the fEnemyInSector flag is clear.
@@ -959,6 +975,7 @@ void InitPreBattleInterface( GROUP *pBattleGroup, BOOLEAN fPersistantPBI )
{
case CREATURE_ATTACK_CODE:
case ENEMY_ENCOUNTER_CODE:
case TRANSPORT_INTERCEPT_CODE:
case ENEMY_INVASION_CODE:
case ENEMY_INVASION_AIRDROP_CODE:
case BLOODCAT_ATTACK_CODE:
@@ -1217,6 +1234,7 @@ void RenderPBHeader( INT32 *piX, INT32 *piWidth)
swprintf( str, gpStrategicString[ STR_PB_ENEMYINVASION_HEADER ] );
break;
case ENEMY_ENCOUNTER_CODE:
case TRANSPORT_INTERCEPT_CODE:
swprintf( str, gpStrategicString[ STR_PB_ENEMYENCOUNTER_HEADER ] );
break;
case ENEMY_AMBUSH_CODE:
@@ -2145,6 +2163,15 @@ void PutNonSquadMercsInPlayerGroupOnSquads( GROUP *pGroup, BOOLEAN fExitVehicles
// because if this is a simultaneous group attack, the mercs could be coming from different sides, and the
// placement screen can't handle mercs on the same squad arriving from difference edges!
fSuccess = AddCharacterToSquad( pSoldier, bUniqueVehicleSquad );
// if we failed, create another squad
if (!fSuccess)
{
bUniqueVehicleSquad = GetFirstEmptySquad();
if (bUniqueVehicleSquad != -1)
{
fSuccess = AddCharacterToSquad(pSoldier, bUniqueVehicleSquad);
}
}
}
//CHRISL: So what's supposed to happen in the merc is assigned to a vehicle but fExitVehicles is FALSE?
else
@@ -2376,6 +2403,7 @@ BOOLEAN PlayerMercInvolvedInThisCombat( SOLDIERTYPE *pSoldier )
pSoldier->bAssignment != ASSIGNMENT_POW &&
pSoldier->bAssignment != ASSIGNMENT_DEAD &&
pSoldier->bAssignment != ASSIGNMENT_MINIEVENT &&
pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND &&
!(pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE) &&
// Robot is involved if it has a valid controller with it, uninvolved otherwise
( !AM_A_ROBOT( pSoldier ) || ( pSoldier->ubRobotRemoteHolderID != NOBODY ) ) &&
@@ -2514,6 +2542,10 @@ void LogBattleResults( UINT8 ubVictoryCode)
break;
case CONCEALINSERTION_CODE:
break;
case TRANSPORT_INTERCEPT_CODE:
AddHistoryToPlayersLog( HISTORY_INTERCEPTED_TRANSPORT_GROUP, 0, GetWorldTotalMin(), sSectorX, sSectorY );
NotifyTransportGroupDefeated();
break;
}
// Flugente: campaign stats
@@ -2528,6 +2560,7 @@ void LogBattleResults( UINT8 ubVictoryCode)
AddHistoryToPlayersLog( HISTORY_LOSTTOWNSECTOR, 0, GetWorldTotalMin(), sSectorX, sSectorY );
break;
case ENEMY_ENCOUNTER_CODE:
case TRANSPORT_INTERCEPT_CODE:
AddHistoryToPlayersLog( HISTORY_LOSTBATTLE, 0, GetWorldTotalMin(), sSectorX, sSectorY );
break;
case ENEMY_AMBUSH_CODE:
@@ -2561,6 +2594,7 @@ void LogBattleResults( UINT8 ubVictoryCode)
gCurrentIncident.usIncidentFlags |= INCIDENT_ATTACK_ENEMY;
break;
case ENEMY_ENCOUNTER_CODE:
case TRANSPORT_INTERCEPT_CODE:
case ENTERING_ENEMY_SECTOR_CODE:
case CREATURE_ATTACK_CODE:
case ENTERING_BLOODCAT_LAIR_CODE:
+3 -1
View File
@@ -47,6 +47,8 @@ enum
BLOODCAT_ATTACK_CODE, // Flugente: like CREATURE_ATTACK_CODE, but with cats
ZOMBIE_ATTACK_CODE, // Flugente: like CREATURE_ATTACK_CODE, but with zombies
BANDIT_ATTACK_CODE, // Flugente: like CREATURE_ATTACK_CODE, but with bandits
TRANSPORT_INTERCEPT_CODE, // rftr: like ENEMY_ENCOUNTER_CODE
};
extern BOOLEAN gfAutoAmbush;
@@ -112,4 +114,4 @@ enum
};
void LogBattleResults( UINT8 ubVictoryCode);
#endif
#endif
+127 -75
View File
@@ -1,9 +1,5 @@
//Queen Command.c
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "GameSettings.h"
#else
#include "Queen Command.h"
#include "Strategic Event Handler.h"
#include "Overhead Types.h"
@@ -45,7 +41,8 @@
#include "Morale.h"
#include "CampaignStats.h" // added by Flugente
#include "ASD.h" // added by Flugente
#endif
#include "Interface Panels.h"
#include "Strategic Transport Groups.h"
#ifdef JA2BETAVERSION
extern BOOLEAN gfClearCreatureQuest;
@@ -102,7 +99,6 @@ void HandleBloodCatDeaths( SECTORINFO *pSector );
extern void Ensure_RepairedGarrisonGroup( GARRISON_GROUP **ppGarrison, INT32 *pGarraySize );
void ValidateEnemiesHaveWeapons()
{
#ifdef JA2BETAVERSION
@@ -299,7 +295,7 @@ UINT16 NumPlayerTeamMembersInSector( INT16 sSectorX, INT16 sSectorY, INT8 sSecto
// we test several conditions before we allow adding an opinion
// other merc must be active, have a profile, be someone else and not be in transit or dead
if ( pTeamSoldier->bActive && !pTeamSoldier->flags.fBetweenSectors && pTeamSoldier->stats.bLife > 0 && !(pTeamSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE) &&
!(pTeamSoldier->bAssignment == IN_TRANSIT || pTeamSoldier->bAssignment == ASSIGNMENT_DEAD || pTeamSoldier->bAssignment == ASSIGNMENT_POW || pTeamSoldier->bAssignment == ASSIGNMENT_MINIEVENT) &&
!(pTeamSoldier->bAssignment == IN_TRANSIT || pTeamSoldier->bAssignment == ASSIGNMENT_DEAD || pTeamSoldier->bAssignment == ASSIGNMENT_POW || pTeamSoldier->bAssignment == ASSIGNMENT_MINIEVENT || pTeamSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND) &&
(pTeamSoldier->sSectorX == sSectorX && pTeamSoldier->sSectorY == sSectorY && pTeamSoldier->bSectorZ == sSectorZ) )
{
++teammemberspresent;
@@ -617,6 +613,9 @@ BOOLEAN PrepareEnemyForSectorBattle()
gfPendingNonPlayerTeam[ENEMY_TEAM] = FALSE;
// rftr: clear cached transport groups
ClearTransportGroupMap();
if( gbWorldSectorZ > 0 )
return PrepareEnemyForUndergroundBattle();
@@ -644,9 +643,9 @@ BOOLEAN PrepareEnemyForSectorBattle()
for( unsigned ubIndex = 0; ubIndex < ubDirNumber; ++ubIndex )
{
while ( NumMobileEnemiesInSector( SECTORX( pusMoveDir[ubIndex][0] ), SECTORY( pusMoveDir[ubIndex][0] ) ) && GetNonPlayerGroupInSector( SECTORX( pusMoveDir[ubIndex][0] ), SECTORY( pusMoveDir[ubIndex][0] ), ENEMY_TEAM ) )
while ( NumMobileEnemiesInSector( SECTORX( pusMoveDir[ubIndex][0] ), SECTORY( pusMoveDir[ubIndex][0] ) ) && GetNonPlayerGroupInSectorForReinforcement( SECTORX( pusMoveDir[ubIndex][0] ), SECTORY( pusMoveDir[ubIndex][0] ), ENEMY_TEAM ) )
{
pGroup = GetNonPlayerGroupInSector( SECTORX( pusMoveDir[ubIndex][0] ), SECTORY( pusMoveDir[ubIndex][0] ), ENEMY_TEAM );
pGroup = GetNonPlayerGroupInSectorForReinforcement( SECTORX( pusMoveDir[ubIndex][0] ), SECTORY( pusMoveDir[ubIndex][0] ), ENEMY_TEAM );
pGroup->ubPrevX = pGroup->ubSectorX;
pGroup->ubPrevY = pGroup->ubSectorY;
@@ -673,10 +672,23 @@ BOOLEAN PrepareEnemyForSectorBattle()
HandleArrivalOfReinforcements( pGroup );
}
// for transport groups, track how many enemies of each type we're adding so we can update drops for them
if (pGroup->usGroupTeam == ENEMY_TEAM && pGroup->pEnemyGroup->ubIntention == TRANSPORT && pGroup->ubSectorX == gWorldSectorX && pGroup->ubSectorY == gWorldSectorY && !gbWorldSectorZ)
{
AddToTransportGroupMap(pGroup->ubGroupID, SOLDIER_CLASS_ADMINISTRATOR, pGroup->pEnemyGroup->ubNumAdmins);
AddToTransportGroupMap(pGroup->ubGroupID, SOLDIER_CLASS_ARMY, pGroup->pEnemyGroup->ubNumTroops);
AddToTransportGroupMap(pGroup->ubGroupID, SOLDIER_CLASS_ELITE, pGroup->pEnemyGroup->ubNumElites);
AddToTransportGroupMap(pGroup->ubGroupID, SOLDIER_CLASS_ROBOT, pGroup->pEnemyGroup->ubNumRobots);
AddToTransportGroupMap(pGroup->ubGroupID, SOLDIER_CLASS_JEEP, pGroup->pEnemyGroup->ubNumJeeps);
AddToTransportGroupMap(pGroup->ubGroupID, SOLDIER_CLASS_TANK, pGroup->pEnemyGroup->ubNumTanks);
}
pGroup = pGroup->next;
}
}
UpdateTransportGroupInventory();
ValidateEnemiesHaveWeapons();
UnPauseGame();
return ( ( BOOLEAN) ( gpBattleGroup->ubGroupSize > 0 ) );
@@ -856,6 +868,7 @@ BOOLEAN PrepareEnemyForSectorBattle()
if ( pGroup->usGroupTeam == ENEMY_TEAM && !pGroup->fVehicle &&
pGroup->ubSectorX == gWorldSectorX && pGroup->ubSectorY == gWorldSectorY && !gbWorldSectorZ )
{ //Process enemy group in sector.
const BOOLEAN isTransportGroup = pGroup->pEnemyGroup->ubIntention == TRANSPORT;
if( sNumSlots > 0 )
{
AssertGE(pGroup->pEnemyGroup->ubNumAdmins, pGroup->pEnemyGroup->ubAdminsInBattle);
@@ -869,6 +882,9 @@ BOOLEAN PrepareEnemyForSectorBattle()
}
pGroup->pEnemyGroup->ubAdminsInBattle += ubNumAdmins;
ubTotalAdmins += ubNumAdmins;
if (isTransportGroup)
AddToTransportGroupMap(pGroup->ubGroupID, SOLDIER_CLASS_ADMINISTRATOR, ubNumAdmins);
}
if( sNumSlots > 0 )
{ //Add regular army forces.
@@ -883,6 +899,9 @@ BOOLEAN PrepareEnemyForSectorBattle()
}
pGroup->pEnemyGroup->ubTroopsInBattle += ubNumTroops;
ubTotalTroops += ubNumTroops;
if (isTransportGroup)
AddToTransportGroupMap(pGroup->ubGroupID, SOLDIER_CLASS_ARMY, ubNumTroops);
}
if( sNumSlots > 0 )
{ //Add elite troops
@@ -897,6 +916,9 @@ BOOLEAN PrepareEnemyForSectorBattle()
}
pGroup->pEnemyGroup->ubElitesInBattle += ubNumElites;
ubTotalElites += ubNumElites;
if (isTransportGroup)
AddToTransportGroupMap(pGroup->ubGroupID, SOLDIER_CLASS_ELITE, ubNumElites);
}
if( sNumSlots > 0 )
{ //Add robots
@@ -911,6 +933,9 @@ BOOLEAN PrepareEnemyForSectorBattle()
}
pGroup->pEnemyGroup->ubRobotsInBattle += ubNumRobots;
ubTotalRobots += ubNumRobots;
if (isTransportGroup)
AddToTransportGroupMap(pGroup->ubGroupID, SOLDIER_CLASS_ROBOT, ubNumRobots);
}
if( sNumSlots > 0 )
{ //Add tanks
@@ -925,6 +950,9 @@ BOOLEAN PrepareEnemyForSectorBattle()
}
pGroup->pEnemyGroup->ubTanksInBattle += ubNumTanks;
ubTotalTanks += ubNumTanks;
if (isTransportGroup)
AddToTransportGroupMap(pGroup->ubGroupID, SOLDIER_CLASS_TANK, ubNumTanks);
}
if ( sNumSlots > 0 )
{
@@ -940,6 +968,9 @@ BOOLEAN PrepareEnemyForSectorBattle()
}
pGroup->pEnemyGroup->ubJeepsInBattle += ubNumJeeps;
ubTotalJeeps += ubNumJeeps;
if (isTransportGroup)
AddToTransportGroupMap(pGroup->ubGroupID, SOLDIER_CLASS_JEEP, ubNumJeeps);
}
//NOTE:
//no provisions for profile troop leader or retreat groups yet.
@@ -980,6 +1011,7 @@ BOOLEAN PrepareEnemyForSectorBattle()
unsigned firstSlot = gTacticalStatus.Team[ ENEMY_TEAM ].bFirstID;
unsigned lastSlot = gTacticalStatus.Team[ ENEMY_TEAM ].bLastID;
unsigned slotsAvailable = lastSlot-firstSlot+1;
while( pGroup && sNumSlots > 0 )
{
if ( pGroup->usGroupTeam != OUR_TEAM && !pGroup->fVehicle &&
@@ -1092,6 +1124,7 @@ BOOLEAN PrepareEnemyForSectorBattle()
}
break;
}
}
// Flugente: instead of just crashing the game without any explanation to the user, ignore this issue if it still exists.
@@ -1107,6 +1140,8 @@ BOOLEAN PrepareEnemyForSectorBattle()
pGroup = pGroup->next;
}
UpdateTransportGroupInventory();
ValidateEnemiesHaveWeapons();
UnPauseGame();
@@ -2149,6 +2184,16 @@ void AddEnemiesToBattle( GROUP *pGroup, UINT8 ubStrategicInsertionCode, UINT8 ub
UINT8 ubTotalSoldiers;
UINT8 bDesiredDirection=0;
// while transport groups can't normally reinforce, this covers the case where a transport group enters a sector (via normal movement)
// where a battle is in progress.
if (pGroup && pGroup->pEnemyGroup->ubIntention == TRANSPORT)
{
AddToTransportGroupMap(pGroup->ubGroupID, SOLDIER_CLASS_ADMINISTRATOR, ubNumAdmins);
AddToTransportGroupMap(pGroup->ubGroupID, SOLDIER_CLASS_ARMY, ubNumTroops);
AddToTransportGroupMap(pGroup->ubGroupID, SOLDIER_CLASS_ELITE, ubNumElites);
AddToTransportGroupMap(pGroup->ubGroupID, SOLDIER_CLASS_JEEP, ubNumJeeps);
}
switch( ubStrategicInsertionCode )
{
case INSERTION_CODE_NORTH: bDesiredDirection = SOUTHEAST; break;
@@ -2721,43 +2766,31 @@ void BeginCaptureSquence( )
void EndCaptureSequence( )
{
#ifdef JA2UB
// no UB
#else
#ifndef JA2UB
// Set flag...
if( !( gStrategicStatus.uiFlags & STRATEGIC_PLAYER_CAPTURED_FOR_RESCUE ) || !(gStrategicStatus.uiFlags & STRATEGIC_PLAYER_CAPTURED_FOR_ESCAPE) )
{
// CJC Dec 1 2002: fixing multiple captures:
//gStrategicStatus.uiFlags |= STRATEGIC_PLAYER_CAPTURED_FOR_RESCUE;
if ( gubQuest[ QUEST_HELD_IN_ALMA ] == QUESTNOTSTARTED )
{
// CJC Dec 1 2002: fixing multiple captures:
gStrategicStatus.uiFlags |= STRATEGIC_PLAYER_CAPTURED_FOR_RESCUE;
StartQuest( QUEST_HELD_IN_ALMA, gWorldSectorX, gWorldSectorY );
}
// CJC Dec 1 2002: fixing multiple captures:
//else if ( gubQuest[ QUEST_HELD_IN_ALMA ] == QUESTDONE )
else if (gubQuest[QUEST_HELD_IN_ALMA] != QUESTINPROGRESS && gubQuest[QUEST_HELD_IN_TIXA] == QUESTNOTSTARTED)
else if (gubQuest[QUEST_HELD_IN_TIXA] == QUESTNOTSTARTED)
{
// CJC Dec 1 2002: fixing multiple captures:
gStrategicStatus.uiFlags |= STRATEGIC_PLAYER_CAPTURED_FOR_RESCUE;
StartQuest(QUEST_HELD_IN_TIXA, gWorldSectorX, gWorldSectorY);
}
else if (gubQuest[QUEST_HELD_IN_ALMA] != QUESTINPROGRESS && gubQuest[QUEST_HELD_IN_TIXA] != QUESTINPROGRESS && gubQuest[QUEST_INTERROGATION] == QUESTNOTSTARTED)
else if (gubQuest[QUEST_INTERROGATION] == QUESTNOTSTARTED)
{
StartQuest( QUEST_INTERROGATION, gWorldSectorX, gWorldSectorY );
// CJC Dec 1 2002: fixing multiple captures:
gStrategicStatus.uiFlags |= STRATEGIC_PLAYER_CAPTURED_FOR_ESCAPE;
// OK! - Schedule Meanwhile now!
HandleInterrogationMeanwhileScene();
}
// CJC Dec 1 2002: fixing multiple captures
else
{
// !?!? set both flags
// Set both flags if we can't start any of the three POW quests
gStrategicStatus.uiFlags |= STRATEGIC_PLAYER_CAPTURED_FOR_RESCUE;
gStrategicStatus.uiFlags |= STRATEGIC_PLAYER_CAPTURED_FOR_ESCAPE;
}
@@ -2765,16 +2798,22 @@ void EndCaptureSequence( )
#endif
}
int CalculateMaximumPrisonerAmount()
{
#ifndef JA2UB
if (gubQuest[QUEST_HELD_IN_ALMA] == QUESTNOTSTARTED) { return std::size(gModSettings.iInitialPOWGridNo); }
if (gubQuest[QUEST_HELD_IN_TIXA] == QUESTNOTSTARTED) { return std::size(gModSettings.iTixaPrisonPOWGridNo); }
if (gubQuest[QUEST_INTERROGATION] == QUESTNOTSTARTED) { return std::size(gModSettings.iMeanwhileInterrogatePOWGridNo); }
#endif
return 0;
}
void EnemyCapturesPlayerSoldier( SOLDIERTYPE *pSoldier )
{
UINT32 i;
BOOLEAN fMadeCorpse;
INT32 iNumEnemiesInSector;
#ifndef JA2UB
AssertNotNIL(pSoldier);
// ATE: Check first if ! in player captured sequence already
// CJC Dec 1 2002: fixing multiple captures
if ( ( gStrategicStatus.uiFlags & STRATEGIC_PLAYER_CAPTURED_FOR_RESCUE ) && (gStrategicStatus.uiFlags & STRATEGIC_PLAYER_CAPTURED_FOR_ESCAPE) )
{
return;
@@ -2785,6 +2824,7 @@ void EnemyCapturesPlayerSoldier( SOLDIERTYPE *pSoldier )
{
pSoldier->stats.bLife = 0;
pSoldier->iHealableInjury = 0; // added by SANDRO
BOOLEAN fMadeCorpse;
HandleSoldierDeath( pSoldier, &fMadeCorpse );
return;
}
@@ -2795,37 +2835,41 @@ void EnemyCapturesPlayerSoldier( SOLDIERTYPE *pSoldier )
return;
}
if (pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
{
return;
}
if ( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE )
{
return;
}
// ATE: Patch fix If in a vehicle, remove from vehicle...
TakeSoldierOutOfVehicle( pSoldier );
HandleMoraleEvent( pSoldier, MORALE_MERC_CAPTURED, pSoldier->sSectorX, pSoldier->sSectorY, pSoldier->bSectorZ );
// Change to POW....
//-add him to a POW assignment/group
if( ( pSoldier->bAssignment != ASSIGNMENT_POW ) )
if (gStrategicStatus.ubNumCapturedForRescue >= CalculateMaximumPrisonerAmount())
{
SetTimeOfAssignmentChangeForMerc( pSoldier );
SetTimeOfAssignmentChangeForMerc(pSoldier);
return;
}
ChangeSoldiersAssignment( pSoldier, ASSIGNMENT_POW );
RemoveCharacterFromSquads( pSoldier );
WORLDITEM WorldItem;
std::vector<WORLDITEM> pWorldItem;
#ifdef JA2UB
if (gStrategicStatus.ubNumCapturedForRescue < 3 && (gubQuest[QUEST_HELD_IN_ALMA] == QUESTNOTSTARTED || gubQuest[QUEST_INTERROGATION] == QUESTNOTSTARTED))
#else
if (gStrategicStatus.ubNumCapturedForRescue < 3 && (gubQuest[QUEST_HELD_IN_ALMA] == QUESTNOTSTARTED || gubQuest[QUEST_HELD_IN_TIXA] == QUESTNOTSTARTED || gubQuest[QUEST_INTERROGATION] == QUESTNOTSTARTED))
#endif
{
INT32 itemdropoffgridno = -1;
// ATE: Patch fix If in a vehicle, remove from vehicle...
TakeSoldierOutOfVehicle(pSoldier);
HandleMoraleEvent(pSoldier, MORALE_MERC_CAPTURED, pSoldier->sSectorX, pSoldier->sSectorY, pSoldier->bSectorZ);
// Change to POW....
//-add him to a POW assignment/group
if ((pSoldier->bAssignment != ASSIGNMENT_POW))
{
SetTimeOfAssignmentChangeForMerc(pSoldier);
}
ChangeSoldiersAssignment(pSoldier, ASSIGNMENT_POW);
RemoveCharacterFromSquads(pSoldier);
INT32 itemdropoffgridno = -1;
// Is this the first one..?
if ( gubQuest[QUEST_HELD_IN_ALMA] == QUESTNOTSTARTED )
{
@@ -2837,7 +2881,6 @@ void EnemyCapturesPlayerSoldier( SOLDIERTYPE *pSoldier )
pSoldier->usStrategicInsertionData = gModSettings.iInitialPOWGridNo[gStrategicStatus.ubNumCapturedForRescue];
itemdropoffgridno = gModSettings.iInitialPOWItemGridNo[gStrategicStatus.ubNumCapturedForRescue];
}
#ifndef JA2UB
else if (gubQuest[QUEST_HELD_IN_TIXA] == QUESTNOTSTARTED)
{
//-teleport him to Tixa as originally planned
@@ -2848,7 +2891,6 @@ void EnemyCapturesPlayerSoldier( SOLDIERTYPE *pSoldier )
pSoldier->usStrategicInsertionData = gModSettings.iTixaPrisonPOWGridNo[gStrategicStatus.ubNumCapturedForRescue];
itemdropoffgridno = gModSettings.iTixaPrisonPOWItemGridNo[gStrategicStatus.ubNumCapturedForRescue];
}
#endif
else //if ( gubQuest[QUEST_HELD_IN_ALMA] == QUESTDONE )
{
//-teleport him to N7
@@ -2860,8 +2902,10 @@ void EnemyCapturesPlayerSoldier( SOLDIERTYPE *pSoldier )
}
// OK, drop all items!
WORLDITEM WorldItem;
std::vector<WORLDITEM> pWorldItem;
UINT32 invsize = pSoldier->inv.size();
for ( i = 0; i < invsize; ++i )
for (UINT32 i = 0; i < invsize; ++i )
{
if ( pSoldier->inv[i].exists() )
{
@@ -2883,34 +2927,40 @@ void EnemyCapturesPlayerSoldier( SOLDIERTYPE *pSoldier )
pSoldier->ubStrategicInsertionCode = INSERTION_CODE_GRIDNO;
gStrategicStatus.ubNumCapturedForRescue++;
}
//Bandaging him would prevent him from dying (due to low HP)
pSoldier->bBleeding = 0;
//Bandaging him would prevent him from dying (due to low HP)
pSoldier->bBleeding = 0;
// wake him up
if ( pSoldier->flags.fMercAsleep )
{
PutMercInAwakeState( pSoldier );
pSoldier->flags.fForcedToStayAwake = FALSE;
}
// wake him up
if ( pSoldier->flags.fMercAsleep )
{
PutMercInAwakeState( pSoldier );
pSoldier->flags.fForcedToStayAwake = FALSE;
}
//Set his life to 50% + or - 10 HP.
INT8 oldlife = pSoldier->stats.bLife;
pSoldier->stats.bLife = max(35, pSoldier->stats.bLifeMax / 2);
//Set his life to 50% + or - 10 HP.
INT8 oldlife = pSoldier->stats.bLife;
pSoldier->stats.bLife = max(35, pSoldier->stats.bLifeMax / 2);
if ( pSoldier->stats.bLife >= 45 )
{
pSoldier->stats.bLife += (INT8)(10 - Random( 21 ) );
}
if ( pSoldier->stats.bLife >= 45 )
{
pSoldier->stats.bLife += (INT8)(10 - Random( 21 ) );
}
// SANDRO - make the lost life insta-healable
pSoldier->iHealableInjury = ((pSoldier->stats.bLifeMax - pSoldier->stats.bLife) * 100);
// SANDRO - make the lost life insta-healable
pSoldier->iHealableInjury = ((pSoldier->stats.bLifeMax - pSoldier->stats.bLife) * 100);
// make him quite exhausted when found
pSoldier->bBreath = pSoldier->bBreathMax = 50;
pSoldier->sBreathRed = 0;
pSoldier->flags.fMercCollapsedFlag = FALSE;
// make him quite exhausted when found
pSoldier->bBreath = pSoldier->bBreathMax = 50;
pSoldier->sBreathRed = 0;
pSoldier->flags.fMercCollapsedFlag = FALSE;
RemoveSoldierFromTacticalSector(pSoldier, TRUE);
RemovePlayerFromTeamSlotGivenMercID(pSoldier->ubID);
SelectNextAvailSoldier(pSoldier);
}
#endif
}
@@ -3593,3 +3643,5 @@ void CorrectTurncoatCount( INT16 sSectorX, INT16 sSectorY )
pGroup = pGroup->next;
}
}
-4
View File
@@ -1,8 +1,5 @@
#include "builddefines.h"
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "Types.h"
#include "Quest Debug System.h"
#include "WCheck.h"
@@ -39,7 +36,6 @@
#include "SysUtil.h"
#include "Message.h"
#include "Random.h"
#endif
//#ifdef JA2BETAVERSION
+80 -16
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "GameSettings.h"
#else
#include "sgp.h"
#include "message.h"
#include "quests.h"
@@ -32,7 +28,6 @@
#include "strategic.h"
#include "Strategic Event Handler.h"
#include "Soldier Control.h"
#endif
#include "BobbyRMailOrder.h"
#include "connect.h"
@@ -1601,9 +1596,7 @@ void CheckForQuests( UINT32 uiDay )
{
// This function gets called at 8:00 AM time of the day
#ifdef TESTQUESTS
ScreenMsg( MSG_FONT_RED, MSG_DEBUG, L"Checking For Quests, Day %d", uiDay );
#endif
#ifdef JA2UB
// -------------------------------------------------------------------------------
@@ -1614,9 +1607,7 @@ void CheckForQuests( UINT32 uiDay )
if( gubQuest[ QUEST_DESTROY_MISSLES ] == QUESTNOTSTARTED )
{
StartQuest( QUEST_DESTROY_MISSLES, -1, -1 );
#ifdef TESTQUESTS
ScreenMsg( MSG_FONT_RED, MSG_DEBUG, L"Started DESTORY MISSLES quest");
#endif
}
//Ja25: No deliver letter quest, dont start it
#else
@@ -1628,11 +1619,9 @@ void CheckForQuests( UINT32 uiDay )
if (gubQuest[QUEST_DELIVER_LETTER] == QUESTNOTSTARTED)
{
StartQuest( QUEST_DELIVER_LETTER, -1, -1 );
#ifdef TESTQUESTS
if (!is_networked)
ScreenMsg( MSG_FONT_RED, MSG_DEBUG, L"Started DELIVER LETTER quest");
#endif
}
#endif
// This quest gets turned OFF through conversation with Miguel - when user hands
@@ -1742,9 +1731,84 @@ void GiveQuestRewardPoint( INT16 sQuestSectorX, INT16 sQuestsSectorY, INT8 bExpR
}
}
void HandlePOWQuestState(PowQuestState state, Quests quest, INT16 mapX, INT16 mapY, INT8 mapZ)
{
#ifndef JA2UB
bool correctSector = false;
switch (quest)
{
case QUEST_HELD_IN_ALMA:
correctSector = (mapX == gModSettings.ubInitialPOWSectorX && mapY == gModSettings.ubInitialPOWSectorY && mapZ == 0);
break;
case QUEST_INTERROGATION:
correctSector = (mapX == gModSettings.ubMeanwhileInterrogatePOWSectorX && mapY == gModSettings.ubMeanwhileInterrogatePOWSectorY && mapZ == 0);
break;
case QUEST_HELD_IN_TIXA:
correctSector = (mapX == gModSettings.ubTixaPrisonSectorX && mapY == gModSettings.ubTixaPrisonSectorY && mapZ == 0);
break;
default:
break;
}
if (correctSector)
{
switch (state)
{
case Q_FAIL:
// End quest if player loses prison
if (gubQuest[quest] == QUESTINPROGRESS)
{
// Quest failed
InternalEndQuest(quest, mapX, mapY, FALSE);
}
else if (gubQuest[quest] == QUESTCANNOTSTART)
{
// Re-enable quest if player loses control of the prison and quest was disabled previously
gubQuest[quest] = QUESTNOTSTARTED;
}
break;
case Q_SUCCESS:
// End quest if player takes control of the prison
if (gubQuest[quest] == QUESTINPROGRESS)
{
// Complete quest
EndQuest(quest, mapX, mapY);
}
else if (gubQuest[quest] == QUESTNOTSTARTED)
{
// Disable quest if player takes control of the prison
gubQuest[quest] = QUESTCANNOTSTART;
}
break;
case Q_RESET:
// Re-enable quest if player loses control of the prison and quest was disabled previously
if (gubQuest[quest] == QUESTCANNOTSTART)
{
gubQuest[quest] = QUESTNOTSTARTED;
}
break;
case Q_END:
if (gubQuest[quest] == QUESTINPROGRESS)
{
EndQuest(quest, mapX, mapY);
HandleNPCDoAction(0, NPC_ACTION_GRANT_EXPERIENCE_3, 0);
}
break;
case Q_LEFT_SECTOR:
// End interrogation quest if we left the sector, but haven't killed all enemies
if (gubQuest[quest] == QUESTINPROGRESS)
{
// Finish quest, although not give points here...
InternalEndQuest(quest, mapX, mapY, FALSE);
// ... give them manually, but halved
GiveQuestRewardPoint(mapX, mapY, 4, NO_PROFILE);
// Also let us know we finished the quest
ResetHistoryFact(quest, mapX, mapY);
}
break;
default:
break;
}
}
#endif
}
+9 -6
View File
@@ -756,10 +756,13 @@ extern BOOLEAN CheckForNewShipment( void );
extern BOOLEAN CheckTalkerFemale( void );
extern BOOLEAN CheckTalkerUnpropositionedFemale( void );
enum PowQuestState
{
Q_FAIL,
Q_SUCCESS,
Q_RESET,
Q_END,
Q_LEFT_SECTOR
};
void HandlePOWQuestState(PowQuestState state, Quests quest, INT16 mapX, INT16 mapY, INT8 mapZ);
#endif
+2580 -186
View File
File diff suppressed because it is too large Load Diff
+82 -5
View File
@@ -1,14 +1,38 @@
#ifndef REBEL_COMMAND_H
#define REBEL_COMMAND_H
#include "CampaignStats.h"
#include "mapscreen.h"
#include "Soldier Control.h"
#include "Types.h"
#define REBEL_COMMAND_Z_OFFSET 9
#define REBEL_COMMAND_MAX_ACTIONS_PER_REGION 6
#define NUM_ARC_AGENT_SLOTS 2
namespace RebelCommand
{
// applies to RegionSaveInfo.actionLevels: use the MSB as the active flag since I don't expect it to be used otherwise
constexpr UINT8 ADMIN_ACTION_ACTIVE_BIT = 1 << 7;
// the FIRST and SECOND strategic events share the same type (EVENT_REBELCOMMAND - no need to have multiple types yet, I think...)
// so the 32-bit int will have to block out information for both events
// FIRST EVENT BREAKDOWN
// A######B CCCCCCCC DDDDDDDD EEEEEEEE
// A (1 bit) - always 0 to indicate that this is the FIRST event (ie, keeping a merc busy for a set duration)
// B (1 bit) - 0 if the player sent a generic rebel agent, 1 if the player sent one of their own mercs
// C (8 bit) - the profile number of the merc that was sent. invalid if B == 0
// D (8 bit) - the mission ID. should match up with RebelCommandAgentMissions enum
// E (8 bit) - the mission duration, in hours. if 0, mission failed.
// extra bits are mission-specific
// SECOND EVENT BREAKDOWN
// A####### #######B CCCCCCCC DDDDDDDD
// A (1 bit) - always 1 to indicate that this is the SECOND event (ie, this event fires when the mission bonus expires)
// B (1 bit) - 0 if the player sent a generic rebel agent, 1 if the player sent one of their own mercs
// C (8 bit) - the profile number of the merc that was sent. invalid if B == 0
// D (8 bit) - the mission ID. should match up with RebelCommandAgentMissions enum
// extra bits are mission-specific
enum RebelCommandDirectives
{
@@ -49,6 +73,35 @@ enum RebelCommandAdminActions
RCAA_NUM_ACTIONS
};
enum RebelCommandAgentMissions
{
RCAM_NONE = -1,
RCAM_DEEP_DEPLOYMENT = 0,
RCAM_DISRUPT_ASD, // only available if ASD enabled
RCAM_FORGE_TRANSPORT_ORDERS,
RCAM_GET_ENEMY_MOVEMENT_TARGETS, // aka Strategic Intel
RCAM_IMPROVE_LOCAL_SHOPS,
RCAM_REDUCE_STRATEGIC_DECISION_SPEED, // aka Slower Strategic Decisions
RCAM_REDUCE_UNALERTED_ENEMY_VISION, // aka Lower Readiness
RCAM_SABOTAGE_INFANTRY_EQUIPMENT, // aka Sabotage Equipment
RCAM_SABOTAGE_MECHANICAL_UNITS, // aka Sabotage Vehicles
RCAM_SEND_SUPPLIES_TO_TOWN, // ignores minimum loyalty requirement
RCAM_SOLDIER_BOUNTIES_KINGPIN,
RCAM_TRAIN_MILITIA_ANYWHERE,
RCAM_NUM_MISSIONS,
// ideas/unimplemented
RCAM_BOOST_TOWN_ADMIN_ACTIONS, // store agent location townid in extrabits
RCAM_PROCURE_ITEMS,
RCAM_MILITIA_SKILL_TRAITS, // should override militia skill traits ini option - split into multiple (weapon spec, bodybuilding, athletic, night ops)
RCAM_PURCHASE_SUPPLIES, // increase daily supply income, decrease daily $ income
RCAM_REDUCE_ENEMY_POOL, // need to make sure enemy pool is not infinite // giReinforcementPool, also gfUnlimitedTroops = zDiffSetting[gGameOptions.ubDifficultyLevel].bUnlimitedPoolOfTroops;
// militia/mercs get bonus vision (???)
// share vision with civilians?
};
enum RegionAdminStatus
{
RAS_NONE,
@@ -97,8 +150,13 @@ typedef struct RegionSaveInfo
UINT8 actionLevels[REBEL_COMMAND_MAX_ACTIONS_PER_REGION];
UINT8 ubMaxLoyalty;
BOOLEAN IsActive(UINT8 index) { return (actionLevels[index] & ADMIN_ACTION_ACTIVE_BIT) == 0; }
// rftr: I know these fly in the face of convention, but I'm lazy and this preserves savegame compatibility without needing to add any additional code
void SetActive(UINT8 index) { actionLevels[index] &= ~ADMIN_ACTION_ACTIVE_BIT; } // active bit value = 0
void SetInactive(UINT8 index) { actionLevels[index] |= ADMIN_ACTION_ACTIVE_BIT; } // inactive bit value = 1
INT32 GetAdminDeployCost(INT16 numAdminTeams) { return 10 * numAdminTeams * numAdminTeams; };
INT32 GetAdminReactivateCost(INT16 numAdminTeams) { return GetAdminDeployCost(numAdminTeams) / 4; };
UINT8 GetLevel(INT16 index) { return actionLevels[index] & ~ADMIN_ACTION_ACTIVE_BIT; }
} RegionSaveInfo;
typedef struct SaveInfo
@@ -110,9 +168,11 @@ typedef struct SaveInfo
INT32 iActiveDirective;
INT32 iSelectedDirective;
INT8 iMilitiaStatsLevel;
UINT8 uSupplyDropCount;
UINT8 uSupplyDropCount; // keeping this around for compatibility with old saves
INT8 availableMissions[NUM_ARC_AGENT_SLOTS];
UINT16 cachedBountyPayout;
INT8 filler[19];
INT8 filler[15];
} SaveInfo;
extern SaveInfo rebelCommandSaveInfo;
@@ -122,6 +182,7 @@ void ExitWebsite();
void RenderWebsite();
void HandleWebsite();
// admin actions
void ApplyEnemyPenalties(SOLDIERTYPE* pSoldier);
void ApplyMilitiaBonuses(SOLDIERTYPE* pMilitia);
UINT8 GetApproximateEnemyLocationResolutionIndex();
@@ -139,17 +200,33 @@ FLOAT GetPathfindersSpeedBonus(UINT8 sector);
BOOLEAN NeutraliseRole(const SOLDIERTYPE* pSoldier);
void RaidMines(INT32 &playerIncome, INT32 &enemyIncome);
BOOLEAN ShowApproximateEnemyLocations();
void ShowWebsiteAvailableMessage();
// agent missions
void ApplySoldierBounty(const SOLDIERTYPE* pSoldier);
void ApplyEnemyMechanicalUnitPenalties(SOLDIERTYPE* pSoldier);
void ApplyMilitiaTraits(SOLDIERTYPE* pSoldier);
void ApplyVisionModifier(const SOLDIERTYPE* pSoldier, INT32& sight);
BOOLEAN CanAssignTraitsToMilitia();
BOOLEAN CanTrainMilitiaAnywhere();
UINT8 GetMaxTrainersForTrainMilitiaAnywhere();
INT16 GetAdditionalDeployRange(const UINT8 insertionCode);
BOOLEAN GetASDCanDeployUnits();
FLOAT GetASDIncomeModifier();
INT8 GetEnemyEquipmentCoolnessModifier();
INT8 GetEnemyEquipmentStatusModifier(const INT8 initialStatus);
UINT8 GetMerchantCoolnessBonus();
FLOAT GetStrategicDecisionSpeedModifier();
void HandleStrategicEvent(const UINT32 eventParam);
BOOLEAN ShowEnemyMovementTargets();
void DailyUpdate();
void HourlyUpdate();
void Init();
void ShowWebsiteAvailableMessage();
BOOLEAN Load(HWFILE file);
BOOLEAN Save(HWFILE file);
}
//BOOLEAN LoadRebelCommand( HWFILE file ) { return RebelCommand::Load( file ); }
#endif
+3 -7
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "Town Militia.h"
#include "Militia Control.h"
#include "Campaign Types.h"
@@ -22,7 +19,6 @@
#include "GameSettings.h"
#include "Soldier Init List.h"
#include "Inventory Choosing.h"
#endif
#include "GameInitOptionsScreen.h"
@@ -250,13 +246,13 @@ BOOLEAN ARMoveBestMilitiaManFromAdjacentSector(INT16 sMapX, INT16 sMapY)
return TRUE;
}
GROUP* GetNonPlayerGroupInSector( INT16 sMapX, INT16 sMapY, UINT8 usTeam )
GROUP* GetNonPlayerGroupInSectorForReinforcement( INT16 sMapX, INT16 sMapY, UINT8 usTeam )
{
GROUP *curr;
curr = gpGroupList;
while( curr )
{
if ( curr->ubSectorX == sMapX && curr->ubSectorY == sMapY && curr->usGroupTeam == usTeam && curr->ubGroupID )
if ( curr->ubSectorX == sMapX && curr->ubSectorY == sMapY && curr->usGroupTeam == usTeam && curr->ubGroupID && (curr->usGroupTeam != ENEMY_TEAM || curr->pEnemyGroup->ubIntention != TRANSPORT) )
return curr;
curr = curr->next;
}
@@ -284,7 +280,7 @@ UINT8 DoReinforcementAsPendingNonPlayer( INT16 sMapX, INT16 sMapY, UINT8 usTeam
for( ubIndex = 0; ubIndex < ubDirNumber; ++ubIndex )
{
while ( (pGroup = GetNonPlayerGroupInSector( SECTORX( pusMoveDir[ubIndex][0] ), SECTORY( pusMoveDir[ubIndex][0] ), usTeam )) != NULL )
while ( (pGroup = GetNonPlayerGroupInSectorForReinforcement( SECTORX( pusMoveDir[ubIndex][0] ), SECTORY( pusMoveDir[ubIndex][0] ), usTeam )) != NULL )
{
pGroup->ubPrevX = pGroup->ubSectorX;
pGroup->ubPrevY = pGroup->ubSectorY;
+1 -1
View File
@@ -12,6 +12,6 @@ UINT8 NumEnemiesInFiveSectors( INT16 sMapX, INT16 sMapY );
//For Tactical
UINT8 DoReinforcementAsPendingNonPlayer( INT16 sMapX, INT16 sMapY, UINT8 usTeam );
void AddPossiblePendingMilitiaToBattle();
GROUP* GetNonPlayerGroupInSector( INT16 sMapX, INT16 sMapY, UINT8 usTeam );
GROUP* GetNonPlayerGroupInSectorForReinforcement( INT16 sMapX, INT16 sMapY, UINT8 usTeam );
#endif
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include <memory.h>
#include "Fileman.h"
#include "types.h"
@@ -28,7 +25,6 @@
#include "Soldier Profile.h"
#include "soldier profile type.h"
#include "Quests.h"
#endif
//forward declarations of common classes to eliminate includes
class OBJECTTYPE;
+107 -78
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "GameSettings.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include "types.h"
@@ -36,7 +32,10 @@
#include "Map Information.h"
#include "interface dialogue.h"
#include "ASD.h" // added by Flugente
#endif
#include "Rebel Command.h"
#include "Game Event Hook.h"
#include "Strategic Town Loyalty.h"
#include "Strategic Transport Groups.h"
#include "GameInitOptionsScreen.h"
@@ -492,7 +491,6 @@ extern INT16 sWorldSectorLocationOfFirstBattle;
void ReassignAIGroup( GROUP **pGroup );
void TransferGroupToPool( GROUP **pGroup );
void SendGroupToPool( GROUP **pGroup );
//Simply orders all garrisons to take troops from the patrol groups and send the closest troops from them. Any garrison,
//whom there request isn't fulfilled (due to lack of troops), will recieve their reinforcements from the queen (P3).
@@ -1198,6 +1196,8 @@ void InitStrategicAI()
dEnemyGeneralsSpeedupFactor = max( 0.5f, dEnemyGeneralsSpeedupFactor - gStrategicStatus.usVIPsLeft * gGameExternalOptions.fEnemyGeneralStrategicDecisionSpeedBonus );
}
dEnemyGeneralsSpeedupFactor *= RebelCommand::GetStrategicDecisionSpeedModifier();
giReinforcementPool = zDiffSetting[gGameOptions.ubDifficultyLevel].iQueensInitialPoolOfTroops;
giForcePercentage = zDiffSetting[gGameOptions.ubDifficultyLevel].iInitialGarrisonPercentages;
giArmyAlertness = zDiffSetting[gGameOptions.ubDifficultyLevel].iEnemyStartingAlertLevel;
@@ -2420,6 +2420,11 @@ DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"Strategic5");
}
}
}
else if (pGroup->pEnemyGroup->ubIntention == TRANSPORT)
{
ProcessTransportGroupReachedDestination(pGroup);
return TRUE;
}
else
{ //This is a floating group at his final destination...
if( pGroup->pEnemyGroup->ubIntention != STAGING && pGroup->pEnemyGroup->ubIntention != REINFORCEMENTS )
@@ -3456,9 +3461,11 @@ void EvaluateQueenSituation()
{
dEnemyGeneralsSpeedupFactor = max( 0.5f, dEnemyGeneralsSpeedupFactor - gStrategicStatus.usVIPsLeft * gGameExternalOptions.fEnemyGeneralStrategicDecisionSpeedBonus );
}
dEnemyGeneralsSpeedupFactor *= RebelCommand::GetStrategicDecisionSpeedModifier();
uiOffset += dEnemyGeneralsSpeedupFactor * (zDiffSetting[gGameOptions.ubDifficultyLevel].iBaseDelayInMinutesBetweenEvaluations + Random( zDiffSetting[gGameOptions.ubDifficultyLevel].iEvaluationDelayVariance ));
// Check/update reinforcements pool if old behavior is enabled
if ( !gfUnlimitedTroops && zDiffSetting[gGameOptions.ubDifficultyLevel].iQueenPoolIncrementDaysPerDifficultyLevel == 0 )
{
@@ -3488,88 +3495,88 @@ void EvaluateQueenSituation()
// Gradually promote any remaining admins into troops
UpgradeAdminsToTroops();
if( ( giRequestPoints <= 0 ) || ( ( giReinforcementPoints <= 0 ) && ( giReinforcementPool <= 0 ) ) )
{ //we either have no reinforcements or request for reinforcements.
return;
}
// consider deploying a transport group
ExecuteStrategicAIAction( NPC_ACTION_DEPLOY_TRANSPORT_GROUP, 0, 0 );
// anv: only consider garrisons and patrols that can be reinforced
// otherwise unreinforcable groups will stall the rest, effectively breaking entire system
Ensure_RepairedGarrisonGroup( &gGarrisonGroup, &giGarrisonArraySize ); /* added NULL fix, 2007-03-03, Sgt. Kolja */
for( i = 0; i < giGarrisonArraySize; i++ )
// we either have reinforcements or a request for reinforcements
if (giRequestPoints > 0 && (giReinforcementPoints > 0 || giReinforcementPool > 0))
{
RecalculateGarrisonWeight( i );
iWeight = gGarrisonGroup[ i ].bWeight;
if( iWeight > 0 )
// anv: only consider garrisons and patrols that can be reinforced
// otherwise unreinforcable groups will stall the rest, effectively breaking entire system
Ensure_RepairedGarrisonGroup( &gGarrisonGroup, &giGarrisonArraySize ); /* added NULL fix, 2007-03-03, Sgt. Kolja */
for( i = 0; i < giGarrisonArraySize; i++ )
{
if( !gGarrisonGroup[ i ].ubPendingGroupID &&
EnemyPermittedToAttackSector( NULL, gGarrisonGroup[ i ].ubSectorID ) &&
GarrisonRequestingMinimumReinforcements( i ) )
RecalculateGarrisonWeight( i );
iWeight = gGarrisonGroup[ i ].bWeight;
if( iWeight > 0 )
{
if( ReinforcementsApproved( i, &usDefencePoints ) )
if( !gGarrisonGroup[ i ].ubPendingGroupID &&
EnemyPermittedToAttackSector( NULL, gGarrisonGroup[ i ].ubSectorID ) &&
GarrisonRequestingMinimumReinforcements( i ) )
{
iApplicableGarrisonIds[iApplicableGarrisons] = i;
iApplicableGarrisons++;
iApplicableRequestPoints += gGarrisonGroup[ i ].bWeight;
if( ReinforcementsApproved( i, &usDefencePoints ) )
{
iApplicableGarrisonIds[iApplicableGarrisons] = i;
iApplicableGarrisons++;
iApplicableRequestPoints += gGarrisonGroup[ i ].bWeight;
}
}
}
}
}
for( i = 0; i < giPatrolArraySize; i++ )
{
RecalculatePatrolWeight( i );
iWeight = gPatrolGroup[ i ].bWeight;
if( iWeight > 0 )
for( i = 0; i < giPatrolArraySize; i++ )
{
if( !gPatrolGroup[ i ].ubPendingGroupID && PatrolRequestingMinimumReinforcements( i ) )
RecalculatePatrolWeight( i );
iWeight = gPatrolGroup[ i ].bWeight;
if( iWeight > 0 )
{
iApplicablePatrolIds[iApplicablePatrols] = i;
iApplicablePatrols++;
iApplicableRequestPoints += gPatrolGroup[ i ].bWeight;
if( !gPatrolGroup[ i ].ubPendingGroupID && PatrolRequestingMinimumReinforcements( i ) )
{
iApplicablePatrolIds[iApplicablePatrols] = i;
iApplicablePatrols++;
iApplicableRequestPoints += gPatrolGroup[ i ].bWeight;
}
}
}
}
if( !iApplicableRequestPoints )
{
return;
}
//now randomly choose who gets the reinforcements.
// giRequestPoints is the combined sum of all the individual weights of all garrisons and patrols requesting reinforcements
//iRandom = Random( giRequestPoints );
iRandom = Random( iApplicableRequestPoints );
iOrigRequestPoints = giRequestPoints; // debug only!
//go through garrisons first
for( i = 0; i < iApplicableGarrisons; i++ )
{
iSumOfAllWeights += iWeight; // debug only!
iWeight = gGarrisonGroup[ iApplicableGarrisonIds[i] ].bWeight;
if( iRandom < iWeight )
if( iApplicableRequestPoints )
{
//This is the group that gets the reinforcements!
if ( SendReinforcementsForGarrison( iApplicableGarrisonIds[i] , usDefencePoints, NULL ) )
return;
}
iRandom -= iWeight;
}
//now randomly choose who gets the reinforcements.
// giRequestPoints is the combined sum of all the individual weights of all garrisons and patrols requesting reinforcements
//iRandom = Random( giRequestPoints );
iRandom = Random( iApplicableRequestPoints );
//go through the patrol groups
for( i = 0; i < iApplicablePatrols; i++ )
{
iSumOfAllWeights += iWeight; // debug only!
iWeight = gPatrolGroup[ iApplicablePatrolIds[i] ].bWeight;
if( iRandom < iWeight )
{
//This is the group that gets the reinforcements!
if ( SendReinforcementsForPatrol( iApplicablePatrolIds[i], NULL ) )
return;
iOrigRequestPoints = giRequestPoints; // debug only!
//go through garrisons first
for( i = 0; i < iApplicableGarrisons; i++ )
{
iSumOfAllWeights += iWeight; // debug only!
iWeight = gGarrisonGroup[ iApplicableGarrisonIds[i] ].bWeight;
if( iRandom < iWeight )
{
//This is the group that gets the reinforcements!
if ( SendReinforcementsForGarrison( iApplicableGarrisonIds[i] , usDefencePoints, NULL ) )
return;
}
iRandom -= iWeight;
}
//go through the patrol groups
for( i = 0; i < iApplicablePatrols; i++ )
{
iSumOfAllWeights += iWeight; // debug only!
iWeight = gPatrolGroup[ iApplicablePatrolIds[i] ].bWeight;
if( iRandom < iWeight )
{
//This is the group that gets the reinforcements!
if ( SendReinforcementsForPatrol( iApplicablePatrolIds[i], NULL ) )
return;
}
iRandom -= iWeight;
}
}
iRandom -= iWeight;
}
ValidateWeights( 27 );
@@ -5125,7 +5132,7 @@ void ExecuteStrategicAIAction( UINT16 usActionCode, INT16 sSectorX, INT16 sSecto
if ( ubNumSoldiers )
{
InitializeGroup(GROUP_TYPE_ATTACK, ubNumSoldiers, grouptroops[0], groupelites[0], grouprobots[0], groupjeeps[0], grouptanks[0], Random(10) < difficultyMod);
totalusedsoldiers += grouptroops[0] + groupelites[0] + grouprobots[0], grouptanks[0] + groupjeeps[0];
totalusedsoldiers += grouptroops[0] + groupelites[0] + grouprobots[0] + grouptanks[0] + groupjeeps[0];
}
pGroup = CreateNewEnemyGroupDepartingFromSector( SECTOR( gModSettings.ubSAISpawnSectorX, gModSettings.ubSAISpawnSectorY ), 0, grouptroops[0], groupelites[0], grouprobots[0], grouptanks[0], groupjeeps[0] );
@@ -5386,6 +5393,14 @@ void ExecuteStrategicAIAction( UINT16 usActionCode, INT16 sSectorX, INT16 sSecto
gubNumAwareBattles = zDiffSetting[gGameOptions.ubDifficultyLevel].iNumAwareBattles;
break;
case NPC_ACTION_DEPLOY_TRANSPORT_GROUP:
DeployTransportGroup();
break;
case NPC_ACTION_RETURN_TRANSPORT_GROUP:
ReturnTransportGroup(option1);
break;
default:
ScreenMsg( FONT_RED, MSG_DEBUG, L"QueenAI failed to handle action code %d.", usActionCode );
break;
@@ -6403,8 +6418,14 @@ void UpgradeAdminsToTroops()
// if there are any admins currently in this group
if ( pGroup->pEnemyGroup->ubNumAdmins > 0 )
{
// skip transport groups
if (pGroup->pEnemyGroup->ubIntention == TRANSPORT)
{
pGroup = pGroup->next;
continue;
}
// if it's a patrol group
if ( pGroup->pEnemyGroup->ubIntention == PATROL )
else if ( pGroup->pEnemyGroup->ubIntention == PATROL )
{
sPatrolIndex = FindPatrolGroupIndexForGroupID( pGroup->ubGroupID );
Assert( sPatrolIndex != -1 );
@@ -6508,9 +6529,17 @@ INT16 FindGarrisonIndexForGroupIDPending( UINT8 ubGroupID )
void TransferGroupToPool( GROUP **pGroup )
{
//Madd: unlimited reinforcements?
if ( !gfUnlimitedTroops )
giReinforcementPool += (*pGroup)->ubGroupSize;
if ((*pGroup)->usGroupTeam == ENEMY_TEAM)
{
//Madd: unlimited reinforcements?
if ( !gfUnlimitedTroops )
giReinforcementPool += (*pGroup)->ubGroupSize;
AddStrategicAIResources(ASD_ROBOT, (*pGroup)->pEnemyGroup->ubNumRobots);
AddStrategicAIResources(ASD_JEEP, (*pGroup)->pEnemyGroup->ubNumJeeps);
AddStrategicAIResources(ASD_TANK, (*pGroup)->pEnemyGroup->ubNumTanks);
}
RemovePGroup( *pGroup );
*pGroup = NULL;
+3 -1
View File
@@ -38,6 +38,7 @@ BOOLEAN StrategicAILookForAdjacentGroups( GROUP *pGroup );
void RemoveGroupFromStrategicAILists( UINT8 ubGroupID );
void RecalculateSectorWeight( UINT8 ubSectorID );
void RecalculateGroupWeight( GROUP *pGroup );
void SendGroupToPool( GROUP **pGroup );
BOOLEAN OkayForEnemyToMoveThroughSector( UINT8 ubSectorID );
BOOLEAN EnemyPermittedToAttackSector( GROUP **pGroup, UINT8 ubSectorID );
@@ -78,7 +79,8 @@ BOOLEAN PermittedToFillPatrolGroup( INT32 iPatrolID );
enum GROUP_TYPE
{
GROUP_TYPE_ATTACK,
GROUP_TYPE_PATROL
GROUP_TYPE_PATROL,
GROUP_TYPE_TRANSPORT
};
void ASDInitializePatrolGroup(GROUP *pGroup);
-232
View File
@@ -1,232 +0,0 @@
#ifndef __STRATEGIC_ALL_H
#define __STRATEGIC_ALL_H
#pragma message("GENERATED PCH FOR STRATEGIC PROJECT.")
#include "builddefines.h"
#include <stdio.h>
#include "types.h"
#include "english.h"
#include "Timer Control.h"
#include "vsurface.h"
#include "Button System.h"
#include "Font Control.h"
#include "Simple Render Utils.h"
#include "Editor Taskbar Utils.h"
#include "line.h"
#include "input.h"
#include "vobject_blitters.h"
#include "Text Input.h"
#include "mousesystem.h"
#include "strategicmap.h"
#include "Fileman.h"
#include "Map Information.h"
#include "render dirty.h"
#include "Game Clock.h"
#include "Campaign Types.h"
#include "Campaign Init.h"
#include "cheats.h"
#include "Queen Command.h"
#include "overhead.h"
#include "Strategic Movement.h"
#include "GameSettings.h"
#include "Game Event Hook.h"
#include "Creature Spreading.h"
#include "message.h"
#include "Game Init.h"
#include "Assignments.h"
#include "Soldier Control.h"
#include "Item Types.h"
#include "Strategic.h"
#include "Items.h"
#include <stdlib.h>
#include "Map Screen Interface.h"
#include "Soldier Profile Type.h"
#include "Soldier Profile.h"
#include "Campaign.h"
#include "Text.h"
#include "dialogue control.h"
#include "NPC.h"
#include "Strategic Town Loyalty.h"
#include "animation control.h"
#include "mapscreen.h"
#include "Squads.h"
#include "Map Screen Helicopter.h"
#include "PopUpBox.h"
#include "Vehicles.h"
#include "Strategic Merc Handler.h"
#include "Merc Contract.h"
#include "Map Screen Interface Map.h"
#include "laptop.h"
#include "Finances.h"
#include "LaptopSave.h"
#include "renderworld.h"
#include "Interface Control.h"
#include "Interface.h"
#include "Soldier Find.h"
#include "ai.h"
#include "utilities.h"
#include "random.h"
#include "Soldier Add.h"
#include "Isometric Utils.h"
#include "Soldier Macros.h"
#include "Explosion Control.h"
#include "SkillCheck.h"
#include "Quests.h"
#include "Town Militia.h"
#include "Map Screen Interface Border.h"
#include "math.h"
#include "Strategic Pathing.h"
#include "Auto Resolve.h"
#include "Music Control.h"
#include "PreBattle Interface.h"
#include "Player Command.h"
#include "gameloop.h"
#include "screenids.h"
#include "vObject.h"
#include "video.h"
#include "gamescreen.h"
#include "sysutil.h"
#include "Soldier Create.h"
#include "Weapons.h"
#include "Sound Control.h"
#include "Tactical Save.h"
#include "Strategic Status.h"
#include "WordWrap.h"
#include "Animation Data.h"
#include "Strategic AI.h"
#include "rt time defines.h"
#include "morale.h"
#include "himage.h"
#include "Soldier Init List.h"
#include "lighting.h"
#include "Strategic Mines.h"
#include "jascreens.h"
#include "Map Edgepoints.h"
#include "opplist.h"
#include "sgp.h"
#include "environment.h"
#include "Game Events.h"
#include "MercTextBox.h"
#include "Event Pump.h"
#include "soundman.h"
#include "Ambient Control.h"
#include "AimMembers.h"
#include "Strategic Event Handler.h"
#include "BobbyR.h"
#include "mercs.h"
#include "email.h"
#include "Merc Hiring.h"
#include "Insurance Contract.h"
#include "Scheduling.h"
#include "BobbyRGuns.h"
#include "Arms Dealer Init.h"
#include "Strategic town reputation.h"
#include "air raid.h"
#include "meanwhile.h"
#include "MemMan.h"
#include "Debug.h"
#include "worlddef.h"
#include "fade screen.h"
#include "history.h"
#include "merc entering.h"
#include <String.h>
#include "worldman.h"
#include "tiledat.h"
#include "WCheck.h"
#include "Map Screen Interface Map Inventory.h"
#include "Map Screen Interface Bottom.h"
#include "Radar Screen.h"
#include "cursors.h"
#include "Options Screen.h"
#include "Cursor Control.h"
#include "Interface Items.h"
#include "Interface Utils.h"
#include "World Items.h"
#include "Multi Language Graphic Utils.h"
#include "Font.h"
#include "Militia Control.h"
#include "Map Screen Interface TownMine Info.h"
#include "Handle UI.h"
#include "Handle Items.h"
#include <stdarg.h>
#include <time.h>
#include "screens.h"
#include <wchar.h>
#include <tchar.h>
#include "Interface Cursors.h"
#include "Interface Panels.h"
#include "sys globals.h"
#include "faces.h"
#include "strategic turns.h"
#include "Personnel.h"
#include "Animated ProgressBar.h"
#include "GameVersion.h"
#include "SaveLoadScreen.h"
#include "messageboxscreen.h"
#include "rotting corpses.h"
#include "Tactical Placement GUI.h"
#include "Overhead Types.h"
#include "Soldier Ani.h"
#include "Types.h"
#include "Quest Debug System.h"
#include "WCheck.h"
#include "Font Control.h"
#include "Video.h"
#include "Game Clock.h"
#include "Render Dirty.h"
#include "WordWrap.h"
#include "Interface.h"
#include "Cursors.h"
#include "Quests.h"
#include "stdio.h"
#include "QuestText.h"
#include "Soldier Profile.h"
#include "Utilities.h"
#include "Text.h"
#include "Text Input.h"
#include "Soldier Create.h"
#include "strategicmap.h"
#include "soldier add.h"
#include "Opplist.h"
#include "Handle Items.h"
#include "Game Clock.h"
#include "environment.h"
#include "dialogue control.h"
#include "Soldier Control.h"
#include "overhead.h"
#include "AimMembers.h"
#include "MessageBoxScreen.h"
#include "Stdio.h"
#include "english.h"
#include "line.h"
#include "Keys.h"
#include "Interface Dialogue.h"
#include "SysUtil.h"
#include "Message.h"
#include "Interface Dialogue.h"
#include "Render Fun.h"
#include "Boxing.h"
#include <memory.h>
#include "Keys.h"
#include "Structure Wrap.h"
#include "SaveLoadMap.h"
#include "aim.h"
#include <windows.h>
#include "Inventory Choosing.h"
#include "LOS.h"
#include "Tactical Turns.h"
#include <math.h>
#include "worlddat.h"
#include "Exit Grids.h"
#include "pathai.h"
#include "Shade Table Util.h"
#include "points.h"
#include "Bullets.h"
#include "physics.h"
#include "_JA25EnglishText.h"
#include "Debug Control.h"
#include "expat.h"
#include "MiniEvents.h"
#include "Rebel Command.h"
#endif
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "Strategic Event Handler.h"
#include "MemMan.h"
#include "message.h"
@@ -31,7 +28,6 @@
#include "Campaign.h" // added by Flugente
#include "Strategic AI.h"
#include "Rebel Command.h"
#endif
#include "Luaglobal.h"
#include "connect.h"
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "Types.h"
#include "Strategic Merc Handler.h"
@@ -47,7 +44,6 @@
// HEADROCK HAM 3.6: And another include, for militia upkeep costs.
#include "Town Militia.h"
#include "DynamicDialogue.h" // added by Flugente for HandleDynamicOpinionsDailyRefresh()
#endif
#ifdef JA2UB
#include "ub_config.h"
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include <String.h>
#include "Strategic Mines.h"
#include "Finances.h"
@@ -24,7 +21,6 @@
#include "Facilities.h"
#include "ASD.h" // added by Flugente
#include "Rebel Command.h"
#endif
#include "GameInitOptionsScreen.h"
-5
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "XML.h"
#else
#include "Campaign Types.h"
#include "Queen Command.h"
#include "Strategic Movement.h"
@@ -10,7 +6,6 @@
#include "Debug.h"
#include "Debug Control.h"
#include "Tactical Save.h"
#endif
#include "Map Screen Interface Map.h"
#ifdef JA2UB
+51 -42
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "builddefines.h"
#include <stdlib.h>
#include <memory.h>
@@ -53,7 +50,7 @@
#include "Creature Spreading.h" // added by Flugente
#include "MilitiaIndividual.h" // added by Flugente
#include "Rebel Command.h"
#endif
#include "Strategic Transport Groups.h"
#include "MilitiaSquads.h"
#include "Vehicles.h"
@@ -1895,47 +1892,48 @@ void GroupArrivedAtSector( UINT8 ubGroupID, BOOLEAN fCheckForBattle, BOOLEAN fNe
fExceptionQueue = TRUE;
}
}
//First check if the group arriving is going to queue another battle. //KM : Aug 11, 1999 -- Patch fix: Added additional checks to prevent a 2nd battle in the case
//NOTE: We can't have more than one battle ongoing at a time. //where the player is involved in a potential battle with bloodcats/civilians
if( fExceptionQueue || (fCheckForBattle && (gTacticalStatus.fEnemyInSector || HostileCiviliansPresent() || HostileBloodcatsPresent()) &&
FindMovementGroupInSector( (UINT8)gWorldSectorX, (UINT8)gWorldSectorY, OUR_TEAM ) &&
(pGroup->ubNextX != gWorldSectorX || pGroup->ubNextY != gWorldSectorY || gbWorldSectorZ > 0 ) && NumHostilesInSector(pGroup->ubNextX, pGroup->ubNextY, pGroup->ubSectorZ) > 0)
#ifdef JA2UB
//Ja25: NO meanwhiles
#else
// if this group arrival would cause a simultaneous combat, then delay it!
// we can't have more that one battle at a time.
if( fExceptionQueue
|| ((fCheckForBattle && (gTacticalStatus.fEnemyInSector || HostileCiviliansPresent() || HostileBloodcatsPresent())) // if there is an active battle
&& (pGroup->ubNextX != gWorldSectorX || pGroup->ubNextY != gWorldSectorY || gbWorldSectorZ > 0)) // and the group is arriving at a different sector
#ifndef JA2UB
|| AreInMeanwhile()
#endif
#endif
)
{
//QUEUE BATTLE!
//Delay arrival by a random value ranging from 3-5 minutes, so it doesn't get the player
//too suspicious after it happens to him a few times, which, by the way, is a rare occurrence.
#ifdef JA2UB
/*Ja25: No meanwhiles*/
#else
if( AreInMeanwhile() )
if (((pGroup->usGroupTeam == OUR_TEAM || pGroup->usGroupTeam == MILITIA_TEAM) && NumHostilesInSector(pGroup->ubNextX, pGroup->ubNextY, pGroup->ubSectorZ) > 0) // if a friendly movement group will arrive at an enemy sector
|| (pGroup->usGroupTeam == ENEMY_TEAM && (NumPlayerTeamMembersInSector(pGroup->ubNextX, pGroup->ubNextY, pGroup->ubSectorZ) + NumNonPlayerTeamMembersInSector(pGroup->ubNextX, pGroup->ubNextY, MILITIA_TEAM) > 0))) // or an enemy movement group will arrive at a friendly sector
{
pGroup->uiArrivalTime ++; //tack on only 1 minute if we are in a meanwhile scene. This effectively
//prevents any battle from occurring while inside a meanwhile scene.
}
else
#endif
{
pGroup->uiArrivalTime += Random(3) + 3;
}
if( !AddStrategicEvent( EVENT_GROUP_ARRIVAL, pGroup->uiArrivalTime, pGroup->ubGroupID ) )
AssertMsg( 0, "Failed to add movement event." );
if ( pGroup->usGroupTeam == OUR_TEAM )
{
if( pGroup->uiArrivalTime - ABOUT_TO_ARRIVE_DELAY > GetWorldTotalMin( ) )
//QUEUE BATTLE!
//Delay arrival by a random value ranging from 3-5 minutes, so it doesn't get the player
//too suspicious after it happens to him a few times, which, by the way, is a rare occurrence.
#ifndef JA2UB
if( AreInMeanwhile() )
{
AddStrategicEvent( EVENT_GROUP_ABOUT_TO_ARRIVE, pGroup->uiArrivalTime - ABOUT_TO_ARRIVE_DELAY, pGroup->ubGroupID );
pGroup->uiArrivalTime ++; //tack on only 1 minute if we are in a meanwhile scene. This effectively
//prevents any battle from occurring while inside a meanwhile scene.
}
else
#endif
{
pGroup->uiArrivalTime += Random(3) + 3;
}
}
return;
if( !AddStrategicEvent( EVENT_GROUP_ARRIVAL, pGroup->uiArrivalTime, pGroup->ubGroupID ) )
AssertMsg( 0, "Failed to add movement event." );
if ( pGroup->usGroupTeam == OUR_TEAM )
{
if( pGroup->uiArrivalTime - ABOUT_TO_ARRIVE_DELAY > GetWorldTotalMin( ) )
{
AddStrategicEvent( EVENT_GROUP_ABOUT_TO_ARRIVE, pGroup->uiArrivalTime - ABOUT_TO_ARRIVE_DELAY, pGroup->ubGroupID );
}
}
return;
}
}
//Update the position of the group
@@ -3639,7 +3637,10 @@ INT32 GetSectorMvtTimeForGroup( UINT8 ubSector, UINT8 ubDirection, GROUP *pGroup
dEnemyGeneralsSpeedupFactor = max( 0.75f, dEnemyGeneralsSpeedupFactor - gStrategicStatus.usVIPsLeft * gGameExternalOptions.fEnemyGeneralStrategicMovementSpeedBonus );
}
iBestTraverseTime = dEnemyGeneralsSpeedupFactor * iBestTraverseTime;
// rftr: transport groups move slower than normal
const FLOAT transportSpeedFactor = pGroup->pEnemyGroup->ubIntention == TRANSPORT ? 2.0f : 1.0f;
iBestTraverseTime = dEnemyGeneralsSpeedupFactor * transportSpeedFactor * iBestTraverseTime;
iBestTraverseTime = iBestTraverseTime * (100 + RebelCommand::GetHarriersSpeedPenalty(ubSector)) / 100;
}
@@ -3820,6 +3821,13 @@ void HandleArrivalOfReinforcements( GROUP *pGroup )
ResetMortarsOnTeamCount();
ResetNumSquadleadersInArmyGroup(); // added by SANDRO
AddPossiblePendingEnemiesToBattle();
if (pGroup->pEnemyGroup->ubIntention == TRANSPORT)
{
// normally, transport groups can't reinforce, but this can be hit normally if a battle is occuring in a sector
// where a transport group is moving into.
UpdateTransportGroupInventory();
}
}
else if ( pGroup->usGroupTeam == MILITIA_TEAM )
{
@@ -4457,7 +4465,7 @@ void CheckMembersOfMvtGroupAndComplainAboutBleeding( SOLDIERTYPE *pSoldier )
return;
}
// make sure there are members in the group..if so, then run through and make each bleeder compain
// make sure there are members in the group..if so, then run through and make each bleeder complain
pPlayer = pGroup->pPlayerList;
// is there a player list?
@@ -5475,7 +5483,7 @@ BOOLEAN TestForBloodcatAmbush( GROUP *pGroup )
{
if( MercPtrs[ i ]->bActive && MercPtrs[ i ]->stats.bLife && !(MercPtrs[ i ]->flags.uiStatusFlags & SOLDIER_VEHICLE) )
{
if ( MercPtrs[ i ]->sSectorX == pGroup->ubSectorX && MercPtrs[ i ]->sSectorY == pGroup->ubSectorY && MercPtrs[ i ]->bAssignment != ASSIGNMENT_POW && MercPtrs[ i ]->bAssignment != ASSIGNMENT_MINIEVENT && MercPtrs[ i ]->stats.bLife >= OKLIFE )
if ( MercPtrs[ i ]->sSectorX == pGroup->ubSectorX && MercPtrs[ i ]->sSectorY == pGroup->ubSectorY && MercPtrs[ i ]->bAssignment != ASSIGNMENT_POW && MercPtrs[ i ]->bAssignment != ASSIGNMENT_MINIEVENT && MercPtrs[i]->bAssignment != ASSIGNMENT_REBELCOMMAND && MercPtrs[ i ]->stats.bLife >= OKLIFE )
{
if( HAS_SKILL_TRAIT( MercPtrs[ i ], SCOUTING_NT ) && MercPtrs[ i ]->ubProfile != NO_PROFILE )
{
@@ -5880,6 +5888,7 @@ BOOLEAN GroupHasInTransitDeadOrPOWMercs( GROUP *pGroup )
if( ( pPlayer->pSoldier->bAssignment == IN_TRANSIT ) ||
( pPlayer->pSoldier->bAssignment == ASSIGNMENT_POW ) ||
( pPlayer->pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) ||
( pPlayer->pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) ||
SPY_LOCATION( pPlayer->pSoldier->bAssignment ) ||
( pPlayer->pSoldier->bAssignment == ASSIGNMENT_DEAD ) )
{
@@ -6277,4 +6286,4 @@ void GetInfoFromGroupsInSector( INT16 sSectorX, INT16 sSectorY, UINT8 ubTeam, BO
}
pGroup = pGroup->next;
}
}
}
+4
View File
@@ -15,6 +15,7 @@ enum //enemy intentions,
PATROL, //enemy is moving around determining safe areas.
REINFORCEMENTS, //enemy group has intentions to fortify position at final destination.
ASSAULT, //enemy is ready to fight anything they encounter.
TRANSPORT, //rftr: enemy is carrying out non-combat tasks, but still has an escort
NUM_ENEMY_INTENTIONS
};
@@ -109,6 +110,9 @@ typedef struct ENEMYGROUP
#define GROUPFLAG_KNOWN_DIRECTION 0x00000080
#define GROUPFLAG_KNOWN_NUMBER 0x00000100
// rftr: strategic transport group direction flag
#define GROUPFLAG_TRANSPORT_ENROUTE 0x00000200
typedef struct GROUP
{
BOOLEAN fDebugGroup; //for testing purposes -- handled differently in certain cases.
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include <stdio.h>
#include <time.h>
#include "types.h"
@@ -25,7 +22,6 @@
#include "Game Event Hook.h"
#include "Strategic AI.h"
#include "Queen Command.h" // added by Flugente
#endif
void AddSectorToFrontOfMercPath( PathStPtr *ppMercPath, UINT8 ubSectorX, UINT8 ubSectorY );
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "Strategic Status.h"
#include "Inventory Choosing.h"
#include "FileMan.h"
@@ -16,7 +13,6 @@
#include "Game Init.h" // added by Flugente
#include "GameVersion.h" // added by Flugente
#include "SaveLoadGame.h" // added by Flugente
#endif
#include "GameInitOptionsScreen.h"
-4
View File
@@ -1,8 +1,5 @@
#include "builddefines.h"
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "Strategic Town Loyalty.h"
#include "strategicmap.h"
#include "Overhead.h"
@@ -39,7 +36,6 @@
#include "CampaignStats.h" // added by Flugente
#include "DynamicDialogue.h" // added by Flugente
#include "Rebel Command.h"
#endif
#include "Luaglobal.h"
#include "LuaInitNPCs.h"
File diff suppressed because it is too large Load Diff
+31
View File
@@ -0,0 +1,31 @@
#ifndef _STRATEGIC_TRANSPORT_GROUPS_H
#define _STRATEGIC_TRANSPORT_GROUPS_H
#include "Campaign Types.h"
#include "Types.h"
#include <map>
enum TransportGroupSectorInfo
{
TransportGroupSectorInfo_LocatedGroup = 0,
TransportGroupSectorInfo_LocatedDestination,
};
struct GROUP;
BOOLEAN DeployTransportGroup();
BOOLEAN ForceDeployTransportGroup(UINT8 sectorId);
BOOLEAN ReturnTransportGroup(INT32 groupId);
void FillMapColoursForTransportGroups(INT32(&colorMap)[MAXIMUM_VALID_Y_COORDINATE][MAXIMUM_VALID_X_COORDINATE]);
void ProcessTransportGroupReachedDestination(GROUP* pGroup);
void UpdateTransportGroupInventory();
const std::map<UINT8, TransportGroupSectorInfo> GetTransportGroupSectorInfo();
void AddToTransportGroupMap(UINT8 groupId, int soldierClass, UINT8 amount);
void ClearTransportGroupMap();
void NotifyTransportGroupDefeated();
#endif
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "sgp.h"
#include "Game Clock.h"
#include "Font Control.h"
@@ -19,7 +16,6 @@
#include "strategic turns.h"
#include "rt time defines.h"
#include "assignments.h"
#endif
-819
View File
@@ -1,819 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8,00"
Name="Strategic"
ProjectGUID="{AB8837DB-0435-40C7-916A-0AACF5CFF1C4}"
RootNamespace="Strategic"
Keyword="Win32Proj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="..\lib\VS2005\$(ConfigurationName)"
IntermediateDirectory="..\build\VS2005\$(ProjectName)_$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="..\ja2.vsprops;..\ja2_Debug.vsprops"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/D _CRT_SECURE_NO_DEPRECATE"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
DisableSpecificWarnings="4100"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="..\lib\VS2005\$(ConfigurationName)"
IntermediateDirectory="..\build\VS2005\$(ProjectName)_$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="..\ja2.vsprops"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/D _CRT_SECURE_NO_DEPRECATE"
AdditionalIncludeDirectories=""
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;"
RuntimeLibrary="0"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="MapEditor|Win32"
OutputDirectory="..\lib\VS2005\$(ConfigurationName)"
IntermediateDirectory="..\build\VS2005\$(ProjectName)_$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="..\ja2.vsprops;..\ja2_Editor.vsprops"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/D _CRT_SECURE_NO_DEPRECATE"
AdditionalIncludeDirectories=""
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;"
RuntimeLibrary="0"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="MapEditorD|Win32"
OutputDirectory="..\lib\VS2005\$(ConfigurationName)"
IntermediateDirectory="..\build\VS2005\$(ProjectName)_$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="..\ja2.vsprops;..\ja2_Editor.vsprops"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/D _CRT_SECURE_NO_DEPRECATE"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
DisableSpecificWarnings="4100"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release_WithDebugInfo|Win32"
OutputDirectory="..\lib\VS2005\$(ConfigurationName)"
IntermediateDirectory="..\build\VS2005\$(ProjectName)_$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="..\ja2.vsprops"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/D _CRT_SECURE_NO_DEPRECATE"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;"
RuntimeLibrary="0"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath=".\ASD.h"
>
</File>
<File
RelativePath=".\Assignments.h"
>
</File>
<File
RelativePath=".\Auto Resolve.h"
>
</File>
<File
RelativePath=".\Campaign Init.h"
>
</File>
<File
RelativePath=".\Campaign Types.h"
>
</File>
<File
RelativePath=".\Creature Spreading.h"
>
</File>
<File
RelativePath=".\Facilities.h"
>
</File>
<File
RelativePath=".\Game Clock.h"
>
</File>
<File
RelativePath=".\Game Event Hook.h"
>
</File>
<File
RelativePath=".\Game Events.h"
>
</File>
<File
RelativePath=".\Game Init.h"
>
</File>
<File
RelativePath=".\Ja25 Strategic Ai.h"
>
</File>
<File
RelativePath=".\Luaglobal.h"
>
</File>
<File
RelativePath=".\LuaInitNPCs.h"
>
</File>
<File
RelativePath=".\Map Screen Helicopter.h"
>
</File>
<File
RelativePath=".\Map Screen Interface Border.h"
>
</File>
<File
RelativePath=".\Map Screen Interface Bottom.h"
>
</File>
<File
RelativePath=".\Map Screen Interface Map Inventory.h"
>
</File>
<File
RelativePath=".\Map Screen Interface Map.h"
>
</File>
<File
RelativePath=".\Map Screen Interface TownMine Info.h"
>
</File>
<File
RelativePath=".\Map Screen Interface.h"
>
</File>
<File
RelativePath=".\MapScreen Quotes.h"
>
</File>
<File
RelativePath=".\mapscreen.h"
>
</File>
<File
RelativePath=".\Meanwhile.h"
>
</File>
<File
RelativePath=".\Merc Contract.h"
>
</File>
<File
RelativePath=".\MilitiaSquads.h"
>
</File>
<File
RelativePath=".\MiniEvents.h"
>
</File>
<File
RelativePath=".\MilitiaIndividual.h"
>
</File>
<File
RelativePath=".\Player Command.h"
>
</File>
<File
RelativePath=".\PreBattle Interface.h"
>
</File>
<File
RelativePath=".\Queen Command.h"
>
</File>
<File
RelativePath=".\Quest Debug System.h"
>
</File>
<File
RelativePath=".\Quests.h"
>
</File>
<File
RelativePath=".\QuestText.h"
>
</File>
<File
RelativePath=".\Rebel Command.h"
>
</File>
<File
RelativePath=".\Reinforcement.h"
>
</File>
<File
RelativePath=".\Scheduling.h"
>
</File>
<File
RelativePath=".\Strategic AI.h"
>
</File>
<File
RelativePath=".\Strategic All.h"
>
</File>
<File
RelativePath=".\Strategic Event Handler.h"
>
</File>
<File
RelativePath=".\Strategic Merc Handler.h"
>
</File>
<File
RelativePath=".\Strategic Mines LUA.h"
>
</File>
<File
RelativePath=".\Strategic Mines.h"
>
</File>
<File
RelativePath=".\Strategic Movement.h"
>
</File>
<File
RelativePath=".\Strategic Pathing.h"
>
</File>
<File
RelativePath=".\Strategic Status.h"
>
</File>
<File
RelativePath=".\Strategic Town Loyalty.h"
>
</File>
<File
RelativePath=".\strategic town reputation.h"
>
</File>
<File
RelativePath=".\Strategic Turns.h"
>
</File>
<File
RelativePath=".\strategic.h"
>
</File>
<File
RelativePath=".\strategicmap.h"
>
</File>
<File
RelativePath=".\Town Militia.h"
>
</File>
<File
RelativePath=".\UndergroundInit.h"
>
</File>
</Filter>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\AI Viewer.cpp"
>
</File>
<File
RelativePath=".\ASD.cpp"
>
</File>
<File
RelativePath=".\Assignments.cpp"
>
</File>
<File
RelativePath=".\Auto Resolve.cpp"
>
</File>
<File
RelativePath=".\Campaign Init.cpp"
>
</File>
<File
RelativePath=".\Creature Spreading.cpp"
>
</File>
<File
RelativePath=".\Facilities.cpp"
>
</File>
<File
RelativePath=".\Game Clock.cpp"
>
</File>
<File
RelativePath=".\Game Event Hook.cpp"
>
</File>
<File
RelativePath=".\Game Events.cpp"
>
</File>
<File
RelativePath=".\Game Init.cpp"
>
</File>
<File
RelativePath=".\Hourly Update.cpp"
>
</File>
<File
RelativePath=".\Ja25 Strategic Ai.cpp"
>
</File>
<File
RelativePath=".\Luaglobal.cpp"
>
</File>
<File
RelativePath=".\LuaInitNPCs.cpp"
>
</File>
<File
RelativePath=".\Map Screen Helicopter.cpp"
>
</File>
<File
RelativePath=".\Map Screen Interface Border.cpp"
>
</File>
<File
RelativePath=".\Map Screen Interface Bottom.cpp"
>
</File>
<File
RelativePath=".\Map Screen Interface Map Inventory.cpp"
>
</File>
<File
RelativePath=".\Map Screen Interface Map.cpp"
>
</File>
<File
RelativePath=".\Map Screen Interface TownMine Info.cpp"
>
</File>
<File
RelativePath=".\Map Screen Interface.cpp"
>
</File>
<File
RelativePath=".\MapScreen Quotes.cpp"
>
</File>
<File
RelativePath=".\mapscreen.cpp"
>
</File>
<File
RelativePath=".\Meanwhile.cpp"
>
</File>
<File
RelativePath=".\Merc Contract.cpp"
>
</File>
<File
RelativePath=".\MilitiaSquads.cpp"
>
</File>
<File
RelativePath=".\MiniEvents.cpp"
>
</File>
<File
RelativePath=".\MilitiaIndividual.cpp"
>
</File>
<File
RelativePath=".\Player Command.cpp"
>
</File>
<File
RelativePath=".\PreBattle Interface.cpp"
>
</File>
<File
RelativePath=".\Queen Command.cpp"
>
</File>
<File
RelativePath=".\Quest Debug System.cpp"
>
</File>
<File
RelativePath=".\Quests.cpp"
>
</File>
<File
RelativePath=".\Rebel Command.cpp"
>
</File>
<File
RelativePath=".\Reinforcement.cpp"
>
</File>
<File
RelativePath=".\Scheduling.cpp"
>
</File>
<File
RelativePath=".\Strategic AI.cpp"
>
</File>
<File
RelativePath=".\Strategic Event Handler.cpp"
>
</File>
<File
RelativePath=".\Strategic Merc Handler.cpp"
>
</File>
<File
RelativePath=".\Strategic Mines LUA.cpp"
>
</File>
<File
RelativePath=".\Strategic Mines.cpp"
>
</File>
<File
RelativePath=".\Strategic Movement Costs.cpp"
>
</File>
<File
RelativePath=".\Strategic Movement.cpp"
>
</File>
<File
RelativePath=".\Strategic Pathing.cpp"
>
</File>
<File
RelativePath=".\Strategic Status.cpp"
>
</File>
<File
RelativePath=".\Strategic Town Loyalty.cpp"
>
</File>
<File
RelativePath=".\strategic town reputation.cpp"
>
</File>
<File
RelativePath=".\Strategic Turns.cpp"
>
</File>
<File
RelativePath=".\strategic.cpp"
>
</File>
<File
RelativePath=".\strategicmap.cpp"
>
</File>
<File
RelativePath=".\Town Militia.cpp"
>
</File>
<File
RelativePath=".\UndergroundInit.cpp"
>
</File>
<File
RelativePath=".\XML_Army.cpp"
>
</File>
<File
RelativePath=".\XML_Bloodcats.cpp"
>
</File>
<File
RelativePath=".\XML_CoolnessBySector.cpp"
>
</File>
<File
RelativePath=".\XML_Creatures.cpp"
>
</File>
<File
RelativePath=".\XML_ExtraItems.cpp"
>
</File>
<File
RelativePath=".\XML_Facilities.cpp"
>
</File>
<File
RelativePath=".\XML_FacilityTypes.cpp"
>
</File>
<File
RelativePath=".\XML_Minerals.cpp"
>
</File>
<File
RelativePath=".\XML_SectorNames.cpp"
>
</File>
<File
RelativePath=".\XML_SquadNames.cpp"
>
</File>
<File
RelativePath=".\XML_UniformColors.cpp"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
-817
View File
@@ -1,817 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Name="Strategic"
ProjectGUID="{40475E2B-AD37-4A99-85A4-1E507010344C}"
RootNamespace="Strategic"
Keyword="Win32Proj"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="..\lib\VS2008\$(ConfigurationName)"
IntermediateDirectory="..\build\VS2008\$(ProjectName)_$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="..\ja2.vsprops;..\ja2_Debug.vsprops"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="..\lib\VS2008\$(ConfigurationName)"
IntermediateDirectory="..\build\VS2008\$(ProjectName)_$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="..\ja2.vsprops"
CharacterSet="0"
WholeProgramOptimization="0"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="false"
UsePrecompiledHeader="0"
WarningLevel="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="MapEditor|Win32"
OutputDirectory="..\lib\VS2008\$(ConfigurationName)"
IntermediateDirectory="..\build\VS2008\$(ProjectName)_$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="..\ja2.vsprops;..\ja2_Editor.vsprops"
CharacterSet="0"
WholeProgramOptimization="0"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="false"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="MapEditorD|Win32"
OutputDirectory="..\lib\VS2008\$(ConfigurationName)"
IntermediateDirectory="..\build\VS2008\$(ProjectName)_$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="..\ja2.vsprops;..\ja2_Editor.vsprops"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release_WithDebugInfo|Win32"
OutputDirectory="..\lib\VS2008\$(ConfigurationName)"
IntermediateDirectory="..\build\VS2008\$(ProjectName)_$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="..\ja2.vsprops"
CharacterSet="0"
WholeProgramOptimization="0"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="false"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Header Files"
>
<File
RelativePath="ASD.h"
>
</File>
<File
RelativePath="Assignments.h"
>
</File>
<File
RelativePath="Auto Resolve.h"
>
</File>
<File
RelativePath="Campaign Init.h"
>
</File>
<File
RelativePath="Campaign Types.h"
>
</File>
<File
RelativePath="Creature Spreading.h"
>
</File>
<File
RelativePath=".\Facilities.h"
>
</File>
<File
RelativePath="Game Clock.h"
>
</File>
<File
RelativePath="Game Event Hook.h"
>
</File>
<File
RelativePath="Game Events.h"
>
</File>
<File
RelativePath="Game Init.h"
>
</File>
<File
RelativePath=".\Ja25 Strategic Ai.h"
>
</File>
<File
RelativePath=".\Luaglobal.h"
>
</File>
<File
RelativePath=".\LuaInitNPCs.h"
>
</File>
<File
RelativePath="Map Screen Helicopter.h"
>
</File>
<File
RelativePath="Map Screen Interface Border.h"
>
</File>
<File
RelativePath="Map Screen Interface Bottom.h"
>
</File>
<File
RelativePath="Map Screen Interface Map Inventory.h"
>
</File>
<File
RelativePath="Map Screen Interface Map.h"
>
</File>
<File
RelativePath="Map Screen Interface TownMine Info.h"
>
</File>
<File
RelativePath="Map Screen Interface.h"
>
</File>
<File
RelativePath=".\MapScreen Quotes.h"
>
</File>
<File
RelativePath="mapscreen.h"
>
</File>
<File
RelativePath="Meanwhile.h"
>
</File>
<File
RelativePath="Merc Contract.h"
>
</File>
<File
RelativePath="MilitiaSquads.h"
>
</File>
<File
RelativePath="MiniEvents.h"
>
</File>
<File
RelativePath="MilitiaIndividual.h"
>
</File>
<File
RelativePath="Player Command.h"
>
</File>
<File
RelativePath="PreBattle Interface.h"
>
</File>
<File
RelativePath="Queen Command.h"
>
</File>
<File
RelativePath="Quest Debug System.h"
>
</File>
<File
RelativePath="Quests.h"
>
</File>
<File
RelativePath="QuestText.h"
>
</File>
<File
RelativePath="Rebel Command.h"
>
</File>
<File
RelativePath="Reinforcement.h"
>
</File>
<File
RelativePath="Scheduling.h"
>
</File>
<File
RelativePath="Strategic AI.h"
>
</File>
<File
RelativePath="Strategic All.h"
>
</File>
<File
RelativePath="Strategic Event Handler.h"
>
</File>
<File
RelativePath="Strategic Merc Handler.h"
>
</File>
<File
RelativePath=".\Strategic Mines LUA.h"
>
</File>
<File
RelativePath="Strategic Mines.h"
>
</File>
<File
RelativePath="Strategic Movement.h"
>
</File>
<File
RelativePath="Strategic Pathing.h"
>
</File>
<File
RelativePath="Strategic Status.h"
>
</File>
<File
RelativePath="Strategic Town Loyalty.h"
>
</File>
<File
RelativePath="strategic town reputation.h"
>
</File>
<File
RelativePath="Strategic Turns.h"
>
</File>
<File
RelativePath="strategic.h"
>
</File>
<File
RelativePath="strategicmap.h"
>
</File>
<File
RelativePath="Town Militia.h"
>
</File>
<File
RelativePath=".\UndergroundInit.h"
>
</File>
</Filter>
<Filter
Name="Source Files"
>
<File
RelativePath="AI Viewer.cpp"
>
</File>
<File
RelativePath="ASD.cpp"
>
</File>
<File
RelativePath="Assignments.cpp"
>
</File>
<File
RelativePath="Auto Resolve.cpp"
>
</File>
<File
RelativePath="Campaign Init.cpp"
>
</File>
<File
RelativePath="Creature Spreading.cpp"
>
</File>
<File
RelativePath=".\Facilities.cpp"
>
</File>
<File
RelativePath="Game Clock.cpp"
>
</File>
<File
RelativePath="Game Event Hook.cpp"
>
</File>
<File
RelativePath="Game Events.cpp"
>
</File>
<File
RelativePath="Game Init.cpp"
>
</File>
<File
RelativePath="Hourly Update.cpp"
>
</File>
<File
RelativePath=".\Ja25 Strategic Ai.cpp"
>
</File>
<File
RelativePath=".\Luaglobal.cpp"
>
</File>
<File
RelativePath=".\LuaInitNPCs.cpp"
>
</File>
<File
RelativePath="Map Screen Helicopter.cpp"
>
</File>
<File
RelativePath="Map Screen Interface Border.cpp"
>
</File>
<File
RelativePath="Map Screen Interface Bottom.cpp"
>
</File>
<File
RelativePath="Map Screen Interface Map Inventory.cpp"
>
</File>
<File
RelativePath="Map Screen Interface Map.cpp"
>
</File>
<File
RelativePath="Map Screen Interface TownMine Info.cpp"
>
</File>
<File
RelativePath="Map Screen Interface.cpp"
>
</File>
<File
RelativePath=".\MapScreen Quotes.cpp"
>
</File>
<File
RelativePath="mapscreen.cpp"
>
</File>
<File
RelativePath="Meanwhile.cpp"
>
</File>
<File
RelativePath="Merc Contract.cpp"
>
</File>
<File
RelativePath="MilitiaSquads.cpp"
>
</File>
<File
RelativePath="MiniEvents.cpp"
>
</File>
<File
RelativePath="MilitiaIndividual.cpp"
>
</File>
<File
RelativePath="Player Command.cpp"
>
</File>
<File
RelativePath="PreBattle Interface.cpp"
>
</File>
<File
RelativePath="Queen Command.cpp"
>
</File>
<File
RelativePath="Quest Debug System.cpp"
>
</File>
<File
RelativePath="Quests.cpp"
>
</File>
<File
RelativePath="Rebel Command.cpp"
>
</File>
<File
RelativePath="Reinforcement.cpp"
>
</File>
<File
RelativePath="Scheduling.cpp"
>
</File>
<File
RelativePath="Strategic AI.cpp"
>
</File>
<File
RelativePath="Strategic Event Handler.cpp"
>
</File>
<File
RelativePath="Strategic Merc Handler.cpp"
>
</File>
<File
RelativePath=".\Strategic Mines LUA.cpp"
>
</File>
<File
RelativePath="Strategic Mines.cpp"
>
</File>
<File
RelativePath="Strategic Movement Costs.cpp"
>
</File>
<File
RelativePath="Strategic Movement.cpp"
>
</File>
<File
RelativePath="Strategic Pathing.cpp"
>
</File>
<File
RelativePath="Strategic Status.cpp"
>
</File>
<File
RelativePath="Strategic Town Loyalty.cpp"
>
</File>
<File
RelativePath="strategic town reputation.cpp"
>
</File>
<File
RelativePath="Strategic Turns.cpp"
>
</File>
<File
RelativePath="strategic.cpp"
>
</File>
<File
RelativePath="strategicmap.cpp"
>
</File>
<File
RelativePath="Town Militia.cpp"
>
</File>
<File
RelativePath=".\UndergroundInit.cpp"
>
</File>
<File
RelativePath="XML_Army.cpp"
>
</File>
<File
RelativePath=".\XML_Bloodcats.cpp"
>
</File>
<File
RelativePath=".\XML_CoolnessBySector.cpp"
>
</File>
<File
RelativePath=".\XML_Creatures.cpp"
>
</File>
<File
RelativePath=".\XML_ExtraItems.cpp"
>
</File>
<File
RelativePath=".\XML_Facilities.cpp"
>
</File>
<File
RelativePath=".\XML_FacilityTypes.cpp"
>
</File>
<File
RelativePath=".\XML_Minerals.cpp"
>
</File>
<File
RelativePath=".\XML_SectorNames.cpp"
>
</File>
<File
RelativePath=".\XML_SquadNames.cpp"
>
</File>
<File
RelativePath=".\XML_UniformColors.cpp"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
-315
View File
@@ -1,315 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="MapEditorD|Win32">
<Configuration>MapEditorD</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="MapEditor|Win32">
<Configuration>MapEditor</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Relese_WithDebugInfo|Win32">
<Configuration>Relese_WithDebugInfo</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="ASD.h" />
<ClInclude Include="Assignments.h" />
<ClInclude Include="Auto Resolve.h" />
<ClInclude Include="Campaign Init.h" />
<ClInclude Include="Campaign Types.h" />
<ClInclude Include="Creature Spreading.h" />
<ClInclude Include="Facilities.h" />
<ClInclude Include="Game Clock.h" />
<ClInclude Include="Game Event Hook.h" />
<ClInclude Include="Game Events.h" />
<ClInclude Include="Game Init.h" />
<ClInclude Include="Ja25 Strategic Ai.h" />
<ClInclude Include="Luaglobal.h" />
<ClInclude Include="LuaInitNPCs.h" />
<ClInclude Include="Map Screen Helicopter.h" />
<ClInclude Include="Map Screen Interface Border.h" />
<ClInclude Include="Map Screen Interface Bottom.h" />
<ClInclude Include="Map Screen Interface Map Inventory.h" />
<ClInclude Include="Map Screen Interface Map.h" />
<ClInclude Include="Map Screen Interface TownMine Info.h" />
<ClInclude Include="Map Screen Interface.h" />
<ClInclude Include="MapScreen Quotes.h" />
<ClInclude Include="mapscreen.h" />
<ClInclude Include="Meanwhile.h" />
<ClInclude Include="Merc Contract.h" />
<ClInclude Include="MiniEvents.h" />
<ClInclude Include="MilitiaSquads.h" />
<ClInclude Include="MilitiaIndividual.h" />
<ClInclude Include="Player Command.h" />
<ClInclude Include="PreBattle Interface.h" />
<ClInclude Include="Queen Command.h" />
<ClInclude Include="Quest Debug System.h" />
<ClInclude Include="Quests.h" />
<ClInclude Include="QuestText.h" />
<ClInclude Include="Rebel Command.h" />
<ClInclude Include="Reinforcement.h" />
<ClInclude Include="Scheduling.h" />
<ClInclude Include="Strategic AI.h" />
<ClInclude Include="Strategic All.h" />
<ClInclude Include="Strategic Event Handler.h" />
<ClInclude Include="Strategic Merc Handler.h" />
<ClInclude Include="Strategic Mines LUA.h" />
<ClInclude Include="Strategic Mines.h" />
<ClInclude Include="Strategic Movement.h" />
<ClInclude Include="Strategic Pathing.h" />
<ClInclude Include="Strategic Status.h" />
<ClInclude Include="Strategic Town Loyalty.h" />
<ClInclude Include="strategic town reputation.h" />
<ClInclude Include="Strategic Turns.h" />
<ClInclude Include="strategic.h" />
<ClInclude Include="strategicmap.h" />
<ClInclude Include="Town Militia.h" />
<ClInclude Include="UndergroundInit.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="AI Viewer.cpp" />
<ClCompile Include="ASD.cpp" />
<ClCompile Include="Assignments.cpp" />
<ClCompile Include="Auto Resolve.cpp" />
<ClCompile Include="Campaign Init.cpp" />
<ClCompile Include="Creature Spreading.cpp" />
<ClCompile Include="Facilities.cpp" />
<ClCompile Include="Game Clock.cpp" />
<ClCompile Include="Game Event Hook.cpp" />
<ClCompile Include="Game Events.cpp" />
<ClCompile Include="Game Init.cpp" />
<ClCompile Include="Hourly Update.cpp" />
<ClCompile Include="Ja25 Strategic Ai.cpp" />
<ClCompile Include="Luaglobal.cpp" />
<ClCompile Include="LuaInitNPCs.cpp" />
<ClCompile Include="Map Screen Helicopter.cpp" />
<ClCompile Include="Map Screen Interface Border.cpp" />
<ClCompile Include="Map Screen Interface Bottom.cpp" />
<ClCompile Include="Map Screen Interface Map Inventory.cpp" />
<ClCompile Include="Map Screen Interface Map.cpp" />
<ClCompile Include="Map Screen Interface TownMine Info.cpp" />
<ClCompile Include="Map Screen Interface.cpp" />
<ClCompile Include="MapScreen Quotes.cpp" />
<ClCompile Include="mapscreen.cpp" />
<ClCompile Include="Meanwhile.cpp" />
<ClCompile Include="Merc Contract.cpp" />
<ClCompile Include="MiniEvents.cpp" />
<ClCompile Include="MilitiaSquads.cpp" />
<ClCompile Include="MilitiaIndividual.cpp" />
<ClCompile Include="Player Command.cpp" />
<ClCompile Include="PreBattle Interface.cpp" />
<ClCompile Include="Queen Command.cpp" />
<ClCompile Include="Quest Debug System.cpp" />
<ClCompile Include="Quests.cpp" />
<ClCompile Include="Rebel Command.cpp" />
<ClCompile Include="Reinforcement.cpp" />
<ClCompile Include="Scheduling.cpp" />
<ClCompile Include="Strategic AI.cpp" />
<ClCompile Include="Strategic Event Handler.cpp" />
<ClCompile Include="Strategic Merc Handler.cpp" />
<ClCompile Include="Strategic Mines LUA.cpp" />
<ClCompile Include="Strategic Mines.cpp" />
<ClCompile Include="Strategic Movement Costs.cpp" />
<ClCompile Include="Strategic Movement.cpp" />
<ClCompile Include="Strategic Pathing.cpp" />
<ClCompile Include="Strategic Status.cpp" />
<ClCompile Include="Strategic Town Loyalty.cpp" />
<ClCompile Include="strategic town reputation.cpp" />
<ClCompile Include="Strategic Turns.cpp" />
<ClCompile Include="strategic.cpp" />
<ClCompile Include="strategicmap.cpp" />
<ClCompile Include="Town Militia.cpp" />
<ClCompile Include="UndergroundInit.cpp" />
<ClCompile Include="XML_Army.cpp" />
<ClCompile Include="XML_Bloodcats.cpp" />
<ClCompile Include="XML_CoolnessBySector.cpp" />
<ClCompile Include="XML_Creatures.cpp" />
<ClCompile Include="XML_ExtraItems.cpp" />
<ClCompile Include="XML_Facilities.cpp" />
<ClCompile Include="XML_FacilityTypes.cpp" />
<ClCompile Include="XML_Minerals.cpp" />
<ClCompile Include="XML_SectorNames.cpp" />
<ClCompile Include="XML_SquadNames.cpp" />
<ClCompile Include="XML_UniformColors.cpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{DE9B77CC-7CD5-4951-9B7F-BAC7B4A8169C}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Strategic</RootNamespace>
<ProjectName>Strategic</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Relese_WithDebugInfo|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
<Import Project="..\ja2_Debug.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
<Import Project="..\ja2_Debug.props" />
<Import Project="..\ja2_Editor.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
<Import Project="..\ja2_Editor.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Relese_WithDebugInfo|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|Win32'" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|Win32'" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Relese_WithDebugInfo|Win32'" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Relese_WithDebugInfo|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
-366
View File
@@ -1,366 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Header Files">
<UniqueIdentifier>{e965b12d-833b-4ed2-b5fe-b519e2d661e3}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{7fc727d5-3708-404e-8267-410283203b63}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="ASD.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Assignments.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Auto Resolve.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Campaign Init.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Campaign Types.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Creature Spreading.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Facilities.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Game Clock.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Game Event Hook.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Game Events.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Game Init.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Luaglobal.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="LuaInitNPCs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Map Screen Helicopter.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Map Screen Interface Border.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Map Screen Interface Bottom.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Map Screen Interface Map Inventory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Map Screen Interface Map.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Map Screen Interface TownMine Info.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Map Screen Interface.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="mapscreen.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Meanwhile.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Merc Contract.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="MiniEvents.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="MilitiaSquads.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="MilitiaIndividual.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Player Command.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="PreBattle Interface.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Queen Command.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Quest Debug System.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Quests.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="QuestText.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Rebel Command.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Reinforcement.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Scheduling.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic AI.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic All.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Event Handler.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Merc Handler.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Mines.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Movement.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Pathing.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Status.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Town Loyalty.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="strategic town reputation.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Turns.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="strategic.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="strategicmap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Town Militia.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="UndergroundInit.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Mines LUA.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Ja25 Strategic Ai.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="MapScreen Quotes.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="AI Viewer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ASD.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Assignments.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Auto Resolve.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Campaign Init.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Creature Spreading.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Facilities.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Game Clock.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Game Event Hook.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Game Events.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Game Init.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Hourly Update.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Luaglobal.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="LuaInitNPCs.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Map Screen Helicopter.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Map Screen Interface Border.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Map Screen Interface Bottom.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Map Screen Interface Map Inventory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Map Screen Interface Map.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Map Screen Interface TownMine Info.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Map Screen Interface.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="mapscreen.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Meanwhile.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Merc Contract.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="MiniEvents.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="MilitiaSquads.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="MilitiaIndividual.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Player Command.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="PreBattle Interface.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Queen Command.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Quest Debug System.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Quests.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Rebel Command.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Reinforcement.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Scheduling.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic AI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Event Handler.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Merc Handler.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Mines.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Movement Costs.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Movement.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Pathing.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Status.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Town Loyalty.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="strategic town reputation.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Turns.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="strategic.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="strategicmap.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Town Militia.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="UndergroundInit.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Army.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Bloodcats.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_ExtraItems.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Facilities.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_FacilityTypes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_SectorNames.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_UniformColors.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Mines LUA.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Ja25 Strategic Ai.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="MapScreen Quotes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_CoolnessBySector.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_SquadNames.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Minerals.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Creatures.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>
-335
View File
@@ -1,335 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="MapEditorD|Win32">
<Configuration>MapEditorD</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="MapEditor|Win32">
<Configuration>MapEditor</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release_WithDebugInfo|Win32">
<Configuration>Release_WithDebugInfo</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="ASD.h" />
<ClInclude Include="Assignments.h" />
<ClInclude Include="Auto Resolve.h" />
<ClInclude Include="Campaign Init.h" />
<ClInclude Include="Campaign Types.h" />
<ClInclude Include="Creature Spreading.h" />
<ClInclude Include="Facilities.h" />
<ClInclude Include="Game Clock.h" />
<ClInclude Include="Game Event Hook.h" />
<ClInclude Include="Game Events.h" />
<ClInclude Include="Game Init.h" />
<ClInclude Include="Ja25 Strategic Ai.h" />
<ClInclude Include="Luaglobal.h" />
<ClInclude Include="LuaInitNPCs.h" />
<ClInclude Include="Map Screen Helicopter.h" />
<ClInclude Include="Map Screen Interface Border.h" />
<ClInclude Include="Map Screen Interface Bottom.h" />
<ClInclude Include="Map Screen Interface Map Inventory.h" />
<ClInclude Include="Map Screen Interface Map.h" />
<ClInclude Include="Map Screen Interface TownMine Info.h" />
<ClInclude Include="Map Screen Interface.h" />
<ClInclude Include="MapScreen Quotes.h" />
<ClInclude Include="mapscreen.h" />
<ClInclude Include="Meanwhile.h" />
<ClInclude Include="Merc Contract.h" />
<ClInclude Include="MilitiaIndividual.h" />
<ClInclude Include="MilitiaSquads.h" />
<ClInclude Include="MiniEvents.h" />
<ClInclude Include="Player Command.h" />
<ClInclude Include="PreBattle Interface.h" />
<ClInclude Include="Queen Command.h" />
<ClInclude Include="Quest Debug System.h" />
<ClInclude Include="Quests.h" />
<ClInclude Include="QuestText.h" />
<ClInclude Include="Rebel Command.h" />
<ClInclude Include="Reinforcement.h" />
<ClInclude Include="Scheduling.h" />
<ClInclude Include="Strategic AI.h" />
<ClInclude Include="Strategic All.h" />
<ClInclude Include="Strategic Event Handler.h" />
<ClInclude Include="Strategic Merc Handler.h" />
<ClInclude Include="Strategic Mines LUA.h" />
<ClInclude Include="Strategic Mines.h" />
<ClInclude Include="Strategic Movement.h" />
<ClInclude Include="Strategic Pathing.h" />
<ClInclude Include="Strategic Status.h" />
<ClInclude Include="Strategic Town Loyalty.h" />
<ClInclude Include="strategic town reputation.h" />
<ClInclude Include="Strategic Turns.h" />
<ClInclude Include="strategic.h" />
<ClInclude Include="strategicmap.h" />
<ClInclude Include="Town Militia.h" />
<ClInclude Include="UndergroundInit.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="AI Viewer.cpp" />
<ClCompile Include="ASD.cpp" />
<ClCompile Include="Assignments.cpp" />
<ClCompile Include="Auto Resolve.cpp" />
<ClCompile Include="Campaign Init.cpp" />
<ClCompile Include="Creature Spreading.cpp" />
<ClCompile Include="Facilities.cpp" />
<ClCompile Include="Game Clock.cpp" />
<ClCompile Include="Game Event Hook.cpp" />
<ClCompile Include="Game Events.cpp" />
<ClCompile Include="Game Init.cpp" />
<ClCompile Include="Hourly Update.cpp" />
<ClCompile Include="Ja25 Strategic Ai.cpp" />
<ClCompile Include="Luaglobal.cpp" />
<ClCompile Include="LuaInitNPCs.cpp" />
<ClCompile Include="Map Screen Helicopter.cpp" />
<ClCompile Include="Map Screen Interface Border.cpp" />
<ClCompile Include="Map Screen Interface Bottom.cpp" />
<ClCompile Include="Map Screen Interface Map Inventory.cpp" />
<ClCompile Include="Map Screen Interface Map.cpp" />
<ClCompile Include="Map Screen Interface TownMine Info.cpp" />
<ClCompile Include="Map Screen Interface.cpp" />
<ClCompile Include="MapScreen Quotes.cpp" />
<ClCompile Include="mapscreen.cpp" />
<ClCompile Include="Meanwhile.cpp" />
<ClCompile Include="Merc Contract.cpp" />
<ClCompile Include="MilitiaIndividual.cpp" />
<ClCompile Include="MilitiaSquads.cpp" />
<ClCompile Include="MiniEvents.cpp" />
<ClCompile Include="Player Command.cpp" />
<ClCompile Include="PreBattle Interface.cpp" />
<ClCompile Include="Queen Command.cpp" />
<ClCompile Include="Quest Debug System.cpp" />
<ClCompile Include="Quests.cpp" />
<ClCompile Include="Rebel Command.cpp" />
<ClCompile Include="Reinforcement.cpp" />
<ClCompile Include="Scheduling.cpp" />
<ClCompile Include="Strategic AI.cpp" />
<ClCompile Include="Strategic Event Handler.cpp" />
<ClCompile Include="Strategic Merc Handler.cpp" />
<ClCompile Include="Strategic Mines LUA.cpp" />
<ClCompile Include="Strategic Mines.cpp" />
<ClCompile Include="Strategic Movement Costs.cpp" />
<ClCompile Include="Strategic Movement.cpp" />
<ClCompile Include="Strategic Pathing.cpp" />
<ClCompile Include="Strategic Status.cpp" />
<ClCompile Include="Strategic Town Loyalty.cpp" />
<ClCompile Include="strategic town reputation.cpp" />
<ClCompile Include="Strategic Turns.cpp" />
<ClCompile Include="strategic.cpp" />
<ClCompile Include="strategicmap.cpp" />
<ClCompile Include="Town Militia.cpp" />
<ClCompile Include="UndergroundInit.cpp" />
<ClCompile Include="XML_Army.cpp" />
<ClCompile Include="XML_Bloodcats.cpp" />
<ClCompile Include="XML_CoolnessBySector.cpp" />
<ClCompile Include="XML_Creatures.cpp" />
<ClCompile Include="XML_ExtraItems.cpp" />
<ClCompile Include="XML_Facilities.cpp" />
<ClCompile Include="XML_FacilityTypes.cpp" />
<ClCompile Include="XML_Minerals.cpp" />
<ClCompile Include="XML_SectorNames.cpp" />
<ClCompile Include="XML_SquadNames.cpp" />
<ClCompile Include="XML_UniformColors.cpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{DE9B77CC-7CD5-4951-9B7F-BAC7B4A8169C}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Strategic</RootNamespace>
<ProjectName>Strategic</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_WithDebugInfo|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
<Import Project="..\ja2_Debug.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
<Import Project="..\ja2_Debug.props" />
<Import Project="..\ja2_Editor.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
<Import Project="..\ja2_Editor.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_WithDebugInfo|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)\lib\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)\build\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(ProjectName)_$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|Win32'">
<OutDir>$(SolutionDir)\lib\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)\build\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(ProjectName)_$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)\lib\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)\build\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(ProjectName)_$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|Win32'">
<OutDir>$(SolutionDir)\lib\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)\build\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(ProjectName)_$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_WithDebugInfo|Win32'">
<OutDir>$(SolutionDir)\lib\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)\build\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(ProjectName)_$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_WithDebugInfo|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
-366
View File
@@ -1,366 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Header Files">
<UniqueIdentifier>{e965b12d-833b-4ed2-b5fe-b519e2d661e3}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{7fc727d5-3708-404e-8267-410283203b63}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Assignments.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Auto Resolve.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Campaign Init.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Campaign Types.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Creature Spreading.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Facilities.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Game Clock.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Game Event Hook.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Game Events.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Game Init.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Luaglobal.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="LuaInitNPCs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Map Screen Helicopter.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Map Screen Interface Border.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Map Screen Interface Bottom.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Map Screen Interface Map Inventory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Map Screen Interface Map.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Map Screen Interface TownMine Info.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Map Screen Interface.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="mapscreen.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Meanwhile.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Merc Contract.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="MiniEvents.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="MilitiaSquads.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Player Command.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="PreBattle Interface.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Queen Command.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Quest Debug System.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Quests.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="QuestText.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Rebel Command.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Reinforcement.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Scheduling.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic AI.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic All.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Event Handler.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Merc Handler.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Mines.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Movement.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Pathing.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Status.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Town Loyalty.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="strategic town reputation.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Turns.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="strategic.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="strategicmap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Town Militia.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="UndergroundInit.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Mines LUA.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Ja25 Strategic Ai.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="MapScreen Quotes.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ASD.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="MilitiaIndividual.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="AI Viewer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Assignments.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Auto Resolve.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Campaign Init.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Creature Spreading.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Facilities.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Game Clock.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Game Event Hook.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Game Events.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Game Init.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Hourly Update.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Luaglobal.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="LuaInitNPCs.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Map Screen Helicopter.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Map Screen Interface Border.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Map Screen Interface Bottom.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Map Screen Interface Map Inventory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Map Screen Interface Map.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Map Screen Interface TownMine Info.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Map Screen Interface.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="mapscreen.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Meanwhile.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Merc Contract.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="MiniEvents.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="MilitiaSquads.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Player Command.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="PreBattle Interface.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Queen Command.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Quest Debug System.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Quests.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Rebel Command.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Reinforcement.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Scheduling.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic AI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Event Handler.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Merc Handler.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Mines.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Movement Costs.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Movement.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Pathing.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Status.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Town Loyalty.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="strategic town reputation.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Turns.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="strategic.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="strategicmap.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Town Militia.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="UndergroundInit.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Army.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Bloodcats.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_ExtraItems.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Facilities.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_FacilityTypes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_SectorNames.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_UniformColors.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Mines LUA.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Ja25 Strategic Ai.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="MapScreen Quotes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_CoolnessBySector.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_SquadNames.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Minerals.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Creatures.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ASD.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="MilitiaIndividual.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>
-336
View File
@@ -1,336 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="MapEditorD|Win32">
<Configuration>MapEditorD</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="MapEditor|Win32">
<Configuration>MapEditor</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release_WithDebugInfo|Win32">
<Configuration>Release_WithDebugInfo</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="ASD.h" />
<ClInclude Include="Assignments.h" />
<ClInclude Include="Auto Resolve.h" />
<ClInclude Include="Campaign Init.h" />
<ClInclude Include="Campaign Types.h" />
<ClInclude Include="Creature Spreading.h" />
<ClInclude Include="Facilities.h" />
<ClInclude Include="Game Clock.h" />
<ClInclude Include="Game Event Hook.h" />
<ClInclude Include="Game Events.h" />
<ClInclude Include="Game Init.h" />
<ClInclude Include="Ja25 Strategic Ai.h" />
<ClInclude Include="Luaglobal.h" />
<ClInclude Include="LuaInitNPCs.h" />
<ClInclude Include="Map Screen Helicopter.h" />
<ClInclude Include="Map Screen Interface Border.h" />
<ClInclude Include="Map Screen Interface Bottom.h" />
<ClInclude Include="Map Screen Interface Map Inventory.h" />
<ClInclude Include="Map Screen Interface Map.h" />
<ClInclude Include="Map Screen Interface TownMine Info.h" />
<ClInclude Include="Map Screen Interface.h" />
<ClInclude Include="MapScreen Quotes.h" />
<ClInclude Include="mapscreen.h" />
<ClInclude Include="Meanwhile.h" />
<ClInclude Include="Merc Contract.h" />
<ClInclude Include="MilitiaIndividual.h" />
<ClInclude Include="MilitiaSquads.h" />
<ClInclude Include="MiniEvents.h" />
<ClInclude Include="Player Command.h" />
<ClInclude Include="PreBattle Interface.h" />
<ClInclude Include="Queen Command.h" />
<ClInclude Include="Quest Debug System.h" />
<ClInclude Include="Quests.h" />
<ClInclude Include="QuestText.h" />
<ClInclude Include="Rebel Command.h" />
<ClInclude Include="Reinforcement.h" />
<ClInclude Include="Scheduling.h" />
<ClInclude Include="Strategic AI.h" />
<ClInclude Include="Strategic All.h" />
<ClInclude Include="Strategic Event Handler.h" />
<ClInclude Include="Strategic Merc Handler.h" />
<ClInclude Include="Strategic Mines LUA.h" />
<ClInclude Include="Strategic Mines.h" />
<ClInclude Include="Strategic Movement.h" />
<ClInclude Include="Strategic Pathing.h" />
<ClInclude Include="Strategic Status.h" />
<ClInclude Include="Strategic Town Loyalty.h" />
<ClInclude Include="strategic town reputation.h" />
<ClInclude Include="Strategic Turns.h" />
<ClInclude Include="strategic.h" />
<ClInclude Include="strategicmap.h" />
<ClInclude Include="Town Militia.h" />
<ClInclude Include="UndergroundInit.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="AI Viewer.cpp" />
<ClCompile Include="ASD.cpp" />
<ClCompile Include="Assignments.cpp" />
<ClCompile Include="Auto Resolve.cpp" />
<ClCompile Include="Campaign Init.cpp" />
<ClCompile Include="Creature Spreading.cpp" />
<ClCompile Include="Facilities.cpp" />
<ClCompile Include="Game Clock.cpp" />
<ClCompile Include="Game Event Hook.cpp" />
<ClCompile Include="Game Events.cpp" />
<ClCompile Include="Game Init.cpp" />
<ClCompile Include="Hourly Update.cpp" />
<ClCompile Include="Ja25 Strategic Ai.cpp" />
<ClCompile Include="Luaglobal.cpp" />
<ClCompile Include="LuaInitNPCs.cpp" />
<ClCompile Include="Map Screen Helicopter.cpp" />
<ClCompile Include="Map Screen Interface Border.cpp" />
<ClCompile Include="Map Screen Interface Bottom.cpp" />
<ClCompile Include="Map Screen Interface Map Inventory.cpp" />
<ClCompile Include="Map Screen Interface Map.cpp" />
<ClCompile Include="Map Screen Interface TownMine Info.cpp" />
<ClCompile Include="Map Screen Interface.cpp" />
<ClCompile Include="MapScreen Quotes.cpp" />
<ClCompile Include="mapscreen.cpp" />
<ClCompile Include="Meanwhile.cpp" />
<ClCompile Include="Merc Contract.cpp" />
<ClCompile Include="MilitiaIndividual.cpp" />
<ClCompile Include="MilitiaSquads.cpp" />
<ClCompile Include="MiniEvents.cpp" />
<ClCompile Include="Player Command.cpp" />
<ClCompile Include="PreBattle Interface.cpp" />
<ClCompile Include="Queen Command.cpp" />
<ClCompile Include="Quest Debug System.cpp" />
<ClCompile Include="Quests.cpp" />
<ClCompile Include="Rebel Command.cpp" />
<ClCompile Include="Reinforcement.cpp" />
<ClCompile Include="Scheduling.cpp" />
<ClCompile Include="Strategic AI.cpp" />
<ClCompile Include="Strategic Event Handler.cpp" />
<ClCompile Include="Strategic Merc Handler.cpp" />
<ClCompile Include="Strategic Mines LUA.cpp" />
<ClCompile Include="Strategic Mines.cpp" />
<ClCompile Include="Strategic Movement Costs.cpp" />
<ClCompile Include="Strategic Movement.cpp" />
<ClCompile Include="Strategic Pathing.cpp" />
<ClCompile Include="Strategic Status.cpp" />
<ClCompile Include="Strategic Town Loyalty.cpp" />
<ClCompile Include="strategic town reputation.cpp" />
<ClCompile Include="Strategic Turns.cpp" />
<ClCompile Include="strategic.cpp" />
<ClCompile Include="strategicmap.cpp" />
<ClCompile Include="Town Militia.cpp" />
<ClCompile Include="UndergroundInit.cpp" />
<ClCompile Include="XML_Army.cpp" />
<ClCompile Include="XML_Bloodcats.cpp" />
<ClCompile Include="XML_CoolnessBySector.cpp" />
<ClCompile Include="XML_Creatures.cpp" />
<ClCompile Include="XML_ExtraItems.cpp" />
<ClCompile Include="XML_Facilities.cpp" />
<ClCompile Include="XML_FacilityTypes.cpp" />
<ClCompile Include="XML_Minerals.cpp" />
<ClCompile Include="XML_SectorNames.cpp" />
<ClCompile Include="XML_SquadNames.cpp" />
<ClCompile Include="XML_UniformColors.cpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{DE9B77CC-7CD5-4951-9B7F-BAC7B4A8169C}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Strategic</RootNamespace>
<ProjectName>Strategic</ProjectName>
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_WithDebugInfo|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
<Import Project="..\ja2_Debug.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
<Import Project="..\ja2_Debug.props" />
<Import Project="..\ja2_Editor.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
<Import Project="..\ja2_Editor.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_WithDebugInfo|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)\lib\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)\build\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(ProjectName)_$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|Win32'">
<OutDir>$(SolutionDir)\lib\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)\build\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(ProjectName)_$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)\lib\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)\build\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(ProjectName)_$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|Win32'">
<OutDir>$(SolutionDir)\lib\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)\build\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(ProjectName)_$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_WithDebugInfo|Win32'">
<OutDir>$(SolutionDir)\lib\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)\build\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(ProjectName)_$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_WithDebugInfo|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
-513
View File
@@ -1,513 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="MapEditorD|Win32">
<Configuration>MapEditorD</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="MapEditorD|x64">
<Configuration>MapEditorD</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="MapEditor|Win32">
<Configuration>MapEditor</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="MapEditor|x64">
<Configuration>MapEditor</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release_WithDebugInfo|x64">
<Configuration>Release_WithDebugInfo</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release_WithDebugInfo|Win32">
<Configuration>Release_WithDebugInfo</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="ASD.h" />
<ClInclude Include="Assignments.h" />
<ClInclude Include="Auto Resolve.h" />
<ClInclude Include="Campaign Init.h" />
<ClInclude Include="Campaign Types.h" />
<ClInclude Include="Creature Spreading.h" />
<ClInclude Include="Facilities.h" />
<ClInclude Include="Game Clock.h" />
<ClInclude Include="Game Event Hook.h" />
<ClInclude Include="Game Events.h" />
<ClInclude Include="Game Init.h" />
<ClInclude Include="Ja25 Strategic Ai.h" />
<ClInclude Include="Luaglobal.h" />
<ClInclude Include="LuaInitNPCs.h" />
<ClInclude Include="Map Screen Helicopter.h" />
<ClInclude Include="Map Screen Interface Border.h" />
<ClInclude Include="Map Screen Interface Bottom.h" />
<ClInclude Include="Map Screen Interface Map Inventory.h" />
<ClInclude Include="Map Screen Interface Map.h" />
<ClInclude Include="Map Screen Interface TownMine Info.h" />
<ClInclude Include="Map Screen Interface.h" />
<ClInclude Include="MapScreen Quotes.h" />
<ClInclude Include="mapscreen.h" />
<ClInclude Include="Meanwhile.h" />
<ClInclude Include="Merc Contract.h" />
<ClInclude Include="MilitiaIndividual.h" />
<ClInclude Include="MilitiaSquads.h" />
<ClInclude Include="MiniEvents.h" />
<ClInclude Include="Player Command.h" />
<ClInclude Include="PreBattle Interface.h" />
<ClInclude Include="Queen Command.h" />
<ClInclude Include="Quest Debug System.h" />
<ClInclude Include="Quests.h" />
<ClInclude Include="QuestText.h" />
<ClInclude Include="Rebel Command.h" />
<ClInclude Include="Reinforcement.h" />
<ClInclude Include="Scheduling.h" />
<ClInclude Include="Strategic AI.h" />
<ClInclude Include="Strategic All.h" />
<ClInclude Include="Strategic Event Handler.h" />
<ClInclude Include="Strategic Merc Handler.h" />
<ClInclude Include="Strategic Mines LUA.h" />
<ClInclude Include="Strategic Mines.h" />
<ClInclude Include="Strategic Movement.h" />
<ClInclude Include="Strategic Pathing.h" />
<ClInclude Include="Strategic Status.h" />
<ClInclude Include="Strategic Town Loyalty.h" />
<ClInclude Include="strategic town reputation.h" />
<ClInclude Include="Strategic Turns.h" />
<ClInclude Include="strategic.h" />
<ClInclude Include="strategicmap.h" />
<ClInclude Include="Town Militia.h" />
<ClInclude Include="UndergroundInit.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="AI Viewer.cpp" />
<ClCompile Include="ASD.cpp" />
<ClCompile Include="Assignments.cpp" />
<ClCompile Include="Auto Resolve.cpp" />
<ClCompile Include="Campaign Init.cpp" />
<ClCompile Include="Creature Spreading.cpp" />
<ClCompile Include="Facilities.cpp" />
<ClCompile Include="Game Clock.cpp" />
<ClCompile Include="Game Event Hook.cpp" />
<ClCompile Include="Game Events.cpp" />
<ClCompile Include="Game Init.cpp" />
<ClCompile Include="Hourly Update.cpp" />
<ClCompile Include="Ja25 Strategic Ai.cpp" />
<ClCompile Include="Luaglobal.cpp" />
<ClCompile Include="LuaInitNPCs.cpp" />
<ClCompile Include="Map Screen Helicopter.cpp" />
<ClCompile Include="Map Screen Interface Border.cpp" />
<ClCompile Include="Map Screen Interface Bottom.cpp" />
<ClCompile Include="Map Screen Interface Map Inventory.cpp" />
<ClCompile Include="Map Screen Interface Map.cpp" />
<ClCompile Include="Map Screen Interface TownMine Info.cpp" />
<ClCompile Include="Map Screen Interface.cpp" />
<ClCompile Include="MapScreen Quotes.cpp" />
<ClCompile Include="mapscreen.cpp" />
<ClCompile Include="Meanwhile.cpp" />
<ClCompile Include="Merc Contract.cpp" />
<ClCompile Include="MilitiaIndividual.cpp" />
<ClCompile Include="MilitiaSquads.cpp" />
<ClCompile Include="MiniEvents.cpp" />
<ClCompile Include="Player Command.cpp" />
<ClCompile Include="PreBattle Interface.cpp" />
<ClCompile Include="Queen Command.cpp" />
<ClCompile Include="Quest Debug System.cpp" />
<ClCompile Include="Quests.cpp" />
<ClCompile Include="Rebel Command.cpp" />
<ClCompile Include="Reinforcement.cpp" />
<ClCompile Include="Scheduling.cpp" />
<ClCompile Include="Strategic AI.cpp" />
<ClCompile Include="Strategic Event Handler.cpp" />
<ClCompile Include="Strategic Merc Handler.cpp" />
<ClCompile Include="Strategic Mines LUA.cpp" />
<ClCompile Include="Strategic Mines.cpp" />
<ClCompile Include="Strategic Movement Costs.cpp" />
<ClCompile Include="Strategic Movement.cpp" />
<ClCompile Include="Strategic Pathing.cpp" />
<ClCompile Include="Strategic Status.cpp" />
<ClCompile Include="Strategic Town Loyalty.cpp" />
<ClCompile Include="strategic town reputation.cpp" />
<ClCompile Include="Strategic Turns.cpp" />
<ClCompile Include="strategic.cpp" />
<ClCompile Include="strategicmap.cpp" />
<ClCompile Include="Town Militia.cpp" />
<ClCompile Include="UndergroundInit.cpp" />
<ClCompile Include="XML_Army.cpp" />
<ClCompile Include="XML_Bloodcats.cpp" />
<ClCompile Include="XML_CoolnessBySector.cpp" />
<ClCompile Include="XML_Creatures.cpp" />
<ClCompile Include="XML_ExtraItems.cpp" />
<ClCompile Include="XML_Facilities.cpp" />
<ClCompile Include="XML_FacilityTypes.cpp" />
<ClCompile Include="XML_Minerals.cpp" />
<ClCompile Include="XML_SectorNames.cpp" />
<ClCompile Include="XML_SquadNames.cpp" />
<ClCompile Include="XML_UniformColors.cpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{DE9B77CC-7CD5-4951-9B7F-BAC7B4A8169C}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Strategic</RootNamespace>
<ProjectName>Strategic</ProjectName>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_WithDebugInfo|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_WithDebugInfo|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
<Import Project="..\ja2_Debug.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
<Import Project="..\ja2_Debug.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
<Import Project="..\ja2_Debug.props" />
<Import Project="..\ja2_Editor.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
<Import Project="..\ja2_Debug.props" />
<Import Project="..\ja2_Editor.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
<Import Project="..\ja2_Editor.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
<Import Project="..\ja2_Editor.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_WithDebugInfo|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_WithDebugInfo|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\ja2.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)\lib\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)\build\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(ProjectName)_$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|Win32'">
<OutDir>$(SolutionDir)\lib\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)\build\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(ProjectName)_$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)\lib\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)\build\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(ProjectName)_$(Configuration)\</IntDir>
<CodeAnalysisRuleSet>CppCoreCheckConstRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|Win32'">
<OutDir>$(SolutionDir)\lib\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)\build\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(ProjectName)_$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_WithDebugInfo|Win32'">
<OutDir>$(SolutionDir)\lib\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)\build\VS2013\$(JA2Config)_$(JA2LangPrefix)\$(ProjectName)_$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_WithDebugInfo|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_WithDebugInfo|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
+2 -7
View File
@@ -1,9 +1,5 @@
#include "builddefines.h"
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "GameSettings.h"
#else
#include "Town Militia.h"
#include "Militia Control.h"
#include "Campaign Types.h"
@@ -35,7 +31,6 @@
#include "Campaign.h" // added by Flugente
#include "message.h" // added by Flugente
#include "Rebel Command.h"
#endif
// HEADROCK HAM 3: include these files so that a militia trainer's Effective Leadership can be determined. Used
// to determine the number of militia trained by this merc per session. In the future may also determine QUALITY
@@ -279,7 +274,7 @@ void TownMilitiaTrainingCompleted( SOLDIERTYPE *pTrainer, INT16 sMapX, INT16 sMa
if( ubTownId == BLANK_SECTOR )
{
Assert( IsThisSectorASAMSector( sMapX, sMapY, 0 ) );
Assert( IsThisSectorASAMSector( sMapX, sMapY, 0 ) || RebelCommand::CanTrainMilitiaAnywhere() );
}
// force tactical to update militia status
@@ -1293,7 +1288,7 @@ BOOLEAN IsSAMSiteFullOfMilitia( INT16 sSectorX, INT16 sSectorY, INT8 iMilitiaTyp
INT32 iMaxMilitiaPerSector = gGameExternalOptions.iMaxMilitiaPerSector;
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"Militia5");
// check if SAM site is ours?
fSamSitePresent = IsThisSectorASAMSector( sSectorX, sSectorY, 0 );
fSamSitePresent = IsThisSectorASAMSector(sSectorX, sSectorY, 0) || RebelCommand::CanTrainMilitiaAnywhere();
if( fSamSitePresent == FALSE )
{
-5
View File
@@ -1,16 +1,11 @@
#include "builddefines.h"
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "XML.h"
#else
#include <stdio.h>
#include "XML.h"
#include "Strategic AI.h"
#include "expat.h"
#include "Campaign Types.h"
#include "Debug Control.h"
#endif
#define MAX_CHAR_DATA_LENGTH 500
-5
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "XML.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include "XML.h"
@@ -12,7 +8,6 @@
#include "MemMan.h"
#include "Debug Control.h"
#include "mapscreen.h"
#endif
#define MAX_CHAR_DATA_LENGTH 500
-5
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "XML.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include "XML.h"
@@ -12,7 +8,6 @@
#include "MemMan.h"
#include "Debug Control.h"
#include "mapscreen.h"
#endif
#define MAX_CHAR_DATA_LENGTH 500
-5
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "expat.h"
#include "string.h"
#include "Campaign Types.h"
@@ -9,7 +5,6 @@
#include "MemMan.h"
#include "Debug Control.h"
#include "Creature Spreading.h"
#endif
// Buggler: creature XML externalization stuff
#define MAX_CHAR_DATA_LENGTH 500
-4
View File
@@ -8,9 +8,6 @@
//
///////////////////////////////////////////////////////////////////////////////
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "sgp.h"
#include "Debug Control.h"
#include "expat.h"
@@ -18,7 +15,6 @@
#include "XML.h"
#include "FileMan.h"
#include "Campaign Types.h"
#endif
FACILITYLOCATIONS gFacilityLocations[256][MAX_NUM_FACILITY_TYPES];
UINT16 NUM_FACILITIES;
-4
View File
@@ -9,9 +9,6 @@
//
///////////////////////////////////////////////////////////////////////////////
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "sgp.h"
#include "Debug Control.h"
#include "expat.h"
@@ -20,7 +17,6 @@
#include "FileMan.h"
#include "Campaign Types.h"
#include "Facilities.h"
#endif
FACILITYTYPE gFacilityTypes[ MAX_NUM_FACILITY_TYPES ];
UINT16 NUM_FACILITY_TYPES = 0;
-4
View File
@@ -1,13 +1,9 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "sgp.h"
#include "Debug Control.h"
#include "expat.h"
#include "XML.h"
#include "Interface.h"
#include "Map Screen Interface Map.h"
#endif
struct
{
-5
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "XML.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include "XML.h"
@@ -12,7 +8,6 @@
#include "MemMan.h"
#include "Debug Control.h"
#include "mapscreen.h"
#endif
#define MAX_CHAR_DATA_LENGTH 500
-4
View File
@@ -1,13 +1,9 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "sgp.h"
#include "Map Screen Interface.h"
#include "overhead.h"
#include "Debug Control.h"
#include "expat.h"
#include "XML.h"
#endif
struct
{
-5
View File
@@ -8,10 +8,6 @@
//////////////////////////////////////////////////////////////
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "XML.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include "XML.h"
@@ -22,7 +18,6 @@
#include "MemMan.h"
#include "Debug Control.h"
#include "mapscreen.h"
#endif
#define MAX_CHAR_DATA_LENGTH 500
+21 -16
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "HelpScreen.h"
#else
#include "mapscreen.h"
#include <stdio.h>
#include <stdarg.h>
@@ -115,7 +111,6 @@
#include "Food.h" // added by Flugente
#include "Drugs And Alcohol.h" // added by Flugente
#include "WordWrap.h"
#endif
#include "connect.h" //hayden
#include "InterfaceItemImages.h"
@@ -2408,7 +2403,8 @@ void DrawCharBars( void )
if( ( pSoldier->stats.bLife == 0 ) ||
( pSoldier->bAssignment == ASSIGNMENT_DEAD ) ||
( pSoldier->bAssignment == ASSIGNMENT_POW ) ||
( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) )
( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) ||
( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) )
{
return;
}
@@ -2826,7 +2822,7 @@ void DrawCharHealth( INT16 sCharNum )
pSoldier = &Menptr[gCharactersList[sCharNum].usSolID];
if( pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT )
if( pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT && pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND )
{
// find starting X coordinate by centering all 3 substrings together, then print them separately (different colors)!
swprintf( sString, L"%d/%d", pSoldier->stats.bLife, pSoldier->stats.bLifeMax );
@@ -4953,7 +4949,7 @@ UINT32 MapScreenHandle(void)
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
if (!is_networked)
{
if (iResolution == _1280x720)
if (isWidescreenUI())
{
FilenameForBPP("INTERFACE\\newgoldpiece3_1280x720.sti", VObjectDesc.ImageFile);
}
@@ -4973,7 +4969,7 @@ UINT32 MapScreenHandle(void)
else
{
// OJW - 20081204 - change mapscreen interface for MP games
if (iResolution == _1280x720)
if (isWidescreenUI())
{
FilenameForBPP("INTERFACE\\mpgoldpiece3_1280x720.sti", VObjectDesc.ImageFile);
}
@@ -5716,7 +5712,7 @@ UINT32 MapScreenHandle(void)
HandleCharBarRender( );
}
if( fShowInventoryFlag || fDisableDueToBattleRoster )
if( (fShowInventoryFlag && !isWidescreenUI()) || fDisableDueToBattleRoster )
{
for( iCounter = 0; iCounter < MAX_SORT_METHODS; iCounter++ )
{
@@ -11332,7 +11328,7 @@ void TeamListInfoRegionBtnCallBack(MOUSE_REGION *pRegion, INT32 iReason )
fPlotForMilitia = FALSE;
// if not dead or POW, select his sector
if( ( pSoldier->stats.bLife > 0 ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ))//&& !SPY_LOCATION( pSoldier->bAssignment ) )
if( ( pSoldier->stats.bLife > 0 ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) && ( pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND ) )//&& !SPY_LOCATION( pSoldier->bAssignment ) )
{
ChangeSelectedMapSector( pSoldier->sSectorX, pSoldier->sSectorY, pSoldier->bSectorZ );
}
@@ -11388,7 +11384,7 @@ void TeamListInfoRegionBtnCallBack(MOUSE_REGION *pRegion, INT32 iReason )
fPlotForMilitia = FALSE;
// if not dead or POW, select his sector
if( ( pSoldier->stats.bLife > 0 ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && !SPY_LOCATION( pSoldier->bAssignment ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) )
if( ( pSoldier->stats.bLife > 0 ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && !SPY_LOCATION( pSoldier->bAssignment ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) && ( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) )
{
ChangeSelectedMapSector( pSoldier->sSectorX, pSoldier->sSectorY, pSoldier->bSectorZ );
}
@@ -11571,7 +11567,7 @@ void TeamListAssignmentRegionBtnCallBack(MOUSE_REGION *pRegion, INT32 iReason )
fShownAssignmentMenu = FALSE;
// if not dead or POW, select his sector
if( ( pSoldier->stats.bLife > 0 ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) )
if( ( pSoldier->stats.bLife > 0 ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) && ( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) )
{
ChangeSelectedMapSector( pSoldier->sSectorX, pSoldier->sSectorY, pSoldier->bSectorZ );
}
@@ -15119,6 +15115,7 @@ BOOLEAN MapCharacterHasAccessibleInventory( INT16 bCharNumber )
if( ( pSoldier->bAssignment == IN_TRANSIT ) ||
( pSoldier->bAssignment == ASSIGNMENT_POW ) ||
( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) ||
( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) ||
// Kaiden: Vehicle Inventory change - Commented the following line
// ( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) ||
// And added this instead:
@@ -15307,7 +15304,7 @@ BOOLEAN CanChangeSleepStatusForSoldier( SOLDIERTYPE *pSoldier )
// if a vehicle, robot, in transit, or a POW
if( ( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) || AM_A_ROBOT( pSoldier ) ||
( pSoldier->bAssignment == IN_TRANSIT ) || ( pSoldier->bAssignment == ASSIGNMENT_POW ) || ( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) )
( pSoldier->bAssignment == IN_TRANSIT ) || ( pSoldier->bAssignment == ASSIGNMENT_POW ) || ( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) || ( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) )
{
// can't change the sleep status of such mercs
return ( FALSE );
@@ -15675,6 +15672,7 @@ void ChangeSelectedInfoChar( INT16 bCharNumber, BOOLEAN fResetSelectedList )
}
fCharacterInfoPanelDirty = TRUE;
fResetMapCoords = TRUE;
// if showing sector inventory
if ( fShowMapInventoryPool )
@@ -15860,7 +15858,7 @@ INT16 CalcLocationValueForChar( INT32 iCounter )
pSoldier = MercPtrs[ gCharactersList[ iCounter ].usSolID ];
// don't reveal location of POWs!
if( pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT )
if( pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT && pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND )
{
sLocValue = SECTOR( pSoldier->sSectorX, pSoldier->sSectorY );
// underground: add 1000 per sublevel
@@ -15954,6 +15952,7 @@ BOOLEAN AnyMovableCharsInOrBetweenThisSector( INT16 sSectorX, INT16 sSectorY, IN
SPY_LOCATION( pSoldier->bAssignment ) ||
( pSoldier->bAssignment == ASSIGNMENT_DEAD ) ||
( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) ||
( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) ||
( pSoldier->stats.bLife == 0 ) )
{
continue;
@@ -16558,6 +16557,11 @@ void GetMapscreenMercLocationString( SOLDIERTYPE *pSoldier, CHAR16 sString[] )
// mini event - unknown location, use the same string as POWs
swprintf( sString, L"%s", pPOWStrings[ 1 ] );
}
else if (pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
{
// on a rebel command mission
swprintf( sString, L"%s%s*", pMapVertIndex[pSoldier->sSectorY], pMapHortIndex[pSoldier->sSectorX] );
}
else if ( SPY_LOCATION( pSoldier->bAssignment ) )
{
swprintf( pTempString, L"%s%s%s",
@@ -16598,6 +16602,7 @@ void GetMapscreenMercDestinationString( SOLDIERTYPE *pSoldier, CHAR16 sString[]
if( ( pSoldier->bAssignment == ASSIGNMENT_DEAD ) ||
( pSoldier->bAssignment == ASSIGNMENT_POW ) ||
( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) ||
( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) ||
SPY_LOCATION( pSoldier->bAssignment ) ||
( pSoldier->stats.bLife == 0 ) )
{
@@ -17968,4 +17973,4 @@ void initMapViewAndBorderCoordinates(void)
UI_MAP.HeliETA.Upper_Popup_Y = (50 + iScreenHeightOffset - 100);
UI_MAP.HeliETA.Alternate_Height = 97;
}
}
}
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "types.h"
#include "strategic town reputation.h"
#include "soldier profile type.h"
@@ -11,7 +8,6 @@
#include "strategic town loyalty.h"
#include "Debug.h"
#include "message.h"
#endif
// init for town reputation at game start
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "Strategic.h"
#include "Types.h"
#include "Squads.h"
@@ -21,7 +18,6 @@
#include "message.h" // added by Flugente
#include "Text.h" // added by Flugente
#include "Queen Command.h" // added by Flugente
#endif
#ifdef JA2UB
#else
+112 -50
View File
@@ -1,11 +1,5 @@
#include "builddefines.h"
#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#include "Loading Screen.h"
#include "Enemy Soldier Save.h"
#include "points.h"
#else
#include "strategicmap.h"
#include "strategic.h"
#include "Strategic Mines.h"
@@ -104,7 +98,6 @@
#include "Auto Resolve.h"
#include "cursors.h"
#include "GameVersion.h"
#endif
#include "LuaInitNPCs.h"
#include "Luaglobal.h"
@@ -2222,7 +2215,7 @@ BOOLEAN SetCurrentWorldSector( INT16 sMapX, INT16 sMapY, INT8 bMapZ )
// GridNo = NOWHERE, which causes this assertion to fail
//CHRISL: There's also an issue with vehicles. Soldiers in any vehicle are considered to be in sGridNo = NOWHERE
// This will result in an assertion error, so let's skip the assertion if the merc is assigned to a vehicle
if ( !(MercPtrs[i]->flags.uiStatusFlags & SOLDIER_DEAD) && MercPtrs[i]->bAssignment != VEHICLE && !SPY_LOCATION( MercPtrs[i]->bAssignment ) )
if (!(MercPtrs[i]->flags.uiStatusFlags & SOLDIER_DEAD) && MercPtrs[i]->bAssignment != VEHICLE && !SPY_LOCATION(MercPtrs[i]->bAssignment) && MercPtrs[i]->bAssignment != ASSIGNMENT_POW)
{
//Assert( !MercPtrs[i]->bActive || !MercPtrs[i]->bInSector || MercPtrs[i]->sGridNo != NOWHERE || MercPtrs[i]->bVehicleID == iHelicopterVehicleId );
Assert( !MercPtrs[i]->bActive || !MercPtrs[i]->bInSector || !TileIsOutOfBounds( MercPtrs[i]->sGridNo ) || MercPtrs[i]->bVehicleID == iHelicopterVehicleId );
@@ -2272,7 +2265,7 @@ BOOLEAN SetCurrentWorldSector( INT16 sMapX, INT16 sMapY, INT8 bMapZ )
// GridNo = NOWHERE, which causes this assertion to fail
//CHRISL: There's also an issue with vehicles. Soldiers in any vehicle are considered to be in sGridNo = NOWHERE
// This will result in an assertion error, so let's skip the assertion if the merc is assigned to a vehicle
if ( !(MercPtrs[i]->flags.uiStatusFlags & SOLDIER_DEAD) && MercPtrs[i]->bAssignment != VEHICLE )
if (!(MercPtrs[i]->flags.uiStatusFlags & SOLDIER_DEAD) && MercPtrs[i]->bAssignment != VEHICLE && MercPtrs[i]->bAssignment != ASSIGNMENT_POW)
{
//Assert( !MercPtrs[i]->bActive || !MercPtrs[i]->bInSector || MercPtrs[i]->sGridNo != NOWHERE || MercPtrs[i]->bVehicleID == iHelicopterVehicleId );
Assert( !MercPtrs[i]->bActive || !MercPtrs[i]->bInSector || !TileIsOutOfBounds( MercPtrs[i]->sGridNo ) || MercPtrs[i]->bVehicleID == iHelicopterVehicleId );
@@ -3297,23 +3290,9 @@ void UpdateMercsInSector( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ )
}
// ATE: Call actions based on what POW we are on...
if ( gubQuest[QUEST_HELD_IN_ALMA] == QUESTINPROGRESS )
{
// Complete quest
EndQuest( QUEST_HELD_IN_ALMA, sSectorX, sSectorY );
// Do action
HandleNPCDoAction( 0, NPC_ACTION_GRANT_EXPERIENCE_3, 0 );
}
#ifndef JA2UB
else if (gubQuest[QUEST_HELD_IN_TIXA] == QUESTINPROGRESS)
{
// Complete quest
EndQuest(QUEST_HELD_IN_TIXA, sSectorX, sSectorY);
// Do action
HandleNPCDoAction(0, NPC_ACTION_GRANT_EXPERIENCE_3, 0);
}
HandlePOWQuestState(Q_END, QUEST_HELD_IN_ALMA, sSectorX, sSectorY, bSectorZ);
HandlePOWQuestState(Q_END, QUEST_HELD_IN_TIXA, sSectorX, sSectorY, bSectorZ);
#endif
}
}
@@ -4308,6 +4287,68 @@ void JumpIntoAdjacentSector( UINT8 ubTacticalDirection, UINT8 ubJumpCode, INT32
}
}
void JumpIntoEscapedSector(UINT8 ubTacticalDirection)
{
// Remove any incapacitated mercs from current squads and assign them to new squad
UINT32 i = gTacticalStatus.Team[gbPlayerNum].bFirstID;
UINT32 const lastID = gTacticalStatus.Team[gbPlayerNum].bLastID;
INT8 currentSquad = -1;
for (SOLDIERTYPE* pSoldier = MercPtrs[i]; i <= lastID; ++i, ++pSoldier)
{
// Are we not active in sector
if (!pSoldier->bActive || !pSoldier->bInSector || pSoldier->stats.bLife >= OKLIFE)
{
continue;
}
if (currentSquad == -1)
{
currentSquad = AddCharacterToUniqueSquad(pSoldier);
continue;
}
if (!AddCharacterToSquad(pSoldier, currentSquad))
{
currentSquad = AddCharacterToUniqueSquad(pSoldier);
}
}
// Retreat squads that are capable of it
for (size_t i = 0; i < NUMBER_OF_SQUADS; i++)
{
for (size_t j = 0; j < NUMBER_OF_SOLDIERS_PER_SQUAD; j++)
{
SOLDIERTYPE* pSoldier = Squad[i][j];
if (pSoldier && OK_CONTROLLABLE_MERC(pSoldier))
{
GROUP* pGroup = GetGroup(pSoldier->ubGroupID);
switch (ubTacticalDirection)
{
case NORTH:
pGroup->ubPrevX = pGroup->ubSectorX;
pGroup->ubPrevY = pGroup->ubSectorY - 1;
break;
case EAST:
pGroup->ubPrevX = pGroup->ubSectorX + 1;
pGroup->ubPrevY = pGroup->ubSectorY;
break;
case SOUTH:
pGroup->ubPrevX = pGroup->ubSectorX;
pGroup->ubPrevY = pGroup->ubSectorY + 1;
break;
case WEST:
pGroup->ubPrevX = pGroup->ubSectorX - 1;
pGroup->ubPrevY = pGroup->ubSectorY;
break;
default:
break;
}
RetreatGroupToPreviousSector(pGroup);
break;
}
}
}
}
void HandleSoldierLeavingSectorByThemSelf( SOLDIERTYPE *pSoldier )
{
@@ -4368,17 +4409,7 @@ void AllMercsWalkedToExitGrid( )
(gubAdjacentJumpCode == JUMP_ALL_LOAD_NEW || gubAdjacentJumpCode == JUMP_SINGLE_LOAD_NEW) )
{
HandleLoyaltyImplicationsOfMercRetreat( RETREAT_TACTICAL_TRAVERSAL, gWorldSectorX, gWorldSectorY, gbWorldSectorZ );
// End inetrrogation quest if we left the sector, but haven't killed all enemies
if ( gWorldSectorX == 7 && gWorldSectorY == 14 && gbWorldSectorZ == 0 && gubQuest[QUEST_INTERROGATION] == QUESTINPROGRESS )
{
// Finish quest, although not give points here...
InternalEndQuest( QUEST_INTERROGATION, gWorldSectorX, gWorldSectorY, FALSE );
// ... give them manually, but halved
GiveQuestRewardPoint( gWorldSectorX, gWorldSectorY, 4, NO_PROFILE );
// Also get us know, we finished the quest
ResetHistoryFact( QUEST_INTERROGATION, gWorldSectorX, gWorldSectorY );
}
HandlePOWQuestState(Q_END, QUEST_INTERROGATION, gWorldSectorX, gWorldSectorY, gbWorldSectorZ);
}
////////////////////////////////////////////////////////////////////////////////////////
@@ -4546,17 +4577,7 @@ void AllMercsHaveWalkedOffSector( )
(gubAdjacentJumpCode == JUMP_ALL_LOAD_NEW || gubAdjacentJumpCode == JUMP_SINGLE_LOAD_NEW) )
{
HandleLoyaltyImplicationsOfMercRetreat( RETREAT_TACTICAL_TRAVERSAL, gWorldSectorX, gWorldSectorY, gbWorldSectorZ );
// End inetrrogation quest if we left the sector, but haven't killed all enemies
if ( gWorldSectorX == 7 && gWorldSectorY == 14 && gbWorldSectorZ == 0 && gubQuest[QUEST_INTERROGATION] == QUESTINPROGRESS )
{
// Finish quest, although not give points here...
InternalEndQuest( QUEST_INTERROGATION, gWorldSectorX, gWorldSectorY, FALSE );
// ... give them manually, but halved
GiveQuestRewardPoint( gWorldSectorX, gWorldSectorY, 4, NO_PROFILE );
// Also get us know, we finished the quest
ResetHistoryFact( QUEST_INTERROGATION, gWorldSectorX, gWorldSectorY );
}
HandlePOWQuestState(Q_END, QUEST_INTERROGATION, gWorldSectorX, gWorldSectorY, gbWorldSectorZ);
}
////////////////////////////////////////////////////////////////////////////////////////
}
@@ -5229,7 +5250,7 @@ BOOLEAN CanGoToTacticalInSector( INT16 sX, INT16 sY, UINT8 ubZ )
{
// ARM: now allows loading of sector with all mercs below OKLIFE as long as they're alive
if( ( pSoldier->bActive && pSoldier->stats.bLife ) && !( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) &&
( pSoldier->bAssignment != IN_TRANSIT ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) &&
( pSoldier->bAssignment != IN_TRANSIT ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) && ( pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND ) &&
( pSoldier->bAssignment != ASSIGNMENT_DEAD ) && !SoldierAboardAirborneHeli( pSoldier )
)
@@ -6402,7 +6423,7 @@ void HandleSlayDailyEvent( void )
}
// valid soldier?
if ( (pSoldier->bActive == FALSE) || (pSoldier->stats.bLife == 0) || (pSoldier->bAssignment == IN_TRANSIT) || (pSoldier->bAssignment == ASSIGNMENT_POW) || (pSoldier->bAssignment == ASSIGNMENT_MINIEVENT) )
if ( (pSoldier->bActive == FALSE) || (pSoldier->stats.bLife == 0) || (pSoldier->bAssignment == IN_TRANSIT) || (pSoldier->bAssignment == ASSIGNMENT_POW) || (pSoldier->bAssignment == ASSIGNMENT_MINIEVENT) || (pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND) )
{
// no
return;
@@ -6928,6 +6949,47 @@ BOOLEAN EscapeDirectionIsValid( INT8 * pbDirection )
}
return(*pbDirection != -1);
}
bool IsEscapeDirectionValid(WorldDirections pbDirection)
{
bool isValid = false;
UINT8 const ubSectorID = SECTOR(gWorldSectorX, gWorldSectorY);
switch (pbDirection)
{
case NORTH:
if (!(gWorldSectorY - 1 < MINIMUM_VALID_Y_COORDINATE || gMapInformation.sNorthGridNo == NOWHERE ||
SectorInfo[ubSectorID].ubTraversability[NORTH_STRATEGIC_MOVE] == GROUNDBARRIER || SectorInfo[ubSectorID].ubTraversability[NORTH_STRATEGIC_MOVE] == EDGEOFWORLD))
{
isValid = true;
}
break;
case EAST:
if (!(gWorldSectorX + 1 > MAXIMUM_VALID_X_COORDINATE || gMapInformation.sEastGridNo == NOWHERE ||
SectorInfo[ubSectorID].ubTraversability[EAST_STRATEGIC_MOVE] == GROUNDBARRIER || SectorInfo[ubSectorID].ubTraversability[EAST_STRATEGIC_MOVE] == EDGEOFWORLD))
{
isValid = true;
}
break;
case SOUTH:
if (!(gWorldSectorY + 1 > MAXIMUM_VALID_Y_COORDINATE || gMapInformation.sSouthGridNo == NOWHERE ||
SectorInfo[ubSectorID].ubTraversability[SOUTH_STRATEGIC_MOVE] == GROUNDBARRIER || SectorInfo[ubSectorID].ubTraversability[SOUTH_STRATEGIC_MOVE] == EDGEOFWORLD))
{
isValid = true;
}
break;
case WEST:
if (!(gWorldSectorX - 1 < MINIMUM_VALID_X_COORDINATE || gMapInformation.sWestGridNo == NOWHERE ||
SectorInfo[ubSectorID].ubTraversability[WEST_STRATEGIC_MOVE] == GROUNDBARRIER || SectorInfo[ubSectorID].ubTraversability[WEST_STRATEGIC_MOVE] == EDGEOFWORLD))
{
isValid = true;
}
break;
}
return isValid;
}
#ifdef JA2UB
@@ -7975,4 +8037,4 @@ UINT8 tryToRecoverSquadsAndMovementGroups(SOLDIERTYPE* pCharacter) {
}
CheckSquadMovementGroups();
return GetSoldierGroupId(pCharacter);
}
}
+3 -2
View File
@@ -119,7 +119,7 @@ void GetMapFileName(INT16 sMapX,INT16 sMapY, INT8 bSectorZ, STR8 bString, BOOLEA
// Called from within tactical.....
void JumpIntoAdjacentSector( UINT8 ubDirection, UINT8 ubJumpCode, INT32 sAdditionalData );//dnl ch56 151009
void JumpIntoEscapedSector(UINT8 ubTacticalDirection);
BOOLEAN CanGoToTacticalInSector( INT16 sX, INT16 sY, UINT8 ubZ );
@@ -207,6 +207,7 @@ BOOLEAN HandlePotentialBringUpAutoresolveToFinishBattle( int pSectorX, int pSect
BOOLEAN MapExists( UINT8 * szFilename );
BOOLEAN EscapeDirectionIsValid( INT8 * pbDirection );
bool IsEscapeDirectionValid(WorldDirections pbDirection);
//Used for determining the type of error message that comes up when you can't traverse to
//an adjacent sector. THESE VALUES DO NOT NEED TO BE SAVED!
extern BOOLEAN gfInvalidTraversal;
@@ -235,4 +236,4 @@ BOOLEAN CanRequestMilitiaReinforcements( INT16 sMapX, INT16 sMapY, INT16 sSrcMap
// Bob: check and try to fix issues with squad and group assignment
UINT8 tryToRecoverSquadsAndMovementGroups(SOLDIERTYPE* pCharacter);
#endif
#endif