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,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#include "PreBattle Interface.h"
#else
#include "sgp.h"
#include "air raid.h"
#include "game event hook.h"
@@ -31,7 +27,6 @@
#include "Map screen helicopter.h"
#include "structure wrap.h"
#include "meanwhile.h"
#endif
#include "GameInitOptionsScreen.h"
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include <stdio.h>
#include <string.h>
@@ -12,7 +9,6 @@
#include "Animation Data.h"
#include "Animation Control.h"
#include "Debug Control.h"
#endif
#define EMPTY_CACHE_ENTRY 65000
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include <string.h>
@@ -18,7 +15,6 @@
#include "Debug Control.h"
#include "Random.h"
#include "Soldier Control.h"
#endif
#include "connect.h"
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include <string.h>
@@ -17,7 +14,6 @@
#include "utilities.h"
#include "worlddef.h"
#include "Fileman.h"
#endif
//forward declarations of common classes to eliminate includes
class OBJECTTYPE;
+20 -114
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "Types.h"
#include "stdlib.h"
#include "Arms Dealer Init.h"
@@ -19,7 +16,6 @@
#include "GameSettings.h"
#include "Overhead.h" // added by Flugente for MercPtrs[]
#include "LuaInitNPCs.h" // added by Flugente
#endif
#ifdef JA2UB
#include "Explosion Control.h"
@@ -49,58 +45,6 @@ void RemoveNonIntelItems();
UINT8 gubLastSpecialItemAddedAtElement = 255;
// Flugente 2012-12-19: merchant data has been externalised - see XML_Merchants.cpp
#if 0
// THIS STRUCTURE HAS UNCHANGING INFO THAT DOESN'T GET SAVED/RESTORED/RESET
// TODO: externalize
const ARMS_DEALER_INFO DefaultarmsDealerInfo[ NUM_ARMS_DEALERS ] =
{
//Buying Selling Merc ID# Type Initial Flags
//Price Price Of Cash
//Modifier Modifier Dealer
/* Tony */ { 0.75f, 1.25f, TONY, ARMS_DEALER_BUYS_SELLS, 15000, ARMS_DEALER_SOME_USED_ITEMS | ARMS_DEALER_GIVES_CHANGE, 15000, 15000, 0, 1, 10, 1, 10, 2, 3, false, false },
/* Franz Hinkle */ { 1.0f, 1.5f, FRANZ, ARMS_DEALER_BUYS_SELLS, 5000, ARMS_DEALER_SOME_USED_ITEMS | ARMS_DEALER_GIVES_CHANGE, 5000, 5000, 0, 1, 10, 0, 100, 1, 2, false, true },
/* Keith Hemps */ { 0.75f, 1.0f, KEITH, ARMS_DEALER_BUYS_SELLS, 1500, ARMS_DEALER_ONLY_USED_ITEMS | ARMS_DEALER_GIVES_CHANGE, 1500, 1500, 0, 1, 10, 0, 100, 1, 2, false, true },
/* Jake Cameron */ { 0.8f, 1.1f, JAKE, ARMS_DEALER_BUYS_SELLS, 2500, ARMS_DEALER_ONLY_USED_ITEMS | ARMS_DEALER_GIVES_CHANGE, 2500, 2500, 0, 1, 10, 0, 100, 1, 2, false, true },
/* Gabby Mulnick*/ { 1.0f, 1.0f, GABBY, ARMS_DEALER_BUYS_SELLS, 3000, ARMS_DEALER_GIVES_CHANGE , 3000, 3000, 0, 1, 10, 0, 100, 1, 2, false, true },
#ifdef JA2UB
/* Devin Connell*/ //ja25 ub Biggins//{ 0.75f, 1.25f, DEVIN, ARMS_DEALER_SELLS_ONLY, 5000, ARMS_DEALER_GIVES_CHANGE , 5000, 5000, 0, 3, 10, 0, 10, 2, 3, false, false },
#else
/* Devin Connell*/ { 0.75f, 1.25f, DEVIN, ARMS_DEALER_SELLS_ONLY, 5000, ARMS_DEALER_GIVES_CHANGE , 5000, 5000, 0, 3, 10, 0, 10, 2, 3, false, false },
#endif
/* Howard Filmore*/ { 1.0f, 1.0f, HOWARD, ARMS_DEALER_SELLS_ONLY, 3000, ARMS_DEALER_GIVES_CHANGE , 3000, 3000, 0, 1, 10, 0, 100, 1, 2, false, true },
/* Sam Rozen */ { 1.0f, 1.0f, SAM, ARMS_DEALER_SELLS_ONLY, 3000, ARMS_DEALER_GIVES_CHANGE , 3000, 3000, 0, 1, 10, 0, 100, 1, 2, false, true },
/* Frank */ { 1.0f, 1.0f, FRANK, ARMS_DEALER_SELLS_ONLY, 500, ARMS_DEALER_ACCEPTS_GIFTS , 500, 500, 0, 1, 10, 0, 100, 1, 2, false, true },
/* Bar Bro 1 */ { 1.0f, 1.0f, HERVE, ARMS_DEALER_SELLS_ONLY, 250, ARMS_DEALER_ACCEPTS_GIFTS , 250, 250, 0, 1, 10, 0, 100, 1, 2, false, true },
/* Bar Bro 2 */ { 1.0f, 1.0f, PETER, ARMS_DEALER_SELLS_ONLY, 250, ARMS_DEALER_ACCEPTS_GIFTS , 250, 250, 0, 1, 10, 0, 100, 1, 2, false, true },
/* Bar Bro 3 */ { 1.0f, 1.0f, ALBERTO, ARMS_DEALER_SELLS_ONLY, 250, ARMS_DEALER_ACCEPTS_GIFTS , 250, 250, 0, 1, 10, 0, 100, 1, 2, false, true },
/* Bar Bro 4 */ { 1.0f, 1.0f, CARLO, ARMS_DEALER_SELLS_ONLY, 250, ARMS_DEALER_ACCEPTS_GIFTS , 250, 250, 0, 1, 10, 0, 100, 1, 2, false, true },
/* Micky O'Brien*/ { 1.0f, 1.4f, MICKY, ARMS_DEALER_BUYS_ONLY, 10000, ARMS_DEALER_HAS_NO_INVENTORY | ARMS_DEALER_GIVES_CHANGE, 10000, 10000, 0, 1, 10, 1, 10, 1, 2, false, true },
//Repair Repair
//Speed Cost
/* Arnie Brunzwell*/{ 0.1f, 0.8f, ARNIE, ARMS_DEALER_REPAIRS, 1500, ARMS_DEALER_HAS_NO_INVENTORY | ARMS_DEALER_GIVES_CHANGE, 1500, 1500, 0, 1, 10, 1, 10, 1, 2, false, true },
/* Fredo */ { 0.6f, 0.6f, FREDO, ARMS_DEALER_REPAIRS, 1000, ARMS_DEALER_HAS_NO_INVENTORY | ARMS_DEALER_GIVES_CHANGE, 1000, 1000, 0, 1, 10, 1, 10, 1, 2, false, true },
#ifdef JA2UB
/* Raul */ { 0.80f, 1.8f, PERKO, ARMS_DEALER_BUYS_SELLS, 20000, ARMS_DEALER_SOME_USED_ITEMS | ARMS_DEALER_GIVES_CHANGE , 1000, 1000, 0, 1, 10, 1, 10, 1, 2, false, true },
#else
/* Perko */ { 1.0f, 0.4f, PERKO, ARMS_DEALER_REPAIRS, 1000, ARMS_DEALER_HAS_NO_INVENTORY | ARMS_DEALER_GIVES_CHANGE, 1000, 1000, 0, 1, 10, 1, 10, 1, 2, false, true },
#endif
/* Elgin */ { 1.0f, 1.0f, DRUGGIST, ARMS_DEALER_SELLS_ONLY, 500, ARMS_DEALER_ACCEPTS_GIFTS , 500, 500, 0, 1, 10, 1, 10, 1, 2, false, true },
/* Manny */ { 1.0f, 1.0f, MANNY, ARMS_DEALER_SELLS_ONLY, 500, ARMS_DEALER_ACCEPTS_GIFTS , 500, 500, 0, 1, 10, 1, 10, 1, 2, false, true },
#ifdef JA2UB
/* Betty */ { 0.75f, 1.25f, 73, ARMS_DEALER_BUYS_SELLS, 10000, ARMS_DEALER_SOME_USED_ITEMS | ARMS_DEALER_GIVES_CHANGE , 1000, 1000, 0, 1, 10, 1, 10, 1, 2, false, true },
#endif
};
#endif
std::vector<ARMS_DEALER_INFO> armsDealerInfo (NUM_ARMS_DEALERS);
@@ -507,8 +451,8 @@ void DailyCheckOnItemQuantities()
if( armsDealerInfo[ ubArmsDealer ].uiFlags & ARMS_DEALER_HAS_NO_INVENTORY )
continue;
int numTotalItems[MAXITEMS] = { 0 };
bool itemsAreOnOrder[MAXITEMS] = { false };
std::map< UINT16, UINT16> numTotalItems;
std::set<UINT16> itemsAreOnOrder;
for (DealerItemList::iterator iter = gArmsDealersInventory[ ubArmsDealer ].begin(); iter != gArmsDealersInventory[ ubArmsDealer ].end(); ++iter)
{
if (iter->object.exists() == true)
@@ -519,7 +463,7 @@ void DailyCheckOnItemQuantities()
}
else
{
itemsAreOnOrder[iter->object.usItem] = true;
itemsAreOnOrder.insert(iter->object.usItem);
//and today is the day the items come in
if( iter->uiOrderArrivalTime >= GetWorldDay() )
@@ -546,18 +490,23 @@ void DailyCheckOnItemQuantities()
if( CanDealerTransactItem( ubArmsDealer, usItemIndex, FALSE ) )
{
//if there are no items on order
if ( itemsAreOnOrder[ usItemIndex ] == false )
if ( itemsAreOnOrder.count( usItemIndex ) == 0 )
{
ubMaxSupply = GetDealersMaxItemAmount( ubArmsDealer, usItemIndex );
UINT16 halfSupply = (UINT16)(ubMaxSupply / 2);
UINT16 itemsInStock = 0;
if ( numTotalItems.count(usItemIndex) > 0 )
{
itemsInStock = numTotalItems[usItemIndex];
}
//if the qty on hand is half the desired amount or fewer
if( numTotalItems[ usItemIndex ] <= (INT32)( ubMaxSupply / 2 ) )
if( itemsInStock <= halfSupply )
{
//determine if the item can be restocked (assume new, use items aren't checked for until the stuff arrives)
if (ItemTransactionOccurs( ubArmsDealer, usItemIndex, DEALER_BUYING, FALSE ))
{
// figure out how many items to reorder (items are reordered an entire batch at a time)
ubNumItems = HowManyItemsToReorder( ubMaxSupply, numTotalItems[ usItemIndex ] );
ubNumItems = HowManyItemsToReorder( ubMaxSupply, itemsInStock);
#ifdef JA2UB
//if the dealer is betty, and we are to ADD the stuff instantly
if( ubArmsDealer == ARMS_DEALER_BETTY && fInstallyHaveItemsAppear &&
@@ -778,10 +727,7 @@ void LimitArmsDealersInventory( UINT8 ubArmsDealer, UINT32 uiDealerItemType, UIN
if( gArmsDealerStatus[ ubArmsDealer ].fOutOfBusiness )
return;
//ADB, ya, a whole 1 line of extra code!
// not permitted for repair dealers - would take extra code to avoid counting items under repair!
//Assert( !DoesDealerDoRepairs( ubArmsDealer ) );
int numTotalItems[MAXITEMS] = { 0 };
std::map< UINT16, UINT16> numTotalItems;
for (DealerItemList::iterator iter = gArmsDealersInventory[ ubArmsDealer ].begin(); iter != gArmsDealersInventory[ ubArmsDealer ].end(); ++iter) {
if (iter->ItemIsInInventory() == true && iter->IsUnderRepair() == false) {
numTotalItems[iter->object.usItem] += iter->object.ubNumberOfObjects;
@@ -798,7 +744,7 @@ void LimitArmsDealersInventory( UINT8 ubArmsDealer, UINT32 uiDealerItemType, UIN
for ( usItemIndex = 1; usItemIndex < gMAXITEMS_READ; ++usItemIndex )
{
//if there is some items in stock
if( numTotalItems[usItemIndex] > 0)
if (numTotalItems.count(usItemIndex) > 0)
{
//if the item is of the same dealer item type
if( uiDealerItemType & GetArmsDealerItemTypeFromItemNumber( usItemIndex ) )
@@ -862,45 +808,6 @@ void LimitArmsDealersInventory( UINT8 ubArmsDealer, UINT32 uiDealerItemType, UIN
}
}
/*
//loop through all items of the same type
for( usItemIndex = 1; usItemIndex < MAXITEMS; usItemIndex++ )
{
//if there are some non-repairing items in stock
if( gOldArmsDealersInventory[ ubArmsDealer ][ usItemIndex ].ubTotalItems )
{
//if the item is of the same dealer item type
if( uiDealerItemType & GetArmsDealerItemTypeFromItemNumber( usItemIndex ) )
{
// a random chance that the item will be removed
if( Random( 100 ) < 30 )
{
//remove the item
//if the dealer item type is ammo
if( uiDealerItemType == ARMS_DEALER_AMMO )
{
// remove all of them, since each ammo item counts as only one "item" here
// create item info describing a perfect item
SetSpecialItemInfoToDefaults( &SpclItemInfo );
// ammo will always be only condition 100, there's never any in special slots
RemoveItemFromArmsDealerInventory( ubArmsDealer, usItemIndex, gOldArmsDealersInventory[ ubArmsDealer ][ usItemIndex ].ubTotalItems );
}
else
{
// pick 1 random one, don't care about its condition
RemoveRandomItemFromArmsDealerInventory( ubArmsDealer, usItemIndex, 1 );
}
uiItemsToRemove--;
if( uiItemsToRemove == 0)
break;
}
}
}
}
*/
}
}
@@ -914,10 +821,8 @@ void GuaranteeAtLeastOneItemOfType( UINT8 ubArmsDealer, UINT32 uiDealerItemType
if( gArmsDealerStatus[ ubArmsDealer ].fOutOfBusiness )
return;
//ADB, ya, a whole 1 line of extra code!
// not permitted for repair dealers - would take extra code to avoid counting items under repair!
//Assert( !DoesDealerDoRepairs( ubArmsDealer ) );
int numTotalItems[MAXITEMS] = { 0 };
std::map< UINT16, UINT16> numTotalItems;
for (DealerItemList::iterator iter = gArmsDealersInventory[ ubArmsDealer ].begin(); iter != gArmsDealersInventory[ ubArmsDealer ].end(); ++iter)
{
if (iter->ItemIsInInventory() == true && iter->IsUnderRepair() == false)
@@ -926,6 +831,7 @@ void GuaranteeAtLeastOneItemOfType( UINT8 ubArmsDealer, UINT32 uiDealerItemType
}
}
std::vector<UINT16> usAvailableItems;
std::vector<UINT8> ubChanceForAvailableItem;
//loop through all items of the same type
@@ -935,7 +841,7 @@ void GuaranteeAtLeastOneItemOfType( UINT8 ubArmsDealer, UINT32 uiDealerItemType
if( uiDealerItemType & GetArmsDealerItemTypeFromItemNumber( usItemIndex ) )
{
//if there are any of these in stock
if( numTotalItems[usItemIndex] > 0 )
if( numTotalItems.count(usItemIndex) > 0 )
{
//there is already at least 1 item of that type, return
return;
@@ -1219,7 +1125,7 @@ UINT32 GetArmsDealerItemTypeFromItemNumber( UINT16 usItem )
return( 0 );
break;
default:
AssertMsg( FALSE, String( "GetArmsDealerItemTypeFromItemNumber(), invalid class %d for item %d. DF 0.", Item[ usItem ].usItemClass, usItem ) );
AssertMsg( FALSE, String( "GetArmsDealerItemTypeFromItemNumber(), invalid class %d for item %d. gMAXITEMS_READ = %d.", Item[ usItem ].usItemClass, usItem, gMAXITEMS_READ ) );
break;
}
return( 0 );
@@ -2507,4 +2413,4 @@ BOOLEAN CanThisItemBeSoldToSimulatedCustomer( UINT8 ubArmsDealerID, UINT16 usIte
return( TRUE );
}
#endif
#endif
+3 -6
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "Types.h"
#include "ArmsDealerInvInit.h"
//#include "Item Types.h"
@@ -15,7 +12,7 @@
#include "Random.h"
#include "Shopkeeper Interface.h"
#include "connect.h"
#endif
#include "Rebel Command.h"
//forward declarations of common classes to eliminate includes
class OBJECTTYPE;
@@ -1008,8 +1005,8 @@ UINT8 GetCurrentSuitabilityForItem( INT8 bArmsDealer, UINT16 usItemIndex, BOOLEA
// WDS - Improve Tony's and Devin's inventory like BR's
// Tony has the better stuff sooner (than Bobby R's)
if (bArmsDealer >= 0) {
ubMinCoolness += armsDealerInfo[bArmsDealer].addToCoolness;
ubMaxCoolness += armsDealerInfo[bArmsDealer].addToCoolness;
ubMinCoolness += armsDealerInfo[bArmsDealer].addToCoolness + RebelCommand::GetMerchantCoolnessBonus();
ubMaxCoolness += armsDealerInfo[bArmsDealer].addToCoolness + RebelCommand::GetMerchantCoolnessBonus();
ubMinCoolness = max( armsDealerInfo[bArmsDealer].minCoolness, min( 9, ubMinCoolness ) );
// silversurfer: max coolness should never be lower than min coolness!
//ubMaxCoolness = max( 2, min( armsDealerInfo[bArmsDealer].maxCoolness, ubMaxCoolness ) );
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "sgp.h"
#include "overhead.h"
#include "messageboxscreen.h"
@@ -28,7 +25,6 @@
#include "cursors.h"
#include "English.h"
#include "SkillCheck.h" // added by Flugente
#endif
#include "Music Control.h"
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "Soldier Control.h"
#include "Overhead.h"
#include "Boxing.h"
@@ -25,7 +22,6 @@
#include "Font Control.h"
#include "message.h"
#include "GameSettings.h" // added by SANDRO
#endif
INT32 gsBoxerGridNo[ NUM_BOXERS ] = { 11393, 11233, 11073 };
UINT16 gubBoxerID[ NUM_BOXERS ] = { NOBODY, NOBODY, NOBODY };
+157
View File
@@ -0,0 +1,157 @@
set(TacticalSrc
"${CMAKE_CURRENT_SOURCE_DIR}/Air Raid.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Animation Cache.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Animation Control.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Animation Data.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Arms Dealer Init.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/ArmsDealerInvInit.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Auto Bandage.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Boxing.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/bullets.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Campaign.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Civ Quotes.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Dialogue Control.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Disease.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/DisplayCover.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Drugs And Alcohol.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/DynamicDialogue.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/End Game.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Enemy Soldier Save.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/EnemyItemDrops.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Faces.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Food.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/fov.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/GAP.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Handle Doors.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Handle Items.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Handle UI Plan.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Handle UI.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Interface Control.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Interface Cursors.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Interface Dialogue.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Interface Enhanced.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Interface Items.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Interface Panels.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Interface Utils.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Interface.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/InterfaceItemImages.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Inventory Choosing.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Item Types.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Items.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Ja25_Tactical.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Keys.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/LogicalBodyTypes/AbstractXMLLoader.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/LogicalBodyTypes/BodyType.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/LogicalBodyTypes/BodyTypeDB.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/LogicalBodyTypes/EnumeratorDB.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/LogicalBodyTypes/Filter.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/LogicalBodyTypes/FilterDB.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/LogicalBodyTypes/Layers.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/LogicalBodyTypes/PaletteDB.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/LogicalBodyTypes/PaletteTable.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/LogicalBodyTypes/SurfaceCache.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/LogicalBodyTypes/SurfaceDB.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/LogicalBodyTypes/XMLParseException.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/LOS.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Map Information.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Merc Entering.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Merc Hiring.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Militia Control.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Minigame.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Morale.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/opplist.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Overhead.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/PATHAI.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Points.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/QARRAY.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Rain.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/RandomMerc.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Real Time Input.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Rotting Corpses.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/ShopKeeper Interface.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/SkillCheck.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/SkillMenu.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Soldier Add.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Soldier Ani.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Soldier Control.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Soldier Create.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Soldier Find.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Soldier Init List.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Soldier Profile.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Soldier Tile.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/SoldierTooltips.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Spread Burst.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Squads.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Strategic Exit GUI.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Structure Wrap.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Tactical Save.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Tactical Turns.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/TeamTurns.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Turn Based Input.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/UI Cursors.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Vehicles.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/VehicleMenu.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Weapons.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/World Items.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_AmmoStrings.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_AmmoTypes.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Armour.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_AttachmentInfo.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Attachments.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_AttachmentSlots.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Background.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_BurstSounds.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_CivGroupNames.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Clothes.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_ComboMergeInfo.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_CompatibleFaceItems.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Disease.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Drugs.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_EnemyAmmoDrops.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_EnemyArmourDrops.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_EnemyExplosiveDrops.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_EnemyItemChoice.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_EnemyMiscDrops.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_EnemyNames.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_EnemyRank.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_EnemyWeaponChoice.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_EnemyWeaponDrops.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Explosive.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Food.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_FoodOpinions.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_HiddenNames.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_IMPItemChoices.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_IncompatibleAttachments.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_InteractiveTiles.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_ItemAdjustments.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Keys.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Launchable.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_LBEPocket.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_LBEPocketPopup.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_LoadBearingEquipment.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_LoadScreenHints.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Locks.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Magazine.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Merchants.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_MercStartingGear.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Merge.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_MilitiaIndividual.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_NewFaceGear.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Opinions.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Profiles.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Qarray.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_RandomItem.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_RandomStats.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_RPCFacesSmall.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_SectorLoadscreens.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_SoldierProfiles.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Sounds.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_SpreadPatterns.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_StructureConstruct.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_StructureDeconstruct.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Structure_Move.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Taunts.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_AdditionalTileProperties.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_TonyInventory.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Vehicles.cpp"
PARENT_SCOPE)
+10 -4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "builddefines.h"
#include <wchar.h>
#include <stdio.h>
@@ -37,7 +34,6 @@
#include "Strategic AI.h"
#include "interface Dialogue.h"
#include "DynamicDialogue.h"
#endif
#ifdef JA2UB
#include "Explosion Control.h"
@@ -309,6 +305,16 @@ void ProcessStatChange(MERCPROFILESTRUCT *pProfile, UINT8 ubStat, UINT16 usNumCh
usChance += (usChance * (pProfile->bWisdom + (pProfile->sWisdomGain / SubpointsPerPoint(WISDOMAMT, pProfile->bExpLevel)) - 50)) / 100;
}
// rftr: reduced growth rates at 80+ and 90+ (to make mercs with higher base stats more valuable)
if (bCurrentRating >= 90)
{
usChance = min(min(gGameExternalOptions.ubMaxGrowthChanceAt80, gGameExternalOptions.ubMaxGrowthChanceAt90), usChance);
}
else if (bCurrentRating >= 80)
{
usChance = min(gGameExternalOptions.ubMaxGrowthChanceAt80, usChance);
}
/*
// if the stat is Marksmanship, and the guy is a hopeless shot
if ((ubStat == MARKAMT) && (pProfile->bSpecialTrait == HOPELESS_SHOT))
+4 -38
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include "Types.h"
@@ -32,7 +29,6 @@
#include "NPC.h"
#include "Strategic Mines.h"
#include "Random.h"
#endif
#include "connect.h"
// for enemy taunts
@@ -201,42 +197,12 @@ BOOLEAN GetCivQuoteText(UINT16 ubCivQuoteID, UINT16 ubEntryID, STR16 zQuote )
void SurrenderMessageBoxCallBack( UINT8 ubExitValue )
{
SOLDIERTYPE *pTeamSoldier;
INT32 cnt = 0;
if ( ubExitValue == MSG_BOX_RETURN_YES )
{
// CJC Dec 1 2002: fix multiple captures
BeginCaptureSquence();
// Do capture....
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt++,pTeamSoldier++)
{
// Are we active and in sector.....
if ( pTeamSoldier->bActive && pTeamSoldier->bInSector )
{
if ( pTeamSoldier->stats.bLife != 0 )
{
EnemyCapturesPlayerSoldier( pTeamSoldier );
RemoveSoldierFromTacticalSector( pTeamSoldier, TRUE );
}
}
}
EndCaptureSequence( );
gfSurrendered = TRUE;
SetCustomizableTimerCallbackAndDelay( 3000, CaptureTimerCallback, FALSE );
ActionDone( gCivQuoteData.pCiv );
}
else
{
ActionDone( gCivQuoteData.pCiv );
AttemptToCapturePlayerSoldiers();
}
gTacticalStatus.fEnemyFlags |= ENEMY_OFFERED_SURRENDER;
ActionDone( gCivQuoteData.pCiv );
}
void ShutDownQuoteBox( BOOLEAN fForce )
@@ -2388,4 +2354,4 @@ BOOLEAN PlayVoiceTaunt(SOLDIERTYPE *pCiv, TAUNTTYPE iTauntType, SOLDIERTYPE *pTa
}
return TRUE;
}
}
+19 -6
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#include "PreBattle Interface.h"
#else
#include "sgp.h"
//#include "soldier control.h"
#include "Encrypted File.h"
@@ -55,7 +51,6 @@
#include "los.h"
#include "qarray.h"
#include "Soldier Profile.h"
#endif
#include <vector>
#include "Auto Resolve.h"
@@ -1515,6 +1510,9 @@ BOOLEAN DelayedTacticalCharacterDialogue( SOLDIERTYPE *pSoldier, UINT16 usQuoteN
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
return( FALSE );
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
return( FALSE );
return( CharacterDialogue( pSoldier->ubProfile, usQuoteNum, pSoldier->iFaceIndex, DIALOGUE_TACTICAL_UI, TRUE, TRUE ) );
}
@@ -1574,6 +1572,9 @@ BOOLEAN TacticalCharacterDialogueWithSpecialEventEx( SOLDIERTYPE *pSoldier, UINT
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
return( FALSE );
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
return( FALSE );
}
return( CharacterDialogueWithSpecialEventEx( pSoldier->ubProfile, usQuoteNum, pSoldier->iFaceIndex, DIALOGUE_TACTICAL_UI, TRUE, FALSE, uiFlag, uiData1, uiData2, uiData3 ) );
@@ -1625,6 +1626,9 @@ BOOLEAN TacticalCharacterDialogue( SOLDIERTYPE *pSoldier, UINT16 usQuoteNum )
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
return( FALSE );
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
return( FALSE );
// OK, let's check if this is the exact one we just played, if so, skip.
if ( pSoldier->ubProfile == gTacticalStatus.ubLastQuoteProfileNUm &&
usQuoteNum == gTacticalStatus.ubLastQuoteSaid )
@@ -1717,6 +1721,9 @@ BOOLEAN SnitchTacticalCharacterDialogue( SOLDIERTYPE *pSoldier, UINT16 usQuoteNu
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
return( FALSE );
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
return( FALSE );
// OK, let's check if this is the exact one we just played, if so, skip.
//if ( pSoldier->ubProfile == gTacticalStatus.ubLastQuoteProfileNUm &&
// usQuoteNum == gTacticalStatus.ubLastQuoteSaid )
@@ -1774,6 +1781,9 @@ BOOLEAN AdditionalTacticalCharacterDialogue_CallsLua( SOLDIERTYPE *pSoldier, UIN
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
return( FALSE );
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
return( FALSE );
if ( AM_AN_EPC( pSoldier ) && !( gMercProfiles[pSoldier->ubProfile].ubMiscFlags & PROFILE_MISC_FLAG_FORCENPCQUOTE ) )
return( FALSE );
@@ -1802,7 +1812,7 @@ void AdditionalTacticalCharacterDialogue_AllInSector(INT16 aSectorX, INT16 aSect
if ( pSoldier->stats.bLife >= OKLIFE && pSoldier->bActive &&
pSoldier->ubProfile != ausIgnoreProfile &&
pSoldier->sSectorX == aSectorX && pSoldier->sSectorY == aSectorY && pSoldier->bSectorZ == aSectorZ &&
pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != IN_TRANSIT && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT &&
pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != IN_TRANSIT && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT && pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND &&
(aAroundGridno == NOWHERE || PythSpacesAway( pSoldier->sGridNo, aAroundGridno ) <= aRadius ) &&
!pSoldier->flags.fBetweenSectors )
{
@@ -2105,6 +2115,9 @@ BOOLEAN ExecuteCharacterDialogue( UINT8 ubCharacterNum, UINT16 usQuoteNum, INT32
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
return( FALSE );
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
return( FALSE );
// sleeping guys don't talk.. go to standby to talk
if( pSoldier->flags.fMercAsleep == TRUE )
{
+9 -13
View File
@@ -1,11 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "AI All.h"
#include "DisplayCover.h"
#include "Interface.h"
#include "opplist.h"
#include "_Ja25Englishtext.h"
//#include "Ja25 Strategic Ai.h"
#else
#include "builddefines.h"
#include "Types.h"
#include "Isometric Utils.h"
@@ -34,7 +26,7 @@
#include "UI Cursors.h"
#include "soldier profile type.h"
#include "Interface Cursors.h" // added by Flugente for UICursorDefines
#endif
#include "Rebel Command.h"
//forward declarations of common classes to eliminate includes
class OBJECTTYPE;
@@ -759,7 +751,7 @@ void CalculateCoverFromSoldier( SOLDIERTYPE* pFromSoldier, const INT32& sTargetG
{
const UINT8& ubStance = animArr[i];
INT32 usAdjustedSight;
INT32 usAdjustedSight = 0;
if (pToSoldier == NULL) {
usAdjustedSight = usSightLimit;
@@ -767,6 +759,8 @@ void CalculateCoverFromSoldier( SOLDIERTYPE* pFromSoldier, const INT32& sTargetG
usAdjustedSight = usSightLimit + usSightLimit * GetSightAdjustment( pToSoldier, GetStealth(pToSoldier), GetSightAdjustmentBasedOnLBE(pToSoldier), sTargetGridNo, (INT8) fRoof, ubStance ) /100;
}
RebelCommand::ApplyVisionModifier(pFromSoldier, usAdjustedSight);
if ( SoldierToVirtualSoldierLineOfSightTest( pFromSoldier, sTargetGridNo, (INT8) fRoof, ubStance, FALSE, usAdjustedSight ) != 0 )
{
if ( bOverlayType > i ) bOverlayType = i;
@@ -784,7 +778,7 @@ static void CalculateCoverFromEnemySoldier(SOLDIERTYPE* pFromSoldier, const INT3
{
const UINT8& ubStance = animArr[i];
INT32 usAdjustedSight;
INT32 usAdjustedSight = 0;
if (pToSoldier == nullptr) {
usAdjustedSight = usSightLimit;
@@ -793,6 +787,8 @@ static void CalculateCoverFromEnemySoldier(SOLDIERTYPE* pFromSoldier, const INT3
usAdjustedSight = usSightLimit + usSightLimit * GetSightAdjustment(pToSoldier, ToSoldierStealth, ToSoldierLBeSightAdjustment, sTargetGridNo, (INT8)fRoof, ubStance) / 100;
}
RebelCommand::ApplyVisionModifier(pFromSoldier, usAdjustedSight);
if (SoldierToVirtualSoldierLineOfSightTest(pFromSoldier, sTargetGridNo, (INT8)fRoof, ubStance, FALSE, usAdjustedSight) != 0)
{
if (bOverlayType > i) bOverlayType = i;
@@ -1827,8 +1823,8 @@ void CalculateWeapondata()
pObjUsed = pObjPlatform;
}
gunrange = GunRange( pObjUsed, pSoldier ) / 10;
laserrange = GetBestLaserRange( pObjPlatform ) / 10;
gunrange = GunRange( pObjUsed, pSoldier ) / CELL_X_SIZE;
laserrange = GetBestLaserRange( pObjPlatform ) / CELL_X_SIZE;
if ( Item[pObjUsed->usItem].usItemClass & IC_LAUNCHER )
{
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "sgp.h"
#include "soldier control.h"
#include "soldier profile.h"
@@ -17,7 +14,6 @@
#include "Animation data.h" // added by Flugente for SoldierBodyTypes
#include "CampaignStats.h" // added by Flugente
#include "DynamicDialogue.h"// added by Flugente
#endif
//forward declarations of common classes to eliminate includes
class OBJECTTYPE;
+4 -1
View File
@@ -960,6 +960,9 @@ BOOLEAN DynamicOpinionTacticalCharacterDialogue( DynamicOpinionSpeechEvent& aEve
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
return( FALSE );
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
return( FALSE );
CHAR16 gzQuoteStr[500];
// remove old box, in case that still exists
@@ -2019,7 +2022,7 @@ UINT8 GetFittingInterjectorProfile( UINT8 usEvent, UINT8 usProfileVictim, UINT8
for ( pTeamSoldier = MercPtrs[bMercID]; bMercID <= bLastTeamID; ++bMercID, pTeamSoldier++ )
{
// only people that are here
if ( !pTeamSoldier->bActive || pTeamSoldier->bAssignment == IN_TRANSIT || pTeamSoldier->bAssignment == ASSIGNMENT_DEAD || pTeamSoldier->bAssignment == ASSIGNMENT_POW || pTeamSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
if ( !pTeamSoldier->bActive || pTeamSoldier->bAssignment == IN_TRANSIT || pTeamSoldier->bAssignment == ASSIGNMENT_DEAD || pTeamSoldier->bAssignment == ASSIGNMENT_POW || pTeamSoldier->bAssignment == ASSIGNMENT_MINIEVENT || pTeamSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND )
continue;
// if fSameSector is TRUE then the teammate must be in the same sector
-6
View File
@@ -1,8 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#include "PreBattle Interface.h"
#include "Intro.h"
#else
#include "Overhead.h"
#include "Render Fun.h"
@@ -38,7 +33,6 @@
#include "Campaign Types.h"
#include "Tactical Save.h"
#include "screenids.h"
#endif
#ifdef JA2UB
#include "email.h"
-5
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#include "Enemy Soldier Save.h"
#else
#include "builddefines.h"
#include "GameSettings.h"
#include <stdio.h>
@@ -33,7 +29,6 @@
#include "Queen Command.h"
#include "Scheduling.h"
#include "Soldier macros.h" // added by Flugente
#endif
#include "GameVersion.h"
//ADB When a savegame is loaded, the enemy and civ stuff needs to be loaded and updated, but this can only happen
-4
View File
@@ -1,10 +1,6 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "Types.h"
#include "DEbug.h"
#include "EnemyItemDrops.h"
#endif
WEAPON_DROPS gEnemyWeaponDrops[MAX_DROP_ITEMS];
AMMO_DROPS gEnemyAmmoDrops[MAX_DROP_ITEMS];
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "builddefines.h"
#include "math.h"
#include <stdio.h>
@@ -43,7 +40,6 @@
#include "Food.h" // added by Flugente
#include "Queen Command.h" // added by Flugente for FindUnderGroundSector(...)
#include "strategic.h" // added by Flugente
#endif
#ifdef JA2UB
#include "Ja25_Tactical.h"
+1 -5
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include <math.h>
#include "sgp.h"
#include "soldier profile.h"
@@ -26,7 +23,6 @@
#include "Soldier macros.h"
#include "strategicmap.h"
#include "DynamicDialogue.h" // added by Flugente
#endif
//forward declarations of common classes to eliminate includes
class OBJECTTYPE;
@@ -606,7 +602,7 @@ void HourlyFoodAutoDigestion( SOLDIERTYPE *pSoldier )
AddFoodpoints(pSoldier->bFoodLevel, powfoodadd);
}
// while on a minievent, assume that we can feed ourselves.. somehow
else if (pSoldier->bAssignment == ASSIGNMENT_MINIEVENT)
else if (pSoldier->bAssignment == ASSIGNMENT_MINIEVENT || pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
{
const INT16 water = gGameExternalOptions.usFoodDigestionHourlyBaseDrink * gGameExternalOptions.sFoodDigestionAssignment;
const INT16 foodadd = water * gGameExternalOptions.usFoodDigestionHourlyBaseFood / max(1, gGameExternalOptions.usFoodDigestionHourlyBaseDrink);
-33
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "builddefines.h"
#include "debug.h"
#include "types.h"
@@ -10,39 +7,9 @@
#include "soundman.h"
#include <stdio.h>
#include "FileMan.h"
#endif
SUBSEQUENTSOUNDS subsequentsounds;
#if 0
static void AILCALLBACK timer_func( UINT32 user )
{
AudioGapList *pGapList;
pGapList = (AudioGapList*)user;
pGapList->gap_monitor_timer += GAP_TIMER_INTERVAL;
if ( pGapList->audio_gap_active )
{
if ( (pGapList->gap_monitor_timer / 1000) > pGapList->end[ pGapList->gap_monitor_current] )
{
pGapList->audio_gap_active = 0;
pGapList->gap_monitor_current++;
}
}
else
{
if ( pGapList->gap_monitor_current < pGapList->count )
{
if ( ( pGapList->gap_monitor_timer / 1000) >= pGapList->start[ pGapList->gap_monitor_current ])
{
pGapList->audio_gap_active = 1;
}
}
}
}
#endif
void AudioGapListInit( CHAR8 *zSoundFile, AudioGapList *pGapList )
-5
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#include "language defines.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include <time.h>
@@ -35,7 +31,6 @@
#include "Soldier macros.h"
#include "Event Pump.h"
#include "GameSettings.h"
#endif
#include "fresh_header.h"
#include "connect.h"
-4
View File
@@ -1,7 +1,4 @@
#include "connect.h"
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "items.h"
#include "Action Items.h"
#include "handle Items.h"
@@ -81,7 +78,6 @@
#include "MessageBoxScreen.h" // added by Flugente
#include "Map Screen Interface.h" // added by Flugente
#include "Map Screen Interface Map.h" // added by Flugente
#endif
#ifdef JA2UB
#include "Ja25_Tactical.h"
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "Handle UI Plan.h"
#include "overhead.h"
#include "Isometric Utils.h"
@@ -13,7 +10,6 @@
#include "message.h"
#include "soldier create.h"
#include "interface.h"
#endif
UINT8 gubNumUIPlannedMoves = 0;
SOLDIERTYPE *gpUIPlannedSoldier = NULL;
+63 -74
View File
@@ -1,9 +1,4 @@
#include "connect.h"
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#include "BuildDefines.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include <string.h>
@@ -86,7 +81,6 @@
#include "Soldier Control.h"
#include "DisplayCover.h"
#include "english.h" // sevenfm: this is needed for _keydown(SHIFT) to work
#endif
#include "teamturns.h"
#include "Options Screen.h"
@@ -94,6 +88,11 @@
#include "Map Screen Interface.h" // added by Flugente for SquadNames
#include "Keys.h" // added by silversurfer for door handling from the side
#include "AIInternals.h"
extern BOOLEAN gubWorldTileInLight[MAX_ALLOWED_WORLD_MAX];
extern BOOLEAN gubIsCorpseThere[MAX_ALLOWED_WORLD_MAX];
extern INT32 gubMerkCanSeeThisTile[MAX_ALLOWED_WORLD_MAX];
//////////////////////////////////////////////////////////////////////////////
// SANDRO - In this file, all APBPConstants[AP_CROUCH] and APBPConstants[AP_PRONE] were changed to GetAPsCrouch() and GetAPsProne()
// On the bottom here, there are these functions made
@@ -1371,74 +1370,74 @@ UINT32 UIHandleEndTurn( UI_EVENT *pUIEvent )
SaveGame(SAVE__END_TURN_NUM, zString );
}
// Flugente: this stuff is only ever used in AStar pathing and is a unnecessary waste of resources otherwise, so I'm putting an end to this
#ifdef USE_ASTAR_PATHS
////ddd enemy turn optimization
if ( (gTacticalStatus.uiFlags & TURNBASED) && (gTacticalStatus.uiFlags & INCOMBAT ) )
if (gGameSettings.fOptions[TOPTION_ALT_PATHFINDING])
{
memset( gubWorldTileInLight, FALSE, sizeof( gubWorldTileInLight ) );
memset( gubIsCorpseThere, FALSE, sizeof( gubIsCorpseThere ) );
memset( gubMerkCanSeeThisTile, FALSE, sizeof( gubMerkCanSeeThisTile ) );
if ( (gTacticalStatus.uiFlags & TURNBASED) && (gTacticalStatus.uiFlags & INCOMBAT ) )
{
memset( gubWorldTileInLight, FALSE, sizeof( gubWorldTileInLight ) );
memset( gubIsCorpseThere, FALSE, sizeof( gubIsCorpseThere ) );
memset( gubMerkCanSeeThisTile, FALSE, sizeof( gubMerkCanSeeThisTile ) );
//sevenfm translated: unwinding of loop. When changing WORLD_MAX to another value will need some cleaning! dangerous code! ;)
//sevenfm translated: unwinding of loop. When changing WORLD_MAX to another value will need some cleaning! dangerous code! ;)
// WANNE: We had a custom user map (Tixa, J9), where the following loop caused an unhandled exception.
// The crash occurd at ~index 16000 when calling the method IsCorpseAtGridNo() ...
// I don't know what causes it ...
// Just try/catch (ugly, but works).
__try
{
for(UINT32 i=0; i<(UINT32)WORLD_MAX; i+=4)
{
gubWorldTileInLight[i] = InLightAtNight(i, gpWorldLevelData[ i ].sHeight);
gubIsCorpseThere[i] = IsCorpseAtGridNo( i, gpWorldLevelData[ i ].sHeight );
gubWorldTileInLight[i+1] = InLightAtNight(i+1, gpWorldLevelData[ i+1 ].sHeight);
gubIsCorpseThere[i+1] = IsCorpseAtGridNo( i+1, gpWorldLevelData[ i+1 ].sHeight );
gubWorldTileInLight[i+2] = InLightAtNight(i+2, gpWorldLevelData[ i+2 ].sHeight);
gubIsCorpseThere[i+2] = IsCorpseAtGridNo( i+2, gpWorldLevelData[ i+2 ].sHeight );
gubWorldTileInLight[i+3] = InLightAtNight(i+3, gpWorldLevelData[ i+3 ].sHeight);
gubIsCorpseThere[i+3] = IsCorpseAtGridNo( i+3, gpWorldLevelData[ i+3 ].sHeight );
}
}
__except( EXCEPTION_EXECUTE_HANDLER )
{
// WANNE: Ignore, so the game can continue ...
}
INT32 tcnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
SOLDIERTYPE *tS;
INT16 sXOffset, sYOffset;
INT32 sGridNo;
UINT16 usSightLimit=0;
for ( tS = MercPtrs[ tcnt ]; tcnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++tcnt, tS++ )
{
if ( tS->stats.bLife >= OKLIFE && tS->sGridNo != NOWHERE && tS->bInSector )
// WANNE: We had a custom user map (Tixa, J9), where the following loop caused an unhandled exception.
// The crash occurd at ~index 16000 when calling the method IsCorpseAtGridNo() ...
// I don't know what causes it ...
// Just try/catch (ugly, but works).
__try
{
for(UINT32 i=0; i<(UINT32)WORLD_MAX; i+=4)
{
gubWorldTileInLight[i] = InLightAtNight(i, gpWorldLevelData[ i ].sHeight);
gubIsCorpseThere[i] = IsCorpseAtGridNo( i, gpWorldLevelData[ i ].sHeight );
gubWorldTileInLight[i+1] = InLightAtNight(i+1, gpWorldLevelData[ i+1 ].sHeight);
gubIsCorpseThere[i+1] = IsCorpseAtGridNo( i+1, gpWorldLevelData[ i+1 ].sHeight );
gubWorldTileInLight[i+2] = InLightAtNight(i+2, gpWorldLevelData[ i+2 ].sHeight);
gubIsCorpseThere[i+2] = IsCorpseAtGridNo( i+2, gpWorldLevelData[ i+2 ].sHeight );
gubWorldTileInLight[i+3] = InLightAtNight(i+3, gpWorldLevelData[ i+3 ].sHeight);
gubIsCorpseThere[i+3] = IsCorpseAtGridNo( i+3, gpWorldLevelData[ i+3 ].sHeight );
}
}
__except( EXCEPTION_EXECUTE_HANDLER )
{
//loop through all the gridnos that we are interested in
for (sYOffset = -30; sYOffset <= 30; ++sYOffset)
// WANNE: Ignore, so the game can continue ...
}
INT32 tcnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
SOLDIERTYPE *tS;
INT16 sXOffset, sYOffset;
INT32 sGridNo;
UINT16 usSightLimit=0;
for ( tS = MercPtrs[ tcnt ]; tcnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++tcnt, tS++ )
{
if ( tS->stats.bLife >= OKLIFE && tS->sGridNo != NOWHERE && tS->bInSector )
{
for (sXOffset = -30; sXOffset <= 30; ++sXOffset)
//loop through all the gridnos that we are interested in
for (sYOffset = -30; sYOffset <= 30; ++sYOffset)
{
sGridNo = tS->sGridNo + sXOffset + (MAXCOL * sYOffset);
if ( sGridNo <= 0 || sGridNo >= WORLD_MAX )
continue;
//usSightLimit = tS->GetMaxDistanceVisible(sGridNo, FALSE, CALC_FROM_WANTED_DIR);
if(gubMerkCanSeeThisTile[sGridNo]==0)
for (sXOffset = -30; sXOffset <= 30; ++sXOffset)
{
gubMerkCanSeeThisTile[sGridNo]=//SoldierToVirtualSoldierLineOfSightTest( tS, sGridNo, FALSE, ANIM_STAND, TRUE, usSightLimit );
SoldierToVirtualSoldierLineOfSightTest( tS, sGridNo, tS->pathing.bLevel, ANIM_STAND, TRUE, CALC_FROM_WANTED_DIR);
}
}//fo
}
}//if
sGridNo = tS->sGridNo + sXOffset + (MAXCOL * sYOffset);
if ( sGridNo <= 0 || sGridNo >= WORLD_MAX )
continue;
//usSightLimit = tS->GetMaxDistanceVisible(sGridNo, FALSE, CALC_FROM_WANTED_DIR);
if(gubMerkCanSeeThisTile[sGridNo]==0)
{
gubMerkCanSeeThisTile[sGridNo]=//SoldierToVirtualSoldierLineOfSightTest( tS, sGridNo, FALSE, ANIM_STAND, TRUE, usSightLimit );
SoldierToVirtualSoldierLineOfSightTest( tS, sGridNo, tS->pathing.bLevel, ANIM_STAND, TRUE, CALC_FROM_WANTED_DIR);
}
}//fo
}
}//if
}
}
}
//ddd enemy turn optimization**
#endif
// End our turn!
if (is_server || !is_client)
@@ -3926,14 +3925,6 @@ void UIHandleSoldierStanceChange( UINT16 ubSoldierID, INT8 bNewStance )
pSoldier->usUIMovementMode = pSoldier->GetMoveStateBasedOnStance( bNewStance );
pSoldier->ubDesiredHeight = NO_DESIRED_HEIGHT;
#if 0
if ( pSoldier->usUIMovementMode == CRAWLING && gAnimControl[ pSoldier->usAnimState ].ubEndHeight != ANIM_PRONE )
{
pSoldier->usDontUpdateNewGridNoOnMoveAnimChange = LOCKED_NO_NEWGRIDNO;
pSoldier->pathing.bPathStored = FALSE;
}
else
#endif
{
pSoldier->usDontUpdateNewGridNoOnMoveAnimChange = 1;
}
@@ -7440,9 +7431,7 @@ BOOLEAN IsValidJumpLocation( SOLDIERTYPE *pSoldier, INT32 sGridNo, BOOLEAN fChec
}
// This ain't gonna happen with backpack
if((UsingNewInventorySystem() == true) && pSoldier->inv[BPACKPOCKPOS].exists() == true
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
if (!pSoldier->CanClimbWithCurrentBackpack())
{
return( FALSE );
}
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include <stdio.h>
#include <time.h>
#include <math.h>
@@ -48,7 +45,6 @@
#include "civ quotes.h"
#include "GameSettings.h"
#include "Explosion Control.h" // added by Flugente
#endif
#include "connect.h"
#include "Text.h"
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include <stdio.h>
#include <time.h>
#include "sgp.h"
@@ -19,7 +16,6 @@
#include "overhead.h"
#include "interface items.h"
#include "GameSettings.h"
#endif
#define DISPLAY_AP_INDEX MOCKFLOOR1
+1 -5
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#include "PreBattle Interface.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include "sgp.h"
@@ -75,7 +71,6 @@
#include "Cheats.h"
#include "Overhead.h"
#include "Soldier Control.h"
#endif
#include "LuaInitNPCs.h"
#include "Text.h"
@@ -3595,6 +3590,7 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
case NPC_ACTION_SEND_SOLDIERS_TO_BALIME:
case NPC_ACTION_GLOBAL_OFFENSIVE_1:
case NPC_ACTION_GLOBAL_OFFENSIVE_2:
case NPC_ACTION_DEPLOY_TRANSPORT_GROUP:
break;
case NPC_ACTION_TRIGGER_QUEEN_BY_SAM_SITES_CONTROLLED:
+57 -41
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#include "language defines.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include <time.h>
@@ -57,7 +53,6 @@
#include "los.h"
#include "Map Screen Interface Map.h"
#include "Food.h" // added by Flugente
#endif
#include "Multi Language Graphic Utils.h"
@@ -1368,8 +1363,8 @@ BOOLEAN InternalInitEnhancedDescBox()
// HEADROCK HAM 4: Advanced Icons
VObjectDesc.fCreateFlags = VOBJECT_CREATE_FROMFILE;
GetMLGFilename( VObjectDesc.ImageFile, MLG_ITEMINFOADVANCEDICONS ); // WANNE: Now the icons are for multi-language
//strcpy( VObjectDesc.ImageFile, "INTERFACE\\ItemInfoAdvancedIcons.STI" );
//GetMLGFilename( VObjectDesc.ImageFile, MLG_ITEMINFOADVANCEDICONS ); // WANNE: Now the icons are for multi-language
strcpy( VObjectDesc.ImageFile, "INTERFACE\\ItemInfoAdvancedIcons.STI" );
CHECKF( AddVideoObject( &VObjectDesc, &guiItemInfoAdvancedIcon ) );
// Flugente: added icons for WH40K
@@ -1626,8 +1621,8 @@ void InternalInitEDBTooltipRegion( OBJECTTYPE * gpItemDescObject, UINT32 guiCurr
/////////////////// PROJECTION FACTOR / NCTH BEST LASER RANGE
// with the reworked NCTH code and the laser performance factor we will display BestLaserRange instead of ProjectionFactor but we still need the mouse region
if (UsingNewCTHSystem() && ( GetProjectionFactor( gpItemDescObject ) > 1.0 || GetBestLaserRange( gpItemDescObject ) > 0
&& (gGameCTHConstants.LASER_PERFORMANCE_BONUS_HIP + gGameCTHConstants.LASER_PERFORMANCE_BONUS_IRON + gGameCTHConstants.LASER_PERFORMANCE_BONUS_SCOPE != 0) ) )
if (UsingNewCTHSystem() && ( GetProjectionFactor( gpItemDescObject ) > 1.0 || (GetBestLaserRange(gpItemDescObject) / CELL_X_SIZE > 0
&& (gGameCTHConstants.LASER_PERFORMANCE_BONUS_HIP + gGameCTHConstants.LASER_PERFORMANCE_BONUS_IRON + gGameCTHConstants.LASER_PERFORMANCE_BONUS_SCOPE != 0)) ) )
{
ubRegionOffset = 6;
MSYS_EnableRegion( &gUDBFasthelpRegions[ iFirstDataRegion + ubRegionOffset ] );
@@ -1642,7 +1637,7 @@ void InternalInitEDBTooltipRegion( OBJECTTYPE * gpItemDescObject, UINT32 guiCurr
}
/////////////////// OCTH BEST LASER RANGE
if (!UsingNewCTHSystem() && (Item[gpItemDescObject->usItem].bestlaserrange > 0 || GetAverageBestLaserRange( gpItemDescObject ) > 0 ) )
if ( UsingNewCTHSystem() == false && (GetAverageBestLaserRange(gpItemDescObject) / CELL_X_SIZE) > 0 )
{
ubRegionOffset = 7;
MSYS_EnableRegion( &gUDBFasthelpRegions[ iFirstDataRegion + ubRegionOffset ] );
@@ -2645,7 +2640,14 @@ void InternalInitEDBTooltipRegion( OBJECTTYPE * gpItemDescObject, UINT32 guiCurr
//////////////////// EXTERNAL FEEDING
if ( gGameExternalOptions.ubExternalFeeding )
{
if ( HasItemFlag(gpItemDescObject->usItem, AMMO_BELT) )
if (HasItemFlag(gpItemDescObject->usItem, BELT_FED))
{
swprintf(pStr, L"%s%s", szUDBGenSecondaryStatsTooltipText[51], szUDBGenSecondaryStatsExplanationsTooltipText[51]);
SetRegionFastHelpText(&(gUDBFasthelpRegions[iFirstDataRegion + cnt]), pStr);
MSYS_EnableRegion(&gUDBFasthelpRegions[iFirstDataRegion + cnt]);
cnt++;
}
else if ( HasItemFlag(gpItemDescObject->usItem, AMMO_BELT) )
{
swprintf( pStr, L"%s%s", szUDBGenSecondaryStatsTooltipText[ 28 ], szUDBGenSecondaryStatsExplanationsTooltipText[ 28 ]);
SetRegionFastHelpText( &(gUDBFasthelpRegions[ iFirstDataRegion + cnt ]), pStr );
@@ -2733,7 +2735,7 @@ void InternalInitEDBTooltipRegion( OBJECTTYPE * gpItemDescObject, UINT32 guiCurr
MSYS_EnableRegion( &gUDBFasthelpRegions[iFirstDataRegion + cnt] );
cnt++;
}
else if ( HasItemFlag( gpItemDescObject->usItem, DISEASEPROTECTION_2 ) )
if ( HasItemFlag( gpItemDescObject->usItem, DISEASEPROTECTION_2 ) )
{
swprintf( pStr, L"%s%s", szUDBGenSecondaryStatsTooltipText[39], szUDBGenSecondaryStatsExplanationsTooltipText[39] );
SetRegionFastHelpText( &(gUDBFasthelpRegions[iFirstDataRegion + cnt]), pStr );
@@ -2879,10 +2881,10 @@ void InternalInitEDBTooltipRegion( OBJECTTYPE * gpItemDescObject, UINT32 guiCurr
///////////////////// ACCURACY MODIFIER
if (GetAccuracyModifier( gpItemDescObject ) != 0 )
{
if (cnt >= sFirstLine && cnt < sLastLine)
{
if( UsingNewCTHSystem() == true )
if (UsingNewCTHSystem() == true)
{
if (cnt >= sFirstLine && cnt < sLastLine)
{
if (Item[ gpItemDescObject->usItem ].usItemClass & (IC_WEAPON|IC_PUNCH))
{
swprintf( pStr, L"%s%s", szUDBAdvStatsTooltipText[ 0 ], szUDBAdvStatsExplanationsTooltipTextForWeapons[ 0 ]);
@@ -3260,9 +3262,9 @@ void InternalInitEDBTooltipRegion( OBJECTTYPE * gpItemDescObject, UINT32 guiCurr
///////////////////// PROJECTION FACTOR / BEST LASER RANGE
// with the reworked NCTH code and the laser performance factor we will display BestLaserRange instead of ProjectionFactor
if ( ( UsingNewCTHSystem() && GetBestLaserRange( gpItemDescObject ) > 0
if ( ( UsingNewCTHSystem() && (GetBestLaserRange(gpItemDescObject) / CELL_X_SIZE) > 0
&& (gGameCTHConstants.LASER_PERFORMANCE_BONUS_HIP + gGameCTHConstants.LASER_PERFORMANCE_BONUS_IRON + gGameCTHConstants.LASER_PERFORMANCE_BONUS_SCOPE != 0) )
|| ( !UsingNewCTHSystem() && GetBestLaserRange( gpItemDescObject ) > 0 ) )
|| ( !UsingNewCTHSystem() && (GetBestLaserRange(gpItemDescObject) / CELL_X_SIZE) > 0 ) )
{
if (cnt >= sFirstLine && cnt < sLastLine)
{
@@ -4439,10 +4441,12 @@ void DrawWeaponStats( OBJECTTYPE * gpItemDescObject )
//////////////////// PROJECTION FACTOR / NCTH BEST LASER RANGE
// with the reworked NCTH code and the laser performance factor we will display BestLaserRange instead of ProjectionFactor but we use the same icon
if ( (UsingNewCTHSystem() && ( GetProjectionFactor( gpItemDescObject ) > 1.0 || ( GetBestLaserRange( gpItemDescObject ) > 0
INT16 itemLaserRangeTiles = GetBestLaserRange(gpItemDescObject) / CELL_X_SIZE;
INT16 comparedLaserRangeTiles = fComparisonMode ? GetBestLaserRange(gpComparedItemDescObject) / CELL_X_SIZE : 0;
if ( (UsingNewCTHSystem() && ( GetProjectionFactor( gpItemDescObject ) > 1.0 || ( itemLaserRangeTiles > 0
&& (gGameCTHConstants.LASER_PERFORMANCE_BONUS_HIP + gGameCTHConstants.LASER_PERFORMANCE_BONUS_IRON + gGameCTHConstants.LASER_PERFORMANCE_BONUS_SCOPE != 0) ) ) ) ||
( fComparisonMode && UsingNewCTHSystem() && ( (GetProjectionFactor( gpItemDescObject ) > 1.0 || GetProjectionFactor( gpComparedItemDescObject ) > 1.0) ||
( GetBestLaserRange( gpComparedItemDescObject ) > 0
( comparedLaserRangeTiles > 0
&& (gGameCTHConstants.LASER_PERFORMANCE_BONUS_HIP + gGameCTHConstants.LASER_PERFORMANCE_BONUS_IRON + gGameCTHConstants.LASER_PERFORMANCE_BONUS_SCOPE != 0) ) ) ) )
{
ubNumLine = 6;
@@ -4460,8 +4464,8 @@ void DrawWeaponStats( OBJECTTYPE * gpItemDescObject )
}
//////////////////// OCTH BEST LASER RANGE
if ( !UsingNewCTHSystem() && ( GetBestLaserRange( gpItemDescObject ) ||
( fComparisonMode && GetBestLaserRange( gpComparedItemDescObject ) ) ) )
if ( UsingNewCTHSystem() == false &&
(itemLaserRangeTiles != 0 || (fComparisonMode && comparedLaserRangeTiles != 0)) )
{
ubNumLine = 7;
BltVideoObjectFromIndex( guiSAVEBUFFER, guiItemInfoWeaponIcon, 14, gItemDescGenRegions[ubNumLine][0].sLeft+sOffsetX, gItemDescGenRegions[ubNumLine][0].sTop+sOffsetY, VO_BLT_SRCTRANSPARENCY, NULL );
@@ -5352,11 +5356,13 @@ void DrawAdvancedStats( OBJECTTYPE * gpItemDescObject )
///////////////////// PROJECTION FACTOR / BEST LASER RANGE
// with the reworked NCTH code and the laser performance factor we will display BestLaserRange instead of ProjectionFactor but we use the same icon
if ( ( UsingNewCTHSystem() && ( GetProjectionFactor( gpItemDescObject ) > 1.0 || ( GetBestLaserRange( gpItemDescObject ) > 0
INT16 itemLaserRangeTiles = GetBestLaserRange(gpItemDescObject) / CELL_X_SIZE;
INT16 comparedLaserRangeTiles = fComparisonMode ? GetBestLaserRange(gpComparedItemDescObject) / CELL_X_SIZE : 0;
if ( ( UsingNewCTHSystem() && ( GetProjectionFactor( gpItemDescObject ) > 1.0 || ( itemLaserRangeTiles > 0
&& (gGameCTHConstants.LASER_PERFORMANCE_BONUS_HIP + gGameCTHConstants.LASER_PERFORMANCE_BONUS_IRON + gGameCTHConstants.LASER_PERFORMANCE_BONUS_SCOPE != 0) ) ) ||
( fComparisonMode && ( GetProjectionFactor( gpComparedItemDescObject ) > 1.0 || ( GetBestLaserRange( gpComparedItemDescObject ) > 0
( fComparisonMode && ( GetProjectionFactor( gpComparedItemDescObject ) > 1.0 || ( comparedLaserRangeTiles > 0
&& (gGameCTHConstants.LASER_PERFORMANCE_BONUS_HIP + gGameCTHConstants.LASER_PERFORMANCE_BONUS_IRON + gGameCTHConstants.LASER_PERFORMANCE_BONUS_SCOPE != 0) ) ) ) ) ||
( !UsingNewCTHSystem() && ( GetBestLaserRange( gpItemDescObject ) > 0 || ( fComparisonMode && GetBestLaserRange( gpComparedItemDescObject ) > 0 ) ) ) )
( !UsingNewCTHSystem() && ( itemLaserRangeTiles > 0 || ( fComparisonMode && comparedLaserRangeTiles > 0 ) ) ) )
{
if (cnt >= sFirstLine && cnt < sLastLine)
{
@@ -6345,7 +6351,13 @@ void DrawSecondaryStats( OBJECTTYPE * gpItemDescObject )
//////////////////// EXTERNAL FEEDING
if ( gGameExternalOptions.ubExternalFeeding )
{
if ( ( HasItemFlag(gpItemDescObject->usItem, AMMO_BELT) && !fComparisonMode ) ||
if ((HasItemFlag(gpItemDescObject->usItem, BELT_FED) && !fComparisonMode) ||
(fComparisonMode && HasItemFlag(gpComparedItemDescObject->usItem, BELT_FED)))
{
BltVideoObjectFromIndex(guiSAVEBUFFER, guiItemInfoSecondaryIcon, 28, gItemDescGenSecondaryRegions[cnt].sLeft + sOffsetX, gItemDescGenSecondaryRegions[cnt].sTop + sOffsetY, VO_BLT_SRCTRANSPARENCY, NULL);
cnt++;
}
else if ( ( HasItemFlag(gpItemDescObject->usItem, AMMO_BELT) && !fComparisonMode ) ||
( fComparisonMode && HasItemFlag(gpComparedItemDescObject->usItem, AMMO_BELT) ) )
{
BltVideoObjectFromIndex( guiSAVEBUFFER, guiItemInfoSecondaryIcon, 28, gItemDescGenSecondaryRegions[cnt].sLeft+sOffsetX, gItemDescGenSecondaryRegions[cnt].sTop+sOffsetY, VO_BLT_SRCTRANSPARENCY, NULL );
@@ -6425,7 +6437,7 @@ void DrawSecondaryStats( OBJECTTYPE * gpItemDescObject )
BltVideoObjectFromIndex( guiSAVEBUFFER, guiItemInfoSecondaryIcon, 37, gItemDescGenSecondaryRegions[cnt].sLeft + sOffsetX, gItemDescGenSecondaryRegions[cnt].sTop + sOffsetY, VO_BLT_SRCTRANSPARENCY, NULL );
++cnt;
}
else if ( (HasItemFlag( gpItemDescObject->usItem, DISEASEPROTECTION_2 ) && !fComparisonMode) ||
if ( (HasItemFlag( gpItemDescObject->usItem, DISEASEPROTECTION_2 ) && !fComparisonMode) ||
(fComparisonMode && HasItemFlag( gpComparedItemDescObject->usItem, DISEASEPROTECTION_2 )) )
{
BltVideoObjectFromIndex( guiSAVEBUFFER, guiItemInfoSecondaryIcon, 37, gItemDescGenSecondaryRegions[cnt].sLeft + sOffsetX, gItemDescGenSecondaryRegions[cnt].sTop + sOffsetY, VO_BLT_SRCTRANSPARENCY, NULL );
@@ -7537,9 +7549,11 @@ void DrawWeaponValues( OBJECTTYPE * gpItemDescObject )
///////////////// (LASER) PROJECTION FACTOR
// with the reworked NCTH code and the laser performance factor we will display BestLaserRange instead of ProjectionFactor
INT16 itemLaserRangeTiles = GetBestLaserRange(gpItemDescObject) / CELL_X_SIZE;
INT16 comparedLaserRangeTiles = fComparisonMode ? GetBestLaserRange(gpComparedItemDescObject) / CELL_X_SIZE : 0;
if (UsingNewCTHSystem() == true &&
( (Item[gpItemDescObject->usItem].projectionfactor > 1.0 || GetProjectionFactor( gpItemDescObject ) > 1.0) ||
( GetBestLaserRange( gpItemDescObject ) > 0
( itemLaserRangeTiles > 0
&& (gGameCTHConstants.LASER_PERFORMANCE_BONUS_HIP + gGameCTHConstants.LASER_PERFORMANCE_BONUS_IRON + gGameCTHConstants.LASER_PERFORMANCE_BONUS_SCOPE != 0) ) ) )
{
// Set line to draw into
@@ -7550,13 +7564,13 @@ void DrawWeaponValues( OBJECTTYPE * gpItemDescObject )
FLOAT iFinalProjectionValue = 0;
BOOLEAN bNewCode = FALSE;
if ( GetBestLaserRange( gpItemDescObject ) > 0
&& (gGameCTHConstants.LASER_PERFORMANCE_BONUS_HIP + gGameCTHConstants.LASER_PERFORMANCE_BONUS_IRON + gGameCTHConstants.LASER_PERFORMANCE_BONUS_SCOPE != 0) )
if ( itemLaserRangeTiles > 0 &&
(gGameCTHConstants.LASER_PERFORMANCE_BONUS_HIP + gGameCTHConstants.LASER_PERFORMANCE_BONUS_IRON + gGameCTHConstants.LASER_PERFORMANCE_BONUS_SCOPE != 0) )
{
// Get base laser range
iProjectionValue = __max(0, Item[ gpItemDescObject->usItem ].bestlaserrange * gItemSettings.fBestLaserRangeModifier / CELL_X_SIZE);
// Get best laser range
iProjectionModifier = ((FLOAT)GetBestLaserRange( gpItemDescObject ) / CELL_X_SIZE);
iProjectionModifier = (FLOAT)itemLaserRangeTiles;
// Get final laser range
iFinalProjectionValue = __max( iProjectionValue, iProjectionModifier );
bNewCode = TRUE;
@@ -7614,7 +7628,7 @@ void DrawWeaponValues( OBJECTTYPE * gpItemDescObject )
// Get base laser range
iComparedProjectionValue = __max(0, Item[ gpComparedItemDescObject->usItem ].bestlaserrange * gItemSettings.fBestLaserRangeModifier / CELL_X_SIZE);
// Get best laser range
iComparedProjectionModifier = ((FLOAT)GetBestLaserRange( gpComparedItemDescObject ) / CELL_X_SIZE);
iComparedProjectionModifier = (FLOAT)comparedLaserRangeTiles;
// Get final laser range
iComparedFinalProjectionValue = __max( iComparedProjectionValue, iComparedProjectionModifier );
}
@@ -7637,7 +7651,7 @@ void DrawWeaponValues( OBJECTTYPE * gpItemDescObject )
}
else if( fComparisonMode && UsingNewCTHSystem() == true &&
( (Item[gpComparedItemDescObject->usItem].projectionfactor > 1.0 || GetProjectionFactor( gpComparedItemDescObject ) > 1.0) ||
( GetBestLaserRange( gpItemDescObject ) > 0
( itemLaserRangeTiles > 0
&& (gGameCTHConstants.LASER_PERFORMANCE_BONUS_HIP + gGameCTHConstants.LASER_PERFORMANCE_BONUS_IRON + gGameCTHConstants.LASER_PERFORMANCE_BONUS_SCOPE != 0) ) ) )
{
ubNumLine = 6;
@@ -7647,13 +7661,13 @@ void DrawWeaponValues( OBJECTTYPE * gpItemDescObject )
FLOAT iFinalProjectionValue = 0;
BOOLEAN bNewCode = FALSE;
if ( GetBestLaserRange( gpComparedItemDescObject ) > 0
if ( comparedLaserRangeTiles > 0
&& (gGameCTHConstants.LASER_PERFORMANCE_BONUS_HIP + gGameCTHConstants.LASER_PERFORMANCE_BONUS_IRON + gGameCTHConstants.LASER_PERFORMANCE_BONUS_SCOPE != 0) )
{
// Get base laser range
iProjectionValue = __max(0, Item[ gpComparedItemDescObject->usItem ].bestlaserrange * gItemSettings.fBestLaserRangeModifier / CELL_X_SIZE);
// Get best laser range
iProjectionModifier = ((FLOAT)GetBestLaserRange( gpComparedItemDescObject ) / CELL_X_SIZE);
iProjectionModifier = (FLOAT)comparedLaserRangeTiles;
// Get final laser range
iFinalProjectionValue = __max( iProjectionValue, iProjectionModifier );
bNewCode = TRUE;
@@ -7757,7 +7771,7 @@ void DrawWeaponValues( OBJECTTYPE * gpItemDescObject )
}
///////////////// OCTH BEST LASER RANGE
if ( !UsingNewCTHSystem() && GetBestLaserRange( gpItemDescObject ) > 0 )
if ( !UsingNewCTHSystem() && itemLaserRangeTiles > 0 )
{
// Set line to draw into
ubNumLine = 7;
@@ -7794,7 +7808,7 @@ void DrawWeaponValues( OBJECTTYPE * gpItemDescObject )
DrawPropertyValueInColour( iComparedFinalBestLaserRangeValue - iFinalBestLaserRangeValue, ubNumLine, 3, fComparisonMode, FALSE, TRUE );
}
}
else if( !UsingNewCTHSystem() && ( fComparisonMode && GetBestLaserRange( gpComparedItemDescObject ) > 0 ) )
else if( !UsingNewCTHSystem() && ( fComparisonMode && comparedLaserRangeTiles > 0 ) )
{
// Set line to draw into
ubNumLine = 7;
@@ -11371,14 +11385,16 @@ void DrawAdvancedValues( OBJECTTYPE *gpItemDescObject )
cnt++;
}
BOOLEAN bNewCode = FALSE;
///////////////////// PROJECTION FACTOR / BEST LASER RANGE
// with the reworked NCTH code and the laser performance factor we will display BestLaserRange instead of ProjectionFactor
if ( ( UsingNewCTHSystem() && ( GetBestLaserRange( gpItemDescObject ) > 0 || ( fComparisonMode && GetBestLaserRange( gpComparedItemDescObject ) > 0
BOOLEAN bNewCode = FALSE;
INT16 itemLaserRangeTiles = GetBestLaserRange(gpItemDescObject) / CELL_X_SIZE;
INT16 comparedLaserRangeTiles = fComparisonMode ? GetBestLaserRange(gpComparedItemDescObject) / CELL_X_SIZE : 0;
if ( ( UsingNewCTHSystem() && (itemLaserRangeTiles > 0 || ( fComparisonMode && comparedLaserRangeTiles > 0
&& (gGameCTHConstants.LASER_PERFORMANCE_BONUS_HIP + gGameCTHConstants.LASER_PERFORMANCE_BONUS_IRON + gGameCTHConstants.LASER_PERFORMANCE_BONUS_SCOPE != 0) ) ) )
|| ( !UsingNewCTHSystem() && ( GetBestLaserRange( gpItemDescObject ) > 0 || ( fComparisonMode && GetBestLaserRange( gpComparedItemDescObject ) > 0 ) ) ) )
|| ( !UsingNewCTHSystem() && (itemLaserRangeTiles > 0 || ( fComparisonMode && comparedLaserRangeTiles > 0 ) ) ) )
{
iFloatModifier[0] = ((FLOAT)GetBestLaserRange( gpItemDescObject ) / CELL_X_SIZE);
iFloatModifier[0] = (FLOAT)itemLaserRangeTiles;
bNewCode = TRUE;
}
else
@@ -11389,7 +11405,7 @@ void DrawAdvancedValues( OBJECTTYPE *gpItemDescObject )
if( fComparisonMode )
{
if ( bNewCode )
iComparedFloatModifier[0] = ((FLOAT)GetBestLaserRange( gpComparedItemDescObject ) / CELL_X_SIZE);
iComparedFloatModifier[0] = (FLOAT)comparedLaserRangeTiles;
else
iComparedFloatModifier[0] = GetProjectionFactor( gpComparedItemDescObject );
iComparedFloatModifier[1] = iComparedFloatModifier[0];
+28 -66
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#include "language defines.h"
#else
#include "builddefines.h"
#include "mapscreen.h"
#include <stdio.h>
@@ -85,7 +81,6 @@
// sevenfm:
#include "Soldier Control.h"
#include "Sound Control.h"
#endif
#include "Multi Language Graphic Utils.h"
@@ -1498,8 +1493,8 @@ BOOLEAN InitInvSlotInterface( INV_REGION_DESC *pRegionDesc , INV_REGION_DESC *pC
if ( gGameExternalOptions.fScopeModes )
{
VObjectDesc.fCreateFlags = VOBJECT_CREATE_FROMFILE;
GetMLGFilename( VObjectDesc.ImageFile, MLG_ITEMINFOADVANCEDICONS ); // WANNE: Now the icons are for multi-language
//strcpy( VObjectDesc.ImageFile, "INTERFACE\\ItemInfoAdvancedIcons.STI" );
//GetMLGFilename( VObjectDesc.ImageFile, MLG_ITEMINFOADVANCEDICONS ); // WANNE: Now the icons are for multi-language
strcpy( VObjectDesc.ImageFile, "INTERFACE\\ItemInfoAdvancedIcons.STI" );
CHECKF( AddVideoObject( &VObjectDesc, &guiItemInfoAdvancedIcon) );
}
@@ -2766,19 +2761,6 @@ void INVRenderINVPanelItem( SOLDIERTYPE *pSoldier, INT16 sPocket, UINT8 fDirtyLe
}
}
#if 0
if ( gbInvalidPlacementSlot[ sPocket ] )
{
if ( sPocket != SECONDHANDPOS )
{
// If we are in inv panel and our guy is not = cursor guy...
if ( !gfSMDisableForItems )
{
fHatchItOut = TRUE;
}
}
}
#endif
if (AM_A_ROBOT(pSoldier) && sPocket == HANDPOS)
fHatchItOut = FALSE;
@@ -3813,7 +3795,6 @@ void INVRenderItem( UINT32 uiBuffer, SOLDIERTYPE * pSoldier, OBJECTTYPE *pObjec
{
SetFontBackground( FONT_MCOLOR_BLACK );
SetFontForeground( FONT_MCOLOR_DKGRAY );
#if 1
//CHRISL: Moved this condition to the start so that stacked guns will show number in stack
if ( ubStatusIndex != RENDER_ITEM_NOSTATUS )
{
@@ -3838,7 +3819,6 @@ void INVRenderItem( UINT32 uiBuffer, SOLDIERTYPE * pSoldier, OBJECTTYPE *pObjec
gprintfinvalidate( sNewX, sNewY, pStr );
}
}
#endif
if ( pItem->usItemClass == IC_GUN && !Item[pObject->usItem].rocketlauncher )
{
@@ -3946,35 +3926,6 @@ void INVRenderItem( UINT32 uiBuffer, SOLDIERTYPE * pSoldier, OBJECTTYPE *pObjec
}
}
}
#if 0
else
{
if ( ubStatusIndex != RENDER_ITEM_NOSTATUS )
{
// Now display # of items
if ( pObject->ubNumberOfObjects > 1 )
{
SetFontForeground( FONT_GRAY4 );
sNewY = sY + sHeight - 10;
swprintf( pStr, L"%d", pObject->ubNumberOfObjects );
// Get length of string
uiStringLength=StringPixLength(pStr, ITEM_FONT );
sNewX = sX + sWidth - uiStringLength - 4;
if ( uiBuffer == guiSAVEBUFFER )
{
RestoreExternBackgroundRect( sNewX, sNewY, 15, 15 );
}
mprintf( sNewX, sNewY, pStr );
gprintfinvalidate( sNewX, sNewY, pStr );
}
}
}
#endif
if ( ItemHasAttachments( pObject, pSoldier, iter ) )
{
if ( !IsGrenadeLauncherAttached( pObject, iter ) )
@@ -4093,8 +4044,8 @@ void INVRenderItem( UINT32 uiBuffer, SOLDIERTYPE * pSoldier, OBJECTTYPE *pObjec
// HEADROCK HAM 4: Advanced Icons
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags = VOBJECT_CREATE_FROMFILE;
//strcpy( VObjectDesc.ImageFile, "INTERFACE\\ItemInfoAdvancedIcons.STI" );
GetMLGFilename( VObjectDesc.ImageFile, MLG_ITEMINFOADVANCEDICONS ); // WANNE: Now the icons are for multi-language
strcpy( VObjectDesc.ImageFile, "INTERFACE\\ItemInfoAdvancedIcons.STI" );
//GetMLGFilename( VObjectDesc.ImageFile, MLG_ITEMINFOADVANCEDICONS ); // WANNE: Now the icons are for multi-language
AddVideoObject( &VObjectDesc, &guiItemInfoAdvancedIcon);
}
@@ -12697,28 +12648,39 @@ void GetHelpTextForItem( STR16 pzStr, OBJECTTYPE *pObject, SOLDIERTYPE *pSoldier
// Add attachment string....
CHAR16 attachString[ 300 ];
CHAR16 tempString[ 120 ];
memset(attachString,0,sizeof(attachString));
for (attachmentList::iterator iter = (*pObject)[subObject]->attachments.begin(); iter != (*pObject)[subObject]->attachments.end(); ++iter) {
if(iter->exists()){
//Break off if it's too long.
if(wcslen(attachString)>270){
wcscat( attachString, L"\n...." );
break;
}
for (attachmentList::iterator iter = (*pObject)[subObject]->attachments.begin(); iter != (*pObject)[subObject]->attachments.end(); ++iter)
{
if(iter->exists())
{
memset(tempString, 0, sizeof(tempString));
iNumAttachments++;
if ( iNumAttachments == 1 )
if (iNumAttachments == 1)
{
swprintf( attachString, L"\n \n%s:\n", Message[ STR_ATTACHMENTS ] );
swprintf(tempString, L"\n \n%s:\n", Message[STR_ATTACHMENTS]);
}
else
{
wcscat( attachString, L"\n" );
swprintf(tempString, L"\n");
}
wcscat(tempString, ItemNames[iter->usItem]);
wcscat( attachString, ItemNames[ iter->usItem ] );
auto attachStringLength = wcslen(attachString);
auto tempStringLength = wcslen(tempString);
auto totalLength = attachStringLength + tempStringLength;
// Break off if the string to be added does not fit.
// attachStringLength[300] - L"\n...." -> 294
if (totalLength > 294)
{
wcscat(attachString, L"\n....");
break;
}
else
{
wcscat(attachString, tempString);
}
}
}
+16 -22
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include <time.h>
@@ -73,7 +70,6 @@
// HEADROCK HAM 3.6: This is required for Stat Progress Bars
#include "Campaign.h"
#include "Food.h" // added by Flugente
#endif
//legion by Jazz
#include "Interface Utils.h"
@@ -4636,10 +4632,7 @@ void BtnClimbCallback(GUI_BUTTON *btn,INT32 reason)
if ( fNearLowerLevel )
{
if ((UsingNewInventorySystem() == true) && gpSMCurrentMerc->inv[BPACKPOCKPOS].exists() == true
//JMich.BackpackClimb
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)gpSMCurrentMerc->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[gpSMCurrentMerc->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[gpSMCurrentMerc->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
if (!gpSMCurrentMerc->CanClimbWithCurrentBackpack())
{
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB]);
return;
@@ -4650,10 +4643,7 @@ void BtnClimbCallback(GUI_BUTTON *btn,INT32 reason)
if ( fNearHeigherLevel )
{
if ((UsingNewInventorySystem() == true) && gpSMCurrentMerc->inv[BPACKPOCKPOS].exists() == true
//JMich.BackpackClimb
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)gpSMCurrentMerc->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[gpSMCurrentMerc->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[gpSMCurrentMerc->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
if (!gpSMCurrentMerc->CanClimbWithCurrentBackpack())
{
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB]);
return;
@@ -4666,10 +4656,7 @@ void BtnClimbCallback(GUI_BUTTON *btn,INT32 reason)
if (gGameExternalOptions.fCanClimbOnWalls == TRUE)
{
if ((UsingNewInventorySystem() == true) && gpSMCurrentMerc->inv[BPACKPOCKPOS].exists() == true
//JMich.BackpackClimb
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)gpSMCurrentMerc->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[gpSMCurrentMerc->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[gpSMCurrentMerc->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
if (!gpSMCurrentMerc->CanClimbWithCurrentBackpack())
{
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB]);
return;
@@ -4685,10 +4672,7 @@ void BtnClimbCallback(GUI_BUTTON *btn,INT32 reason)
if ( FindFenceJumpDirection( gpSMCurrentMerc, gpSMCurrentMerc->sGridNo, gpSMCurrentMerc->ubDirection, &bDirection ) )
{
if ((UsingNewInventorySystem() == true) && gpSMCurrentMerc->inv[BPACKPOCKPOS].exists() == true
//JMich.BackpackClimb
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)gpSMCurrentMerc->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[gpSMCurrentMerc->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[gpSMCurrentMerc->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
if (!gpSMCurrentMerc->CanClimbWithCurrentBackpack())
{
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB]);
return;
@@ -5215,7 +5199,7 @@ BOOLEAN InitializeTEAMPanel( )
if (iResolution >= _640x480 && iResolution < _800x600)
FilenameForBPP("INTERFACE\\bottom_bar.sti", VObjectDesc.ImageFile);
else if (iResolution < _1024x768)
else if (iResolution < _1280x720)
{
if (gGameOptions.ubSquadSize > 6)
{
@@ -5256,6 +5240,16 @@ BOOLEAN InitializeTEAMPanel( )
memset( gfTEAM_HandInvDispText, 0, sizeof( gfTEAM_HandInvDispText ) );
// Offset button coordinates to correct positions if squadsize is 10
if (iResolution == _1280x720)
{
UINT16 offset = 223;
TM_ENDTURN_X = xResOffset + (xResSize - 131) + offset;
TM_ROSTERMODE_X = xResOffset + (xResSize - 131) + offset;
TM_DISK_X = xResOffset + (xResSize - 131) + offset;
INTERFACE_CLOCK_TM_X = xResOffset + (xResSize - 86) + offset;
LOCATION_NAME_TM_X = xResOffset + (xResSize - 92) + offset;
}
// Create buttons
CHECKF( CreateTEAMPanelButtons( ) );
@@ -5374,7 +5368,7 @@ BOOLEAN ShutdownTEAMPanel( )
if( fRenderRadarScreen == FALSE )
{
// start rendering radar region again,
fRenderRadarScreen = TRUE;
fRenderRadarScreen = TRUE;
// remove squad panel
CreateDestroyMouseRegionsForSquadList( );
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include "sgp.h"
@@ -20,7 +17,6 @@
#include "Vehicles.h"
#include "GameSettings.h"
#include "Utilities.h" // added by Flugente
#endif
#define LIFE_BAR_SHADOW FROMRGB( 108, 12, 12 )
#define LIFE_BAR FROMRGB( 200, 0, 0 )
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include <stdarg.h>
@@ -65,7 +62,6 @@
#include "SkillCheck.h" // added by Flugente
#include "Drugs And Alcohol.h" // sevenfm
#include "english.h" // sevenfm
#endif
#include "InterfaceItemImages.h"
#ifdef JA2UB
+1
View File
@@ -5,6 +5,7 @@
#include "mousesystem.h"
#include "structure.h"
#include "Assignments.h" // added by Flugente for the stat-enums
#include <EditorMercs.h>
#define MAX_UICOMPOSITES 4
+73 -37
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include <memory.h>
#include "Inventory Choosing.h"
#include "animation data.h"
@@ -20,7 +17,7 @@
#include "message.h"
#include "Tactical Save.h" // added by Flugente
#include "Soldier macros.h" // added by Flugente
#endif
#include "Rebel Command.h"
extern WorldItems gAllWorldItems;
/*
@@ -276,6 +273,10 @@ void GenerateRandomEquipment( SOLDIERCREATE_STRUCT *pp, INT8 bSoldierClass, INT8
// SANDRO - new behaviour of progress setting
bEquipmentModifier = bEquipmentRating + ( ( CalcDifficultyModifier( bSoldierClass ) / 10 ) - 5 );
if (bSoldierClass >= SOLDIER_CLASS_ADMINISTRATOR && bSoldierClass <= SOLDIER_CLASS_ARMY)
bEquipmentModifier += RebelCommand::GetEnemyEquipmentCoolnessModifier();
switch( gGameOptions.ubProgressSpeedOfItemsChoices )
{
case ITEM_PROGRESS_VERY_SLOW:
@@ -943,6 +944,8 @@ void ChooseWeaponForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bWeaponC
// don't allow it to be lower than marksmanship, we don't want it to affect their chances of hitting
bStatus = (INT8)max( pp->bMarksmanship, bStatus );
// ... unless we've done something to ruin their gear
bStatus = RebelCommand::GetEnemyEquipmentStatusModifier(bStatus);
CreateItem( usGunIndex, bStatus, &(pp->Inv[ HANDPOS ]) );
pp->Inv[ HANDPOS ].fFlags |= OBJECT_UNDROPPABLE;
@@ -1457,6 +1460,7 @@ void ChooseArmourForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bHelmetC
//INVTYPE *pItem;
//UINT16 usRandom;
UINT16 usItem = 0, usHelmetItem = 0, usVestItem = 0, usLeggingsItem = 0;
INT8 bStatus = 0;
//UINT16 usNumMatches;
//INT8 bOrigVestClass = bVestClass;
@@ -1466,24 +1470,43 @@ void ChooseArmourForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bHelmetC
// So we are going to try to pick something other than nothing but not guarantee it.
if (gGameExternalOptions.fSoldiersWearAnyArmour)
{
if (bHelmetClass < MIN_EQUIPMENT_CLASS) bHelmetClass = MIN_EQUIPMENT_CLASS;
if (bVestClass < MIN_EQUIPMENT_CLASS) bVestClass = MIN_EQUIPMENT_CLASS;
if (bLeggingsClass < MIN_EQUIPMENT_CLASS) bLeggingsClass = MIN_EQUIPMENT_CLASS;
// Make the first attempt for each item type
usHelmetItem = PickARandomItem(HELMET, pp->ubSoldierClass, bHelmetClass, TRUE);
usVestItem = PickARandomItem(VEST, pp->ubSoldierClass, bVestClass, TRUE);
usLeggingsItem = PickARandomItem(LEGS, pp->ubSoldierClass, bLeggingsClass, TRUE);
// PickARandomItem(getMatchingCoolness = TRUE) must have a strong reason to return 0 disregarding wantedCoolness
// we pass, e.g. itemChoices is empty or filled with improper items. So let's make another attempt to ensure we did
// all what we can. Unlikely it will help, though.
if (usHelmetItem == 0)
usHelmetItem = PickARandomItem(HELMET, pp->ubSoldierClass, bHelmetClass, TRUE);
if (usVestItem == 0)
usVestItem = PickARandomItem(VEST, pp->ubSoldierClass, bVestClass, TRUE);
if (usLeggingsItem == 0)
usLeggingsItem = PickARandomItem(LEGS, pp->ubSoldierClass, bLeggingsClass, TRUE);
INT8 i = 0;
if (bHelmetClass < 1) bHelmetClass = 1;
//search for a non-empty class with items we need
for (i = bHelmetClass;i <= 10;i++)
{
usHelmetItem = PickARandomItem(HELMET, pp->ubSoldierClass, i);
//if we find a non-empty class change to that and break
if (usHelmetItem > 0)
{
bHelmetClass = i;
break;
}
}
if (bVestClass < 1) bVestClass = 1;
//search for a non-empty class with items we need
for (i = bVestClass;i <= 10;i++)
{
usVestItem = PickARandomItem(VEST, pp->ubSoldierClass, i);
//if we find a non-empty class change to that and break
if (usVestItem > 0)
{
bVestClass = i;
break;
}
}
if (bLeggingsClass < 1) bLeggingsClass = 1;
//search for a non-empty class with items we need
for (i = bLeggingsClass;i <= 10;i++)
{
usLeggingsItem = PickARandomItem(LEGS, pp->ubSoldierClass, i);
//if we find a non-empty class change to that and break
if (usLeggingsItem > 0)
{
bLeggingsClass = i;
break;
}
}
}
//Madd: added minimum protection of 10 for armours to be used by enemies
@@ -1494,7 +1517,8 @@ void ChooseArmourForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bHelmetC
if(!gGameExternalOptions.fSoldiersWearAnyArmour) usHelmetItem = PickARandomItem(HELMET, pp->ubSoldierClass, bHelmetClass );
if ( usHelmetItem > 0 && Item[usHelmetItem].usItemClass == IC_ARMOUR && !(pp->Inv[ HELMETPOS ].fFlags & OBJECT_NO_OVERWRITE) && Armour[ Item[usHelmetItem].ubClassIndex ].ubArmourClass == ARMOURCLASS_HELMET )
{
CreateItem( usHelmetItem, (INT8)(70+Random(31)), &(pp->Inv[ HELMETPOS ]) );
bStatus = RebelCommand::GetEnemyEquipmentStatusModifier(70 + Random(31));
CreateItem( usHelmetItem, bStatus, &(pp->Inv[ HELMETPOS ]) );
pp->Inv[ HELMETPOS ].fFlags |= OBJECT_UNDROPPABLE;
// roll to see if he gets an attachment, too. Higher chance the higher his entitled helmet class is
@@ -1503,7 +1527,8 @@ void ChooseArmourForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bHelmetC
UINT16 usAttachment = PickARandomAttachment(ARMOURATTACHMENT, pp->ubSoldierClass, usHelmetItem, bHelmetClass, FALSE);
if ( usAttachment > 0 )
{
CreateItem( usAttachment, (INT8)(70+Random(31)), &gTempObject );
bStatus = RebelCommand::GetEnemyEquipmentStatusModifier(70 + Random(31));
CreateItem( usAttachment, bStatus, &gTempObject );
gTempObject.fFlags |= OBJECT_UNDROPPABLE;
pp->Inv[ HELMETPOS ].AttachObject( NULL, &gTempObject, FALSE );
}
@@ -1567,7 +1592,8 @@ void ChooseArmourForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bHelmetC
if(!gGameExternalOptions.fSoldiersWearAnyArmour) usVestItem = PickARandomItem(VEST, pp->ubSoldierClass, bVestClass );
if ( usVestItem > 0 && Item[usVestItem].usItemClass == IC_ARMOUR && !(pp->Inv[ VESTPOS ].fFlags & OBJECT_NO_OVERWRITE) && Armour[ Item[usVestItem].ubClassIndex ].ubArmourClass == ARMOURCLASS_VEST )
{
CreateItem( usVestItem, (INT8)(70+Random(31)), &(pp->Inv[ VESTPOS ]) );
bStatus = RebelCommand::GetEnemyEquipmentStatusModifier(70 + Random(31));
CreateItem( usVestItem, bStatus, &(pp->Inv[ VESTPOS ]) );
pp->Inv[ VESTPOS ].fFlags |= OBJECT_UNDROPPABLE;
// roll to see if he gets a CERAMIC PLATES, too. Higher chance the higher his entitled vest class is
@@ -1576,7 +1602,8 @@ void ChooseArmourForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bHelmetC
UINT16 usAttachment = PickARandomAttachment(ARMOURATTACHMENT, pp->ubSoldierClass, usVestItem, bVestClass, FALSE);
if ( usAttachment > 0 )
{
CreateItem( usAttachment, (INT8)(70+Random(31)), &gTempObject );
bStatus = RebelCommand::GetEnemyEquipmentStatusModifier(70 + Random(31));
CreateItem( usAttachment, bStatus, &gTempObject );
gTempObject.fFlags |= OBJECT_UNDROPPABLE;
pp->Inv[ VESTPOS ].AttachObject( NULL, &gTempObject, FALSE );
}
@@ -1661,7 +1688,8 @@ void ChooseArmourForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bHelmetC
if(!gGameExternalOptions.fSoldiersWearAnyArmour) usLeggingsItem = PickARandomItem(LEGS, pp->ubSoldierClass, bLeggingsClass );
if ( usLeggingsItem > 0 && Item[usLeggingsItem].usItemClass == IC_ARMOUR && !(pp->Inv[ LEGPOS ].fFlags & OBJECT_NO_OVERWRITE) && Armour[ Item[usLeggingsItem].ubClassIndex ].ubArmourClass == ARMOURCLASS_LEGGINGS )
{
CreateItem( usLeggingsItem, (INT8)(70+Random(31)), &(pp->Inv[ LEGPOS ]) );
bStatus = RebelCommand::GetEnemyEquipmentStatusModifier(70 + Random(31));
CreateItem( usLeggingsItem, bStatus, &(pp->Inv[ LEGPOS ]) );
pp->Inv[ LEGPOS ].fFlags |= OBJECT_UNDROPPABLE;
// roll to see if he gets an attachment, too. Higher chance the higher his entitled Leggings class is
@@ -1670,7 +1698,8 @@ void ChooseArmourForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bHelmetC
UINT16 usAttachment = PickARandomAttachment(ARMOURATTACHMENT, pp->ubSoldierClass, usLeggingsItem, bLeggingsClass, FALSE);
if ( usAttachment > 0 )
{
CreateItem( usAttachment, (INT8)(70+Random(31)), &gTempObject );
bStatus = RebelCommand::GetEnemyEquipmentStatusModifier(70 + Random(31));
CreateItem( usAttachment, bStatus, &gTempObject );
gTempObject.fFlags |= OBJECT_UNDROPPABLE;
pp->Inv[ LEGPOS ].AttachObject( NULL, &gTempObject, FALSE);
}
@@ -2231,7 +2260,15 @@ void ChooseLBEsForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bLBEClass
{
CreateItem( usItem, (INT8)(80 + Random( 21 )), &gTempObject );
gTempObject.fFlags |= OBJECT_UNDROPPABLE;
PlaceObjectInSoldierCreateStruct( pp, &gTempObject );
// put backpacks into the backpack slot for LOBOT
if ((UsingNewInventorySystem()) && (Item[usItem].usItemClass & IC_LBEGEAR) && (LoadBearingEquipment[Item[usItem].ubClassIndex].lbeClass == BACKPACK))
{
pp->Inv[BPACKPOCKPOS] = gTempObject;
}
else
{
PlaceObjectInSoldierCreateStruct( pp, &gTempObject );
}
}
}
@@ -3325,10 +3362,7 @@ UINT16 PickARandomItem(UINT8 typeIndex, INT8 bSoldierClass, UINT8 wantedCoolness
if ( i > gArmyItemChoices[bSoldierClass][ typeIndex ].ubChoices )
break;
if (getMatchingCoolness == TRUE)
uiChoice = Random(gArmyItemChoices[bSoldierClass][typeIndex].ubChoices);
else // otherwise there is a chance to pick nothing!
uiChoice = Random(gArmyItemChoices[bSoldierClass][typeIndex].ubChoices + (int)(gArmyItemChoices[bSoldierClass][typeIndex].ubChoices / 3));
uiChoice = Random(gArmyItemChoices[bSoldierClass][typeIndex].ubChoices + (int)(gArmyItemChoices[bSoldierClass][typeIndex].ubChoices / 3));
if ( uiChoice >= gArmyItemChoices[bSoldierClass][ typeIndex ].ubChoices )
{
@@ -3350,7 +3384,7 @@ UINT16 PickARandomItem(UINT8 typeIndex, INT8 bSoldierClass, UINT8 wantedCoolness
pickItem = FALSE;
if (usItem > 0 && Item[usItem].randomitem == 0 && ItemIsLegal(usItem))
if (usItem >= 0 && Item[usItem].ubCoolness <= wantedCoolness && ItemIsLegal(usItem))
{
// On day
if (DayTime() == TRUE)
@@ -3372,6 +3406,9 @@ UINT16 PickARandomItem(UINT8 typeIndex, INT8 bSoldierClass, UINT8 wantedCoolness
pickItem = TRUE;
}
}
if (Item[usItem].randomitem > 0)
pickItem = FALSE;
}
@@ -3381,8 +3418,7 @@ UINT16 PickARandomItem(UINT8 typeIndex, INT8 bSoldierClass, UINT8 wantedCoolness
if (pickItem == TRUE)
{
// pick a default item in case we don't find anything with a matching coolness, but pick the most matching (by coolness) item
if ( defaultItem == 0 ||
abs((int)wantedCoolness - (int)Item[usItem].ubCoolness) < abs((int)wantedCoolness - (int)Item[defaultItem].ubCoolness))
if (defaultItem == 0 || Item[usItem].ubCoolness > Item[defaultItem].ubCoolness)
{
defaultItem = usItem;
}
@@ -4085,7 +4121,7 @@ void TakeMilitiaEquipmentfromSector( INT16 sMapX, INT16 sMapY, INT8 sMapZ, SOLDI
if ( uiTotalNumberOfRealItems == 0 )
{
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Militia found no items to equip, uses harsh langugage instead!" );
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Militia found no items to equip, uses harsh language instead!" );
return;
}
-6
View File
@@ -594,13 +594,7 @@ LBENODE* OBJECTTYPE::GetLBEPointer(unsigned int index)
bool OBJECTTYPE::exists()
{
#if 0//dnl ch75 011113
if(this == NULL)
return(FALSE);
return (ubNumberOfObjects > 0 && usItem != NOTHING);
#else
return(this && ubNumberOfObjects && usItem);
#endif
}
void OBJECTTYPE::SpliceData(OBJECTTYPE& sourceObject, unsigned int numToSplice, StackedObjects::iterator beginIter)
+4
View File
@@ -1220,6 +1220,10 @@ typedef struct
BOOLEAN fProvidesRobotLaserBonus;
//shadooow: bitflag controlling what system needs to be in play for item to appear
UINT8 usLimitedToSystem;
// rftr: the progress bounds that allow a transport group to drop an item
INT8 iTransportGroupMinProgress;
INT8 iTransportGroupMaxProgress;
} INVTYPE;
+27 -110
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "items.h"
#include "Action Items.h"
#include "weapons.h"
@@ -61,7 +58,6 @@
#include "DisplayCover.h" // added by Flugente
#include "Map Information.h"
#include "ai.h" // added by Flugente
#endif
#ifdef JA2UB
#include "Ja25_Tactical.h"
@@ -3035,49 +3031,6 @@ UINT16 CalculateItemSize( OBJECTTYPE *pObject )
currentSize = __max(iSize + testSize, currentSize);
currentSize = __min(currentSize, maxSize);
}
#if 0
//old method
UINT16 newSize, testSize, maxSize;
UINT8 cnt=0;
newSize = 0;
maxSize = max(iSize, LoadBearingEquipment[Item[pObject->usItem].ubClassIndex].lbeFilledSize);
// Look for the ItemSize of the largest item in this LBENODE
for(UINT16 x = 0; x < invsize; ++x)
{
if(pLBE->inv[x].exists() == true)
{
testSize = CalculateItemSize(&(pLBE->inv[x]));
//Now that we have the size of one item, we want to factor in the number of items since two
// items take up more space then one.
testSize = testSize + pLBE->inv[x].ubNumberOfObjects - 1;
testSize = min(testSize,34);
//We also need to increase the size of guns so they'll fit with the rest of our calculations.
if(testSize < 5)
testSize += 10;
if(testSize < 10)
testSize += 18;
//Finally, we want to factor in multiple pockets. We'll do this by counting the number of filled
// pockets, then add this count total to our newSize when everything is finished.
cnt++;
newSize = max(testSize, newSize);
}
}
//Add the total number of filled pockets to our NewSize to account for multiple pockets being used
newSize += cnt;
newSize = min(newSize,34);
// If largest item is smaller then LBE, don't change ItemSize
if(newSize > 0 && newSize < iSize) {
iSize = iSize;
}
// if largest item is larget then LBE but smaller then max size, partially increase ItemSize
else if(newSize >= iSize && newSize < maxSize) {
iSize = newSize;
}
// if largest item is larger then max size, reset ItemSize to max size
else if(newSize >= maxSize) {
iSize = maxSize;
}
#endif
}
}
}
@@ -8462,19 +8415,7 @@ BOOLEAN CreateItem( UINT16 usItem, INT16 bStatus, OBJECTTYPE * pObj )
{
(*pObj).fFlags |= OBJECT_UNDROPPABLE;
}
#if 0//dnl ch74 201013 create default attachments rather at gun status instead of 100%
for(UINT8 cnt = 0; cnt < MAX_DEFAULT_ATTACHMENTS; cnt++){
if(Item [ usItem ].defaultattachments[cnt] == 0)
break;
//cannot use gTempObject
OBJECTTYPE defaultAttachment;
CreateItem(Item [ usItem ].defaultattachments[cnt],100,&defaultAttachment);
pObj->AttachObject(NULL,&defaultAttachment, FALSE);
}
#else
AttachDefaultAttachments(pObj);//dnl ch75 261013
#endif
}
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("CreateItem: return %d",fRet));
@@ -12648,44 +12589,7 @@ UINT16 PickARandomLaunchable(UINT16 itemIndex)
UINT16 usNumMatches = 0;
UINT16 usRandom = 0;
UINT16 lowestCoolness = LowestLaunchableCoolness(itemIndex);
#if 0
//DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("PickARandomLaunchable: itemIndex = %d", itemIndex));
// WANNE: This should fix the hang on the merc positioning screen (fix by Razer)
//while( !usNumMatches )
{ //Count the number of valid launchables
for( i = 0; i < MAXITEMS; ++i )
{
if ( Item[i].usItemClass == 0 )
break;
//Madd: quickfix: make it not choose best grenades right away.
if( ValidLaunchable( i, itemIndex ) && ItemIsLegal(i) && Item[i].ubCoolness <= max(HighestPlayerProgressPercentage()/10,lowestCoolness) )
usNumMatches++;
}
}
if( usNumMatches )
{
usRandom = (UINT16)Random( usNumMatches );
for( i = 0; i < MAXITEMS; ++i )
{
if ( Item[i].usItemClass == 0 )
break;
if( ValidLaunchable( i, itemIndex ) && ItemIsLegal(i) && Item[i].ubCoolness <= max(HighestPlayerProgressPercentage()/10,lowestCoolness) )
{
if( usRandom )
usRandom--;
else
{
return i;
}
}
}
}
#endif
// Flugente: the above code is highly dubious.. why do we loop over all items 2 times, and why that obscure usRandom--; business? This can cause an underflow!
BOOLEAN isnight = NightTime();
UINT16 maxcoolness = max( HighestPlayerProgressPercentage() / 10, lowestCoolness );
@@ -14174,29 +14078,29 @@ INT16 GetFlatToHitBonus( OBJECTTYPE * pObj )
// HEADROCK: Function to get average of all "best laser range" attributes from weapon and attachments
INT16 GetAverageBestLaserRange( OBJECTTYPE * pObj )
{
INT16 bonus=0;
FLOAT bonus = 0.0;
INT16 numModifiers=0;
if (Item[pObj->usItem].bestlaserrange > 0)
{
numModifiers++;
bonus += Item[pObj->usItem].bestlaserrange;
bonus += (FLOAT) Item[pObj->usItem].bestlaserrange;
}
for (attachmentList::iterator iter = (*pObj)[0]->attachments.begin(); iter != (*pObj)[0]->attachments.end(); ++iter)
{
if (Item[iter->usItem].bestlaserrange > 0 && iter->exists())
{
numModifiers++;
bonus += Item[iter->usItem].bestlaserrange;
bonus += (FLOAT) Item[iter->usItem].bestlaserrange;
}
}
if (numModifiers>0)
if (numModifiers > 1)
{
bonus = bonus / numModifiers;
}
return( bonus * gItemSettings.fBestLaserRangeModifier );
return (INT16)(bonus * gItemSettings.fBestLaserRangeModifier);
}
// get the best laser range from the weapon and attachments
@@ -14216,7 +14120,7 @@ INT16 GetBestLaserRange( OBJECTTYPE * pObj )
}
}
return( range * gItemSettings.fBestLaserRangeModifier );
return (INT16) ((FLOAT)range * gItemSettings.fBestLaserRangeModifier);
}
// HEADROCK: This function determines the bipod bonii of the gun or its attachments
@@ -15738,14 +15642,9 @@ BOOLEAN GetItemFromRandomItem( UINT16 usRandomItem, UINT16* pusNewItem )
// as it is also possible to reference to other random items, we also have to check for them
// clear the random item arrays and reset the counters
for ( int i = 0; i < RANDOM_ITEM_MAX_NUMBER; ++i)
randomitemarray[i] = 0;
for ( int i = 0; i < RANDOM_TABOO_MAX; ++i)
{
randomitemtabooarray[i] = 0;
randomitemclasstabooarray[i] = 0;
}
memset(randomitemarray, 0, sizeof(randomitemarray));
memset(randomitemtabooarray, 0, sizeof(randomitemtabooarray));
memset(randomitemclasstabooarray, 0, sizeof(randomitemclasstabooarray));
itemcnt = 0;
rdtaboocnt = 0;
@@ -16111,3 +16010,21 @@ bool HasScopeMagFactorForGun( UINT16 ausItemGun, FLOAT aFactor )
return false;
}
UINT16 GetLaunchableOfExplosionType(UINT16 launcher, UINT8 explosionType)
{
for (int i = 0; i < MAXITEMS; i++)
{
UINT16 launchable = Launchable[i][0];
if (launchable == 0) // if reached end of Launchable list, then stop
break;
if (Launchable[i][1] == launcher)
{
if (Explosive[Item[launchable].ubClassIndex].ubType == explosionType)
return launchable;
}
}
return NOTHING;
}
+1
View File
@@ -576,5 +576,6 @@ FLOAT GetAttackAPTraitMultiplier( SOLDIERTYPE *pSoldier, OBJECTTYPE *pObj, UINT8
// sevenfm: check if this type of grenade can use delayed mode
BOOLEAN CanDelayGrenadeExplosion( UINT16 usItem );
UINT16 GetLaunchableOfExplosionType(UINT16 launcher, UINT8 explosionType);
#endif
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "items.h"
#include "weapons.h"
#include "Soldier Control.h"
@@ -36,7 +33,6 @@
#include "utilities.h"
#include "english.h"
#include "debug control.h"
#endif
#ifdef JA2UB
#include "worldman.h"
+10 -16
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include <memory.h>
@@ -40,7 +37,6 @@
#include "Map Screen Interface.h"
#include "GameSettings.h" // added by SANDRO
#include "Dialogue Control.h" // added by Flugente
#endif
#include "GameVersion.h"
@@ -1171,6 +1167,11 @@ BOOLEAN LoadDoorTableFromDoorTableTempFile( )
static auto ComplainAboutMissingDoorStructure(const INT32 GridNo) {
#if JA2TESTVERSION
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_BETAVERSION, L"Door structure data at %d was not found", GridNo);
#endif
}
// fOpen is True if the door is open, false if it is closed
BOOLEAN ModifyDoorStatus( INT32 sGridNo, BOOLEAN fOpen, BOOLEAN fPerceivedOpen )
@@ -1194,9 +1195,7 @@ BOOLEAN ModifyDoorStatus( INT32 sGridNo, BOOLEAN fOpen, BOOLEAN fPerceivedOpen )
if ( pBaseStructure == NULL )
{
#if 0
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_BETAVERSION, L"Door structure data at %d was not found", sGridNo );
#endif
ComplainAboutMissingDoorStructure(sGridNo);
return( FALSE );
}
@@ -1318,9 +1317,7 @@ BOOLEAN IsDoorOpen( INT32 sGridNo )
if ( pBaseStructure == NULL )
{
#if 0
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_BETAVERSION, L"Door structure data at %d was not found", sGridNo );
#endif
ComplainAboutMissingDoorStructure(sGridNo);
return( FALSE );
}
@@ -1371,6 +1368,7 @@ DOOR_STATUS *GetDoorStatus( INT32 sGridNo )
if ( pBaseStructure == NULL )
{
ComplainAboutMissingDoorStructure(sGridNo);
return( NULL );
}
@@ -1531,9 +1529,7 @@ void SyncronizeDoorStatusToStructureData( DOOR_STATUS *pDoorStatus )
if ( pBaseStructure == NULL )
{
#if 0
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_BETAVERSION, L"Door structure data at %d was not found", pDoorStatus->sGridNo );
#endif
ComplainAboutMissingDoorStructure(pDoorStatus->sGridNo);
return;
}
@@ -1615,9 +1611,7 @@ void InternalUpdateDoorGraphicFromStatus( DOOR_STATUS *pDoorStatus, BOOLEAN fUse
if ( pBaseStructure == NULL )
{
#if 0
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_BETAVERSION, L"Door structure data at %d was not found", pDoorStatus->sGridNo );
#endif
ComplainAboutMissingDoorStructure(pDoorStatus->sGridNo);
return;
}
+3 -41
View File
@@ -1,7 +1,4 @@
#include "connect.h"
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "builddefines.h"
#include <stdio.h>
@@ -44,7 +41,6 @@
#include "items.h"
#include "Item Types.h"
#include "Vehicles.h"
#endif
#include "fresh_header.h"
#include "WorldDat.h"
// HEADROCK HAM 3.6: This must be included, for testing whether Bloodcats and Enemies can see one another.
@@ -3022,7 +3018,7 @@ BOOLEAN BulletHitMerc( BULLET * pBullet, STRUCTURE * pStructure, BOOLEAN fIntend
// Determine damage, checking guy's armour, etc
sRange = GetRangeInCellCoordsFromGridNoDiff( pBullet->sOrigGridNo, pTarget->sGridNo );
if ( gTacticalStatus.uiFlags & GODMODE && pBullet->ubFirerID != NOBODY && !(pFirer->flags.uiStatusFlags & SOLDIER_PC))
if ( gTacticalStatus.uiFlags & GODMODE && pTarget->bTeam == OUR_TEAM && pBullet->ubFirerID != NOBODY && !(pFirer->flags.uiStatusFlags & SOLDIER_PC))
{
// in god mode, and firer is computer controlled
iImpact = 0;
@@ -4809,15 +4805,7 @@ INT8 FireBulletGivenTargetNCTH( SOLDIERTYPE * pFirer, FLOAT dEndX, FLOAT dEndY,
dDeltaX = dEndX - dStartX;
dDeltaY = dEndY - dStartY;
dDeltaZ = dEndZ - dStartZ;
#if 0//dnl ch60 020913 isn't true see reason in FireBulletGivenTarget
//lal bugfix
if( dDeltaZ > 0 )
d2DDistance = Distance3D( dDeltaX, dDeltaY, dDeltaZ );
else
d2DDistance = Distance2D( dDeltaX, dDeltaY );
#else
d2DDistance = Distance2D( dDeltaX, dDeltaY );
#endif
iDistance = (INT32) d2DDistance;
if ( d2DDistance != iDistance )
@@ -5308,15 +5296,9 @@ INT8 FireBulletGivenTarget( SOLDIERTYPE * pFirer, FLOAT dEndX, FLOAT dEndY, FLOA
dDeltaX = dEndX - dStartX;
dDeltaY = dEndY - dStartY;
dDeltaZ = dEndZ - dStartZ;
#if 0//dnl ch60 311009 this isn't correct, e.g. if you try head shot from prone to standing target at 1 tile, Distance3D will calculate 7,8 tile distance, this means that you will always hit target regard of CTH calculation, correct usage will be Distance3D(dDeltaX, dDeltaY, CONVERT_HEIGHTUNITS_TO_DISTANCE(dDeltaZ)) but we need here 2D distance as was in original v1.12
//lal bugfix
if( dDeltaZ > 0 )
d2DDistance = Distance3D( dDeltaX, dDeltaY, dDeltaZ );
else
d2DDistance = Distance2D( dDeltaX, dDeltaY );
#else
/* see previous commit for historically interesting comment on the reason Distance2D instead
of Distance3D is used here */
d2DDistance = Distance2D( dDeltaX, dDeltaY );
#endif
iDistance = (INT32) d2DDistance;
if ( d2DDistance != iDistance )
@@ -5817,15 +5799,7 @@ INT8 FireFragmentGivenTarget( UINT16 ubOwner, FLOAT dStartX, FLOAT dStartY, FLOA
dDeltaX = dEndX - dStartX;
dDeltaY = dEndY - dStartY;
dDeltaZ = dEndZ - dStartZ;
#if 0//dnl ch60 030913
//lal bugfix
if( dDeltaZ > 0 )
d2DDistance = Distance3D( dDeltaX, dDeltaY, dDeltaZ );
else
d2DDistance = Distance2D( dDeltaX, dDeltaY );
#else
d2DDistance = Distance2D( dDeltaX, dDeltaY );
#endif
iDistance = (INT32) d2DDistance;
if ( d2DDistance != iDistance )
@@ -5994,15 +5968,7 @@ INT8 FireBulletGivenTargetTrapOnly( SOLDIERTYPE* pThrower, OBJECTTYPE* pObj, INT
dDeltaX = dEndX - dStartX;
dDeltaY = dEndY - dStartY;
dDeltaZ = dEndZ - dStartZ;
#if 0//dnl ch60 030913
//lal bugfix
if( dDeltaZ > 0 )
d2DDistance = Distance3D( dDeltaX, dDeltaY, dDeltaZ );
else
d2DDistance = Distance2D( dDeltaX, dDeltaY );
#else
d2DDistance = Distance2D( dDeltaX, dDeltaY );
#endif
iDistance = (INT32) d2DDistance;
if ( d2DDistance != iDistance )
@@ -8588,11 +8554,7 @@ void AdjustTargetCenterPoint( SOLDIERTYPE *pShooter, INT32 iTargetGridNo, FLOAT
///////////////////////////////////////////////////////////////////////
// Find distance between shooter and target, in points.
FLOAT d2DDistance=0;
#if 0//dnl ch60 030913
d2DDistance = Distance3D( dDeltaX, dDeltaY, CONVERT_HEIGHTUNITS_TO_DISTANCE( dDeltaZ ) );
#else
d2DDistance = Distance2D( dDeltaX, dDeltaY );
#endif
// Round it upwards.
INT32 iDistance = (INT32) d2DDistance;
if ( d2DDistance != iDistance )
+48
View File
@@ -2,6 +2,21 @@
namespace LogicalBodyTypes {
INT32 CompareAttachment(SOLDIERTYPE* pSoldier, INVENTORY_SLOT slot, UINT8 index)
{
INT32 cmp_val = 0;
if (pSoldier->inv[slot].objectStack.size() > 0)
{
OBJECTTYPE* const attachment = pSoldier->inv[slot].objectStack.front().GetAttachmentAtIndex(index);
if (attachment) { cmp_val = attachment->usItem; }
else { cmp_val = 0; }
}
else { cmp_val = 0; }
return cmp_val;
}
Filter::Filter(void) {
}
@@ -186,6 +201,9 @@ bool Filter::Match(SOLDIERTYPE* pSoldier) {
case REQ_WEAPON_CLASS:
cmp_val = Weapon[pSoldier->inv[HANDPOS].usItem].ubWeaponClass;
break;
case REQ_LEFT_WEAPON_CLASS:
cmp_val = Weapon[pSoldier->inv[SECONDHANDPOS].usItem].ubWeaponClass;
break;
case REQ_WEAPON_TYPE:
cmp_val = Weapon[pSoldier->inv[HANDPOS].usItem].ubWeaponType;
break;
@@ -195,6 +213,12 @@ bool Filter::Match(SOLDIERTYPE* pSoldier) {
case REQ_CALIBRE:
cmp_val = Weapon[pSoldier->inv[HANDPOS].usItem].ubCalibre;
break;
case REQ_WEAPON_TWOHANDED:
cmp_val = TwoHandedItem(pSoldier->inv[HANDPOS].usItem);
break;
case REQ_LEFT_WEAPON_TWOHANDED:
cmp_val = TwoHandedItem(pSoldier->inv[SECONDHANDPOS].usItem);
break;
case REQ_VEST_AMOR_PROTECTION:
cmp_val = Armour[Item[pSoldier->inv[VESTPOS].usItem].ubClassIndex].ubProtection;
break;
@@ -210,6 +234,30 @@ bool Filter::Match(SOLDIERTYPE* pSoldier) {
case REQ_WEARING_BACKPACK:
cmp_val = pSoldier->inv[BPACKPOCKPOS].exists();
break;
case REQ_HELMETPOSATTACHMENT0:
cmp_val = CompareAttachment(pSoldier, HELMETPOS, 0);
break;
case REQ_HELMETPOSATTACHMENT1:
cmp_val = CompareAttachment(pSoldier, HELMETPOS, 1);
break;
case REQ_HELMETPOSATTACHMENT2:
cmp_val = CompareAttachment(pSoldier, HELMETPOS, 2);
break;
case REQ_HELMETPOSATTACHMENT3:
cmp_val = CompareAttachment(pSoldier, HELMETPOS, 3);
break;
case REQ_LEGPOSATTACHMENT0:
cmp_val = CompareAttachment(pSoldier, LEGPOS, 0);
break;
case REQ_LEGPOSATTACHMENT1:
cmp_val = CompareAttachment(pSoldier, LEGPOS, 1);
break;
case REQ_LEGPOSATTACHMENT2:
cmp_val = CompareAttachment(pSoldier, LEGPOS, 2);
break;
case REQ_LEGPOSATTACHMENT3:
cmp_val = CompareAttachment(pSoldier, LEGPOS, 3);
break;
default:
if (q < NUM_REQTYPESINV) {
cmp_val = pSoldier->inv[q].usItem;
+12 -1
View File
@@ -56,14 +56,25 @@ public:
REQ_NICKNAME,
REQ_WEAPON_IN_HAND,
REQ_WEAPON_CLASS,
REQ_LEFT_WEAPON_CLASS,
REQ_WEAPON_TYPE,
REQ_LEFT_WEAPON_TYPE,
REQ_CALIBRE,
REQ_WEAPON_TWOHANDED,
REQ_LEFT_WEAPON_TWOHANDED,
REQ_VEST_AMOR_PROTECTION,
REQ_VEST_AMOR_COVERAGE,
REQ_HELMET_AMOR_PROTECTION,
REQ_HELMET_AMOR_COVERAGE,
REQ_WEARING_BACKPACK,
REQ_HELMETPOSATTACHMENT0,
REQ_HELMETPOSATTACHMENT1,
REQ_HELMETPOSATTACHMENT2,
REQ_HELMETPOSATTACHMENT3,
REQ_LEGPOSATTACHMENT0,
REQ_LEGPOSATTACHMENT1,
REQ_LEGPOSATTACHMENT2,
REQ_LEGPOSATTACHMENT3,
NUM_REQTYPES,
// 3rd byte is for operator flags
_REQ_BTWN = 0x20000,
@@ -86,7 +97,7 @@ public:
};
typedef std::pair <INT32, INT32> NumberPair;
typedef std::list <std::wstring> StringList;
typedef std::list <INT32> NumberList;
typedef std::vector <INT32> NumberList;
union criterionVariant {
INT32 number;
std::wstring* string;
+25 -3
View File
@@ -270,7 +270,7 @@ namespace LogicalBodyTypes {
/*****************************************
Filter enum criterion types
******************************************/
LOGBT_ENUMDB_ADD("IntegerFilterCriterionTypes", 33,
LOGBT_ENUMDB_ADD("IntegerFilterCriterionTypes", 43,
Filter::REQ_HELMETPOS,
Filter::REQ_VESTPOS,
Filter::REQ_LEGPOS,
@@ -299,23 +299,34 @@ namespace LogicalBodyTypes {
Filter::REQ_FACEINDEX,
Filter::REQ_WEAPON_IN_HAND,
Filter::REQ_CALIBRE,
Filter::REQ_WEAPON_TWOHANDED,
Filter::REQ_LEFT_WEAPON_TWOHANDED,
Filter::REQ_VEST_AMOR_PROTECTION,
Filter::REQ_VEST_AMOR_COVERAGE,
Filter::REQ_HELMET_AMOR_PROTECTION,
Filter::REQ_HELMET_AMOR_COVERAGE,
Filter::REQ_WEARING_BACKPACK
Filter::REQ_WEARING_BACKPACK,
Filter::REQ_HELMETPOSATTACHMENT0,
Filter::REQ_HELMETPOSATTACHMENT1,
Filter::REQ_HELMETPOSATTACHMENT2,
Filter::REQ_HELMETPOSATTACHMENT3,
Filter::REQ_LEGPOSATTACHMENT0,
Filter::REQ_LEGPOSATTACHMENT1,
Filter::REQ_LEGPOSATTACHMENT2,
Filter::REQ_LEGPOSATTACHMENT3
);
/*****************************************
Filter enum criterion types
******************************************/
LOGBT_ENUMDB_ADD("EnumFilterCriterionTypes", 8,
LOGBT_ENUMDB_ADD("EnumFilterCriterionTypes", 9,
Filter::REQ_SEX,
Filter::REQ_MERC_TYPE,
Filter::REQ_SOLDIER_CLASS,
Filter::REQ_CIVILIANGROUP,
Filter::REQ_BODYTYPE,
Filter::REQ_WEAPON_CLASS,
Filter::REQ_LEFT_WEAPON_CLASS,
Filter::REQ_WEAPON_TYPE,
Filter::REQ_LEFT_WEAPON_TYPE
);
@@ -671,6 +682,17 @@ namespace LogicalBodyTypes {
MONSTERCLASS
);
LOGBT_ENUMDB_ADD("LEFT_WEAPON_CLASS", NUM_WEAPON_CLASSES,
NOGUNCLASS,
HANDGUNCLASS,
SMGCLASS,
RIFLECLASS,
MGCLASS,
SHOTGUNCLASS,
KNIFECLASS,
MONSTERCLASS
);
/*****************************************
Weapon Type
******************************************/
Binary file not shown.
-326
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#include "edit_sys.h"
#else
#include <stdio.h>
#include "fileMan.h"
#include "types.h"
@@ -20,7 +16,6 @@
#include "environment.h"
#include "lighting.h"
#include "Animated ProgressBar.h"
#endif
//CHRISL: MAJOR_MAP_VERSION information moved to worlddef.h by ADB. We're using these values elsewhere and need them
// in the header file
@@ -204,327 +199,6 @@ void SaveMapInformation(HWFILE hFile, FLOAT dMajorMapVersion, UINT8 ubMinorMapVe
//loading and won't be permanently updated until the map is saved, regardless of changes.
void UpdateOldVersionMap()
{
#if 0 //This code is no longer needed since the major version update from 1.0 to 4.0
//However, I am keeping it in for reference.
SOLDIERINITNODE *curr;
INT32 i;
LEVELNODE *pStruct;
//VERSION 0 -- obsolete November 14, 1997
if( gMapInformation.ubMapVersion == 0 )
{
//Soldier information contained two fixable bugs.
gMapInformation.ubMapVersion++;
curr = gSoldierInitHead;
while( curr )
{
//Bug #01) Nodes without detailed slots weren't initialized.
if( !curr->pBasicPlacement->fDetailedPlacement )
curr->pDetailedPlacement = NULL;
//Bug #02) The attitude variable was accidentally being generated like attributes
// which put it completely out of range.
if( curr->pBasicPlacement->bAttitude > 7 )
curr->pBasicPlacement->bAttitude = (INT8)Random(8);
//go to next node
curr = curr->next;
}
}
//VERSION 1 -- obsolete January 7, 1998
if( gMapInformation.ubMapVersion == 1 )
{
gMapInformation.ubMapVersion++;
//Bug #03) Removing all wall decals from map, because of new changes to the slots
// as well as certain decals found commonly in illegal places.
for( i = 0; i < WORLD_MAX; i++ )
{
RemoveAllStructsOfTypeRange( i, FIRSTWALLDECAL, LASTWALLDECAL );
RemoveAllStructsOfTypeRange( i, FIFTHWALLDECAL, SIXTHWALLDECAL );
}
}
//VERSION 2 -- obsolete February 3, 1998
if( gMapInformation.ubMapVersion == 2 )
{
gMapInformation.ubMapVersion++;
curr = gSoldierInitHead;
while( curr )
{
//Bug #04) Assign enemy mercs default army color code if applicable
if( curr->pBasicPlacement->bTeam == ENEMY_TEAM && !curr->pBasicPlacement->ubSoldierClass )
{
if( !curr->pDetailedPlacement )
{
curr->pBasicPlacement->ubSoldierClass = SOLDIER_CLASS_ARMY;
}
else if( curr->pDetailedPlacement && curr->pDetailedPlacement->ubProfile == NO_PROFILE )
{
curr->pBasicPlacement->ubSoldierClass = SOLDIER_CLASS_ARMY;
curr->pDetailedPlacement->ubSoldierClass = SOLDIER_CLASS_ARMY;
}
}
curr = curr->next;
}
}
//VERSION 3 -- obsolete February 9, 1998
if( gMapInformation.ubMapVersion == 3 )
{
gMapInformation.ubMapVersion++;
//Bug #05) Move entry points down if necessary.
ValidateEntryPointGridNo( &gMapInformation.sNorthGridNo );
ValidateEntryPointGridNo( &gMapInformation.sEastGridNo );
ValidateEntryPointGridNo( &gMapInformation.sSouthGridNo );
ValidateEntryPointGridNo( &gMapInformation.sWestGridNo );
}
//VERSION 4 -- obsolete February 25, 1998
if( gMapInformation.ubMapVersion == 4 )
{
gMapInformation.ubMapVersion++;
//6) Change all doors to FIRSTDOOR
for( i = 0; i < WORLD_MAX; ++i )
{
//NOTE: Here are the index values for the various doors
//DOOR OPEN CLOSED
//FIRST 916 912
//SECOND 936 932
//THIRD 956 952
//FOURTH 976 972
pStruct = gpWorldLevelData[ i ].pStructHead;
while( pStruct )
{
//outside topleft
if( pStruct->usIndex == 932 || pStruct->usIndex == 952 || pStruct->usIndex == 972 )
{
ReplaceStructIndex( i, pStruct->usIndex, 912 );
break;
}
else if( pStruct->usIndex == 936 || pStruct->usIndex == 956 || pStruct->usIndex == 976 )
{
ReplaceStructIndex( i, pStruct->usIndex, 916 );
break;
}
//outside topright
else if( pStruct->usIndex == 927 || pStruct->usIndex == 947 || pStruct->usIndex == 967 )
{
ReplaceStructIndex( i, pStruct->usIndex, 907 );
break;
}
else if( pStruct->usIndex == 931 || pStruct->usIndex == 951 || pStruct->usIndex == 971 )
{
ReplaceStructIndex( i, pStruct->usIndex, 911 );
break;
}
//inside topleft
else if( pStruct->usIndex == 942 || pStruct->usIndex == 962 || pStruct->usIndex == 982 )
{
ReplaceStructIndex( i, pStruct->usIndex, 922 );
break;
}
else if( pStruct->usIndex == 946 || pStruct->usIndex == 966 || pStruct->usIndex == 986 )
{
ReplaceStructIndex( i, pStruct->usIndex, 926 );
break;
}
//inside topright
else if( pStruct->usIndex == 937 || pStruct->usIndex == 957 || pStruct->usIndex == 977 )
{
ReplaceStructIndex( i, pStruct->usIndex, 917 );
break;
}
else if( pStruct->usIndex == 941 || pStruct->usIndex == 961 || pStruct->usIndex == 981 )
{
ReplaceStructIndex( i, pStruct->usIndex, 921 );
break;
}
pStruct = pStruct->pNext;
}
}
}
//VERSION 5 -- obsolete March 4, 1998
if( gMapInformation.ubMapVersion == 5 )
{
gMapInformation.ubMapVersion++;
//Bug 7) Remove all exit grids (the format has changed)
for( i = 0; i < WORLD_MAX; i++ )
RemoveExitGridFromWorld( i );
}
//VERSION 6 -- obsolete March 9, 1998
if( gMapInformation.ubMapVersion == 6 )
{ //Bug 8) Change droppable status of merc items so that they are all undroppable.
gMapInformation.ubMapVersion++;
curr = gSoldierInitHead;
while( curr )
{
//Bug #04) Assign enemy mercs default army color code if applicable
if( curr->pDetailedPlacement )
{
INT32 invsize = (INT32)curr->pDetailedPlacement->Inv.size();
for( i = 0; i < invsize; ++i )
{ //make all items undroppable, even if it is empty. This will allow for
//random item generation, while empty, droppable slots are locked as empty
//during random item generation.
curr->pDetailedPlacement->Inv[ i ].fFlags |= OBJECT_UNDROPPABLE;
}
}
curr = curr->next;
}
}
//VERSION 7 -- obsolete April 14, 1998
if( gMapInformation.ubMapVersion == 7 )
{
gMapInformation.ubMapVersion++;
//Bug 9) Priority placements have been dropped in favor of splitting it into two categories.
// The first is Detailed placements, and the second is priority existance. So, all
// current detailed placements will also have priority existance.
curr = gSoldierInitHead;
while( curr )
{
if( curr->pDetailedPlacement )
{
curr->pBasicPlacement->fPriorityExistance = TRUE;
}
curr = curr->next;
}
}
if( gMapInformation.ubMapVersion == 14 )
{ //Toast all of the ambiguous road pieces that ended up wrapping the byte.
LEVELNODE *pStruct, *pStruct2;
INT32 i;
for( i = 0; i < WORLD_MAX; i++ )
{
pStruct = gpWorldLevelData[ i ].pObjectHead;
if( pStruct && pStruct->usIndex == 1078 && i < WORLD_MAX-2 && i >= 320 )
{ //This is the only detectable road piece that we can repair.
pStruct2 = gpWorldLevelData[ i+1 ].pObjectHead;
if( pStruct2 && pStruct2->usIndex == 1081 )
{
RemoveObject( i, pStruct->usIndex );
RemoveObject( i+1, pStruct->usIndex+1 );
RemoveObject( i+2, pStruct->usIndex+2 );
RemoveObject( i-160, pStruct->usIndex-160 );
RemoveObject( i-159, pStruct->usIndex-159 );
RemoveObject( i-158, pStruct->usIndex-158 );
RemoveObject( i-320, pStruct->usIndex-320 );
RemoveObject( i-319, pStruct->usIndex-319 );
RemoveObject( i-318, pStruct->usIndex-318 );
AddObjectToTail( i, 1334 );
AddObjectToTail( i-160, 1335 );
AddObjectToTail( i-320, 1336 );
AddObjectToTail( i+1, 1337 );
AddObjectToTail( i-159, 1338 );
AddObjectToTail( i-319, 1339 );
AddObjectToTail( i+2, 1340 );
AddObjectToTail( i-158, 1341 );
AddObjectToTail( i-318, 1342 );
}
}
else if( pStruct && pStruct->usIndex >= 1079 && pStruct->usIndex < 1115 )
{
RemoveObject( i, pStruct->usIndex );
}
}
}
if( gMapInformation.ubMapVersion <= 7 )
{
if( gfEditMode )
{
#ifdef JA2TESTVERSION
ScreenMsg( FONT_MCOLOR_RED, MSG_ERROR, L"Currently loaded map is corrupt! Allowing the map to load anyway!" );
#endif
}
else
{
if( gbWorldSectorZ )
{
AssertMsg( 0, String( "Currently loaded map (%c%d_b%d.dat) is invalid -- less than the minimum supported version.", gWorldSectorY + 'A' - 1, gWorldSectorX, gbWorldSectorZ ) );
}
else if( !gbWorldSectorZ )
{
AssertMsg( 0, String( "Currently loaded map (%c%d.dat) is invalid -- less than the minimum supported version.", gWorldSectorY + 'A' - 1, gWorldSectorX ) );
}
}
}
//VERSION 8 -- obsolete April 18, 1998
if( gMapInformation.ubMapVersion == 8 )
{
gMapInformation.ubMapVersion++;
//Bug 10) Padding on detailed placements is uninitialized. Clear all data starting at
// fKillSlotIfOwnerDies.
curr = gSoldierInitHead;
while( curr )
{
if( curr->pDetailedPlacement )
{
//The size 120 was hand calculated. The remaining padding was 118 bytes
//and there were two one byte fields cleared, fKillSlotIfOwnerDies and ubScheduleID
memset( &curr->pDetailedPlacement->fKillSlotIfOwnerDies, 0, 120 );
}
curr = curr->next;
}
}
//Version 9 -- Kris -- obsolete April 27, 1998
if( gMapInformation.ubMapVersion == 9 )
{
gMapInformation.ubMapVersion++;
curr = gSoldierInitHead;
while( curr )
{
//Bug 11) Convert all wheelchaired placement bodytypes to cows. Result of change in the animation database.
if( curr->pDetailedPlacement && curr->pDetailedPlacement->ubBodyType == CRIPPLECIV )
{
curr->pDetailedPlacement->ubBodyType = COW;
curr->pBasicPlacement->ubBodyType = COW;
}
curr = curr->next;
}
}
if( gMapInformation.ubMapVersion < 12 )
{
gMapInformation.ubMapVersion = 12;
gMapInformation.sCenterGridNo = -1;
}
if( gMapInformation.ubMapVersion < 13 )
{ //replace all merc ammo inventory slots status value with the max ammo that the clip can hold.
INT32 cnt;
OBJECTTYPE *pItem;
gMapInformation.ubMapVersion++;
//Bug 10) Padding on detailed placements is uninitialized. Clear all data starting at
// fKillSlotIfOwnerDies.
curr = gSoldierInitHead;
while( curr )
{
if( curr->pDetailedPlacement )
{
UINT32 invsize = curr->pDetailedPlacement->Inv.size();
for ( UINT32 i = 0; i < invsize; ++i )
{
pItem = &curr->pDetailedPlacement->Inv[ i ];
if( Item[ pItem->usItem ].usItemClass & IC_AMMO )
{
for( cnt = 0; cnt < pItem->ubNumberOfObjects; ++cnt )
{
pItem->shots.ubShotsLeft[ cnt ] = Magazine[ Item[ pItem->usItem ].ubClassIndex ].ubMagSize;
}
}
}
}
curr = curr->next;
}
}
if( gMapInformation.ubMapVersion < 14 )
{
gMapInformation.ubMapVersion++;
if( !gfCaves && !gfBasement )
{
ReplaceObsoleteRoads();
}
}
if( gMapInformation.ubMapVersion < 15 )
{ //Do nothing. The object layer was expanded from 1 byte to 2 bytes, effecting the
//size of the maps. This was due to the fact that the ROADPIECES tileset contains
//over 300 pieces, hence requiring a size increase of the tileset subindex for this
//layer only.
}
#endif //end of MAJOR VERSION 3.0 obsolete code
if( gMapInformation.ubMapVersion < 15 )
{
AssertMsg( 0, "Map is less than minimum supported version." );
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include <string.h>
@@ -41,7 +38,6 @@
// HEADROCK HAM 3.5: Need this to see if enemies present at starting sector
#include "Overhead.h"
#include "Map Information.h" // added by Flugente
#endif
#ifdef JA2UB
#include "ub_config.h"
-5
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#include "strategic.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include <string.h>
@@ -53,7 +49,6 @@
#include "GameSettings.h"
#include "DynamicDialogue.h"// added by Flugente
#include "Dialogue Control.h" // added by Flugente
#endif
#include "connect.h"
#ifdef JA2UB
-20
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#include "PreBattle Interface.h"
#else
#include "Militia Control.h"
#include "Town Militia.h"
@@ -33,7 +29,6 @@
#include "MilitiaSquads.h"
#include "MilitiaIndividual.h" // added by Flugente
#include "CampaignStats.h" // added by Flugente
#endif
//forward declarations of common classes to eliminate includes
class OBJECTTYPE;
@@ -304,21 +299,6 @@ void PrepareMilitiaForTactical( BOOLEAN fPrepareAll)
// If the sector is already loaded, don't add the existing militia
for( x = 1; x < guiDirNumber ; ++x )
{
#if 0
// ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"%ld,%ld,%ld,%ld", gpAttackDirs[ x ][ 0 ], gpAttackDirs[ x ][1], gpAttackDirs[ x ][2], gpAttackDirs[ x ][3] );
if( gfMSResetMilitia )
{
if( gpAttackDirs[ x ][ 3 ] != INSERTION_CODE_CENTER )
{
AddSoldierInitListMilitiaOnEdge( gpAttackDirs[ x ][ 3 ], gpAttackDirs[ x ][0], gpAttackDirs[ x ][1], gpAttackDirs[ x ][2] );
ubGreen -= gpAttackDirs[ x ][0];
ubRegs -= gpAttackDirs[ x ][1];
ubElites -= gpAttackDirs[ x ][2];
}
}
//else
//{
#endif
AddSoldierInitListMilitiaOnEdge( gpAttackDirs[ x ][ 3 ], gpAttackDirs[ x ][0], gpAttackDirs[ x ][1], gpAttackDirs[ x ][2] );
}
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include <stdlib.h>
#include "Morale.h"
#include "Overhead.h"
@@ -32,7 +29,6 @@
#include "Soldier Add.h" // added by Flugente for MERC_TYPE__AIM_MERC
#include "CampaignStats.h" // added by Flugente for gCurrentIncident
#include "DynamicDialogue.h" // added by Flugente
#endif
#include "connect.h"
#include "fresh_header.h"
+1 -283
View File
@@ -2,6 +2,7 @@
#define __OVERHEAD_TYPES_H
// GLOBAL HEADER FOR DATA, TYPES FOR TACTICAL ENGINE
#include "Types.h"
#define REFINE_AIM_1 0
#define REFINE_AIM_MID1 1
@@ -335,280 +336,6 @@ extern UINT16 giMAXIMUM_NUMBER_OF_CIVS;
#define LAN_TEAM_FOUR 9
//hayden
//-----------------------------------------------
//
// civilian "sub teams":
enum
{
NON_CIV_GROUP = 0,
REBEL_CIV_GROUP,
KINGPIN_CIV_GROUP,
SANMONA_ARMS_GROUP,
ANGELS_GROUP,
BEGGARS_CIV_GROUP,
TOURISTS_CIV_GROUP,
ALMA_MILITARY_CIV_GROUP,
DOCTORS_CIV_GROUP,
COUPLE1_CIV_GROUP,
HICKS_CIV_GROUP,
WARDEN_CIV_GROUP,
JUNKYARD_CIV_GROUP,
FACTORY_KIDS_GROUP,
QUEENS_CIV_GROUP,
UNNAMED_CIV_GROUP_15,
UNNAMED_CIV_GROUP_16,
UNNAMED_CIV_GROUP_17,
UNNAMED_CIV_GROUP_18,
UNNAMED_CIV_GROUP_19,
ASSASSIN_CIV_GROUP, // Flugente: enemy assassins belong to this group
POW_PRISON_CIV_GROUP, // Flugente: prisoners of war the player caught are in this group
UNNAMED_CIV_GROUP_22,
UNNAMED_CIV_GROUP_23,
VOLUNTEER_CIV_GROUP, // Flugente: civilians that the player recruited
BOUNTYHUNTER_CIV_GROUP, // Flugente: hostile bounty hunters
DOWNEDPILOT_CIV_GROUP, // Flugente: downed pilots
SCIENTIST_GROUP, // Flugente: enemy civilian personnel
RADAR_TECHNICIAN_GROUP,
AIRPORT_STAFF_GROUP,
BARRACK_STAFF_GROUP,
FACTORY_GROUP,
ADMINISTRATIVE_STAFF_GROUP,
LOYAL_CIV_GROUP, // civil population deeply loyal to the queen
BLACKMARKET_GROUP, // black market dealer and bodyguards
UNNAMED_CIV_GROUP_35,
UNNAMED_CIV_GROUP_36,
UNNAMED_CIV_GROUP_37,
UNNAMED_CIV_GROUP_38,
UNNAMED_CIV_GROUP_39,
UNNAMED_CIV_GROUP_40,
UNNAMED_CIV_GROUP_41,
UNNAMED_CIV_GROUP_42,
UNNAMED_CIV_GROUP_43,
UNNAMED_CIV_GROUP_44,
UNNAMED_CIV_GROUP_45,
UNNAMED_CIV_GROUP_46,
UNNAMED_CIV_GROUP_47,
UNNAMED_CIV_GROUP_48,
UNNAMED_CIV_GROUP_49,
UNNAMED_CIV_GROUP_50,
UNNAMED_CIV_GROUP_51,
UNNAMED_CIV_GROUP_52,
UNNAMED_CIV_GROUP_53,
UNNAMED_CIV_GROUP_54,
UNNAMED_CIV_GROUP_55,
UNNAMED_CIV_GROUP_56,
UNNAMED_CIV_GROUP_57,
UNNAMED_CIV_GROUP_58,
UNNAMED_CIV_GROUP_59,
UNNAMED_CIV_GROUP_60,
UNNAMED_CIV_GROUP_61,
UNNAMED_CIV_GROUP_62,
UNNAMED_CIV_GROUP_63,
UNNAMED_CIV_GROUP_64,
UNNAMED_CIV_GROUP_65,
UNNAMED_CIV_GROUP_66,
UNNAMED_CIV_GROUP_67,
UNNAMED_CIV_GROUP_68,
UNNAMED_CIV_GROUP_69,
UNNAMED_CIV_GROUP_70,
UNNAMED_CIV_GROUP_71,
UNNAMED_CIV_GROUP_72,
UNNAMED_CIV_GROUP_73,
UNNAMED_CIV_GROUP_74,
UNNAMED_CIV_GROUP_75,
UNNAMED_CIV_GROUP_76,
UNNAMED_CIV_GROUP_77,
UNNAMED_CIV_GROUP_78,
UNNAMED_CIV_GROUP_79,
UNNAMED_CIV_GROUP_80,
UNNAMED_CIV_GROUP_81,
UNNAMED_CIV_GROUP_82,
UNNAMED_CIV_GROUP_83,
UNNAMED_CIV_GROUP_84,
UNNAMED_CIV_GROUP_85,
UNNAMED_CIV_GROUP_86,
UNNAMED_CIV_GROUP_87,
UNNAMED_CIV_GROUP_88,
UNNAMED_CIV_GROUP_89,
UNNAMED_CIV_GROUP_90,
UNNAMED_CIV_GROUP_91,
UNNAMED_CIV_GROUP_92,
UNNAMED_CIV_GROUP_93,
UNNAMED_CIV_GROUP_94,
UNNAMED_CIV_GROUP_95,
UNNAMED_CIV_GROUP_96,
UNNAMED_CIV_GROUP_97,
UNNAMED_CIV_GROUP_98,
UNNAMED_CIV_GROUP_99,
UNNAMED_CIV_GROUP_100,
UNNAMED_CIV_GROUP_101,
UNNAMED_CIV_GROUP_102,
UNNAMED_CIV_GROUP_103,
UNNAMED_CIV_GROUP_104,
UNNAMED_CIV_GROUP_105,
UNNAMED_CIV_GROUP_106,
UNNAMED_CIV_GROUP_107,
UNNAMED_CIV_GROUP_108,
UNNAMED_CIV_GROUP_109,
UNNAMED_CIV_GROUP_110,
UNNAMED_CIV_GROUP_111,
UNNAMED_CIV_GROUP_112,
UNNAMED_CIV_GROUP_113,
UNNAMED_CIV_GROUP_114,
UNNAMED_CIV_GROUP_115,
UNNAMED_CIV_GROUP_116,
UNNAMED_CIV_GROUP_117,
UNNAMED_CIV_GROUP_118,
UNNAMED_CIV_GROUP_119,
UNNAMED_CIV_GROUP_120,
UNNAMED_CIV_GROUP_121,
UNNAMED_CIV_GROUP_122,
UNNAMED_CIV_GROUP_123,
UNNAMED_CIV_GROUP_124,
UNNAMED_CIV_GROUP_125,
UNNAMED_CIV_GROUP_126,
UNNAMED_CIV_GROUP_127,
UNNAMED_CIV_GROUP_128,
UNNAMED_CIV_GROUP_129,
UNNAMED_CIV_GROUP_130,
UNNAMED_CIV_GROUP_131,
UNNAMED_CIV_GROUP_132,
UNNAMED_CIV_GROUP_133,
UNNAMED_CIV_GROUP_134,
UNNAMED_CIV_GROUP_135,
UNNAMED_CIV_GROUP_136,
UNNAMED_CIV_GROUP_137,
UNNAMED_CIV_GROUP_138,
UNNAMED_CIV_GROUP_139,
UNNAMED_CIV_GROUP_140,
UNNAMED_CIV_GROUP_141,
UNNAMED_CIV_GROUP_142,
UNNAMED_CIV_GROUP_143,
UNNAMED_CIV_GROUP_144,
UNNAMED_CIV_GROUP_145,
UNNAMED_CIV_GROUP_146,
UNNAMED_CIV_GROUP_147,
UNNAMED_CIV_GROUP_148,
UNNAMED_CIV_GROUP_149,
UNNAMED_CIV_GROUP_150,
UNNAMED_CIV_GROUP_151,
UNNAMED_CIV_GROUP_152,
UNNAMED_CIV_GROUP_153,
UNNAMED_CIV_GROUP_154,
UNNAMED_CIV_GROUP_155,
UNNAMED_CIV_GROUP_156,
UNNAMED_CIV_GROUP_157,
UNNAMED_CIV_GROUP_158,
UNNAMED_CIV_GROUP_159,
UNNAMED_CIV_GROUP_160,
UNNAMED_CIV_GROUP_161,
UNNAMED_CIV_GROUP_162,
UNNAMED_CIV_GROUP_163,
UNNAMED_CIV_GROUP_164,
UNNAMED_CIV_GROUP_165,
UNNAMED_CIV_GROUP_166,
UNNAMED_CIV_GROUP_167,
UNNAMED_CIV_GROUP_168,
UNNAMED_CIV_GROUP_169,
UNNAMED_CIV_GROUP_170,
UNNAMED_CIV_GROUP_171,
UNNAMED_CIV_GROUP_172,
UNNAMED_CIV_GROUP_173,
UNNAMED_CIV_GROUP_174,
UNNAMED_CIV_GROUP_175,
UNNAMED_CIV_GROUP_176,
UNNAMED_CIV_GROUP_177,
UNNAMED_CIV_GROUP_178,
UNNAMED_CIV_GROUP_179,
UNNAMED_CIV_GROUP_180,
UNNAMED_CIV_GROUP_181,
UNNAMED_CIV_GROUP_182,
UNNAMED_CIV_GROUP_183,
UNNAMED_CIV_GROUP_184,
UNNAMED_CIV_GROUP_185,
UNNAMED_CIV_GROUP_186,
UNNAMED_CIV_GROUP_187,
UNNAMED_CIV_GROUP_188,
UNNAMED_CIV_GROUP_189,
UNNAMED_CIV_GROUP_190,
UNNAMED_CIV_GROUP_191,
UNNAMED_CIV_GROUP_192,
UNNAMED_CIV_GROUP_193,
UNNAMED_CIV_GROUP_194,
UNNAMED_CIV_GROUP_195,
UNNAMED_CIV_GROUP_196,
UNNAMED_CIV_GROUP_197,
UNNAMED_CIV_GROUP_198,
UNNAMED_CIV_GROUP_199,
UNNAMED_CIV_GROUP_200,
UNNAMED_CIV_GROUP_201,
UNNAMED_CIV_GROUP_202,
UNNAMED_CIV_GROUP_203,
UNNAMED_CIV_GROUP_204,
UNNAMED_CIV_GROUP_205,
UNNAMED_CIV_GROUP_206,
UNNAMED_CIV_GROUP_207,
UNNAMED_CIV_GROUP_208,
UNNAMED_CIV_GROUP_209,
UNNAMED_CIV_GROUP_210,
UNNAMED_CIV_GROUP_211,
UNNAMED_CIV_GROUP_212,
UNNAMED_CIV_GROUP_213,
UNNAMED_CIV_GROUP_214,
UNNAMED_CIV_GROUP_215,
UNNAMED_CIV_GROUP_216,
UNNAMED_CIV_GROUP_217,
UNNAMED_CIV_GROUP_218,
UNNAMED_CIV_GROUP_219,
UNNAMED_CIV_GROUP_220,
UNNAMED_CIV_GROUP_221,
UNNAMED_CIV_GROUP_222,
UNNAMED_CIV_GROUP_223,
UNNAMED_CIV_GROUP_224,
UNNAMED_CIV_GROUP_225,
UNNAMED_CIV_GROUP_226,
UNNAMED_CIV_GROUP_227,
UNNAMED_CIV_GROUP_228,
UNNAMED_CIV_GROUP_229,
UNNAMED_CIV_GROUP_230,
UNNAMED_CIV_GROUP_231,
UNNAMED_CIV_GROUP_232,
UNNAMED_CIV_GROUP_233,
UNNAMED_CIV_GROUP_234,
UNNAMED_CIV_GROUP_235,
UNNAMED_CIV_GROUP_236,
UNNAMED_CIV_GROUP_237,
UNNAMED_CIV_GROUP_238,
UNNAMED_CIV_GROUP_239,
UNNAMED_CIV_GROUP_240,
UNNAMED_CIV_GROUP_241,
UNNAMED_CIV_GROUP_242,
UNNAMED_CIV_GROUP_243,
UNNAMED_CIV_GROUP_244,
UNNAMED_CIV_GROUP_245,
UNNAMED_CIV_GROUP_246,
UNNAMED_CIV_GROUP_247,
UNNAMED_CIV_GROUP_248,
UNNAMED_CIV_GROUP_249,
UNNAMED_CIV_GROUP_250,
UNNAMED_CIV_GROUP_251,
UNNAMED_CIV_GROUP_252,
UNNAMED_CIV_GROUP_253,
UNNAMED_CIV_GROUP_254,
NUM_CIV_GROUPS
};
#define CIV_GROUP_NEUTRAL 0
#define CIV_GROUP_WILL_EVENTUALLY_BECOME_HOSTILE 1
#define CIV_GROUP_WILL_BECOME_HOSTILE 2
#define CIV_GROUP_HOSTILE 3
// boxing state
enum BoxingStates
{
@@ -621,15 +348,6 @@ enum BoxingStates
LOST_ROUND
} ;
//NOTE: The editor uses these enumerations, so please update the text as well if you modify or
// add new groups. Try to abbreviate the team name as much as possible. The text is in
// EditorMercs.c
#ifdef JA2EDITOR
extern CHAR16 gszCivGroupNames[ NUM_CIV_GROUPS ][ 128 ];
#endif
//
//-----------------------------------------------
// PALETTE SUBSITUTION TYPES
typedef struct
{
+129 -216
View File
@@ -1,11 +1,7 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#include "PreBattle Interface.h"
#include "creature spreading.h"
#include "Lua Interpreter.h"
#else
#include <stdio.h>
#include <string.h>
#include <random>
#include <array>
#include "wcheck.h"
#include "stdlib.h"
#include "debug.h"
@@ -118,7 +114,6 @@
#include "MilitiaIndividual.h" // added by Flugente
#include "Rebel Command.h"
#include "MilitiaSquads.h"
#endif
#include "connect.h"
#include "Luaglobal.h"
@@ -1185,12 +1180,6 @@ BOOLEAN ExecuteOverhead( )
pSoldier->flags.fSoldierWasMoving = FALSE;
HandlePlacingRoofMarker( pSoldier, pSoldier->sGridNo, TRUE, FALSE );
if ( !gGameSettings.fOptions[ TOPTION_MERC_ALWAYS_LIGHT_UP ] )
{
pSoldier->DeleteSoldierLight( );
pSoldier->SetCheckSoldierLightFlag( );
}
}
}
else
@@ -7603,35 +7592,11 @@ BOOLEAN CheckForEndOfBattle( BOOLEAN fAnEnemyRetreated )
HandleGlobalLoyaltyEvent(GLOBAL_LOYALTY_BATTLE_LOST, gWorldSectorX, gWorldSectorY, gbWorldSectorZ);
}
// SANDRO - end quest if cleared the sector after interrogation (sector N7 by Meduna)
if ( gWorldSectorX == gModSettings.ubMeanwhileInterrogatePOWSectorX && gWorldSectorY == gModSettings.ubMeanwhileInterrogatePOWSectorY &&
gbWorldSectorZ == 0)
{
if (gubQuest[QUEST_INTERROGATION] == QUESTINPROGRESS)
{
// Quest failed
InternalEndQuest(QUEST_INTERROGATION, gWorldSectorX, gWorldSectorY, FALSE);
}
else if (gubQuest[QUEST_INTERROGATION] == QUESTCANNOTSTART)
{
//shadooow: re-enable quest if player loses control of the N7 prison and quest was disabled previously
gubQuest[QUEST_INTERROGATION] = QUESTNOTSTARTED;
}
}
//shadooow: re-enable quest if player loses control of the Alma prison and quest was disabled previously
if (gWorldSectorX == gModSettings.ubInitialPOWSectorX && gWorldSectorY == gModSettings.ubInitialPOWSectorY &&
gbWorldSectorZ == 0 && 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 (gWorldSectorX == gModSettings.ubTixaPrisonSectorX && gWorldSectorY == gModSettings.ubTixaPrisonSectorY &&
gbWorldSectorZ == 0 && gubQuest[QUEST_HELD_IN_TIXA] == QUESTCANNOTSTART)
{
gubQuest[QUEST_HELD_IN_TIXA] = QUESTNOTSTARTED;
}
#endif
HandlePOWQuestState(Q_FAIL, QUEST_INTERROGATION, gWorldSectorX, gWorldSectorY, gbWorldSectorZ);
HandlePOWQuestState(Q_FAIL, QUEST_HELD_IN_ALMA, gWorldSectorX, gWorldSectorY, gbWorldSectorZ);
HandlePOWQuestState(Q_FAIL, QUEST_HELD_IN_TIXA, gWorldSectorX, gWorldSectorY, gbWorldSectorZ);
#endif
// Play death music
#ifdef NEWMUSIC
@@ -7827,51 +7792,12 @@ BOOLEAN CheckForEndOfBattle( BOOLEAN fAnEnemyRetreated )
if (!is_networked)
ShouldBeginAutoBandage( );
}
// SANDRO - end quest if cleared the sector after interrogation (sector N7 by Meduna)
if ( gWorldSectorX == gModSettings.ubMeanwhileInterrogatePOWSectorX && gWorldSectorY == gModSettings.ubMeanwhileInterrogatePOWSectorY &&
gbWorldSectorZ == 0)
{
if (gubQuest[QUEST_INTERROGATION] == QUESTINPROGRESS)
{
// Complete quest
EndQuest( QUEST_INTERROGATION, gWorldSectorX, gWorldSectorY );
}
else if(gubQuest[QUEST_INTERROGATION] == QUESTNOTSTARTED)
{
//shadooow: disable quest if player takes control of the N7 prison
gubQuest[QUEST_INTERROGATION] = QUESTCANNOTSTART;
}
}
//shadooow: disable quest if player takes control of the Alma prison
if (gWorldSectorX == gModSettings.ubInitialPOWSectorX && gWorldSectorY == gModSettings.ubInitialPOWSectorY &&
gbWorldSectorZ == 0)
{
if (gubQuest[QUEST_HELD_IN_ALMA] == QUESTINPROGRESS)
{
// Complete quest
EndQuest(QUEST_HELD_IN_ALMA, gWorldSectorX, gWorldSectorY);
}
else if (gubQuest[QUEST_HELD_IN_ALMA] == QUESTNOTSTARTED)
{
gubQuest[QUEST_HELD_IN_ALMA] = QUESTCANNOTSTART;
}
}
#ifndef JA2UB
//shadooow: disable quest if player takes control of the Tixa prison
if (gWorldSectorX == gModSettings.ubTixaPrisonSectorX && gWorldSectorY == gModSettings.ubTixaPrisonSectorY &&
gbWorldSectorZ == 0 && gubQuest[QUEST_HELD_IN_TIXA] == QUESTNOTSTARTED)
{
if (gubQuest[QUEST_HELD_IN_TIXA] == QUESTINPROGRESS)
{
// Complete quest
EndQuest(QUEST_HELD_IN_TIXA, gWorldSectorX, gWorldSectorY);
}
else if (gubQuest[QUEST_HELD_IN_TIXA] == QUESTNOTSTARTED)
{
gubQuest[QUEST_HELD_IN_TIXA] = QUESTCANNOTSTART;
}
}
#endif
#ifndef JA2UB
HandlePOWQuestState(Q_SUCCESS, QUEST_INTERROGATION, gWorldSectorX, gWorldSectorY, gbWorldSectorZ);
HandlePOWQuestState(Q_SUCCESS, QUEST_HELD_IN_ALMA, gWorldSectorX, gWorldSectorY, gbWorldSectorZ);
HandlePOWQuestState(Q_SUCCESS, QUEST_HELD_IN_TIXA, gWorldSectorX, gWorldSectorY, gbWorldSectorZ);
#endif
// Say battle end quote....
if (fAnEnemyRetreated)
@@ -8599,16 +8525,14 @@ BOOLEAN CheckForLosingEndOfBattle( )
{
//if( GetWorldDay() > STARTDAY_ALLOW_PLAYER_CAPTURE_FOR_RESCUE && !( gStrategicStatus.uiFlags & STRATEGIC_PLAYER_CAPTURED_FOR_RESCUE ))
{
#ifdef JA2UB
if (gubQuest[QUEST_HELD_IN_ALMA] == QUESTNOTSTARTED || (gubQuest[QUEST_HELD_IN_ALMA] != QUESTINPROGRESS && gubQuest[QUEST_INTERROGATION] == QUESTNOTSTARTED))
#else
if ( gubQuest[ QUEST_HELD_IN_ALMA ] == QUESTNOTSTARTED || gubQuest[QUEST_HELD_IN_TIXA] == QUESTNOTSTARTED || (gubQuest[QUEST_HELD_IN_ALMA] != QUESTINPROGRESS && gubQuest[QUEST_HELD_IN_TIXA] != QUESTINPROGRESS && gubQuest[ QUEST_INTERROGATION ] == QUESTNOTSTARTED ) )
#endif
#ifndef JA2UB
if ( gubQuest[ QUEST_HELD_IN_ALMA ] == QUESTNOTSTARTED || gubQuest[QUEST_HELD_IN_TIXA] == QUESTNOTSTARTED || gubQuest[ QUEST_INTERROGATION ] == QUESTNOTSTARTED )
{
fDoCapture = TRUE;
// CJC Dec 1 2002: fix capture sequences
BeginCaptureSquence();
}
#endif
}
}
}
@@ -8644,8 +8568,6 @@ BOOLEAN CheckForLosingEndOfBattle( )
if ( pTeamSoldier->stats.bLife != 0 && fDoCapture )
{
EnemyCapturesPlayerSoldier( pTeamSoldier );
RemoveSoldierFromTacticalSector( pTeamSoldier, TRUE );
}
}
@@ -9308,11 +9230,6 @@ void HandleSuppressionFire( UINT16 ubTargetedMerc, UINT16 ubCausedAttacker )
{
DebugAI(AI_MSG_INFO, pSoldier, String("CancelAIAction: suppression: change stance/cower"));
CancelAIAction( pSoldier, TRUE );
#if 0
pSoldier->aiData.bAction = AI_ACTION_CHANGE_STANCE;
pSoldier->aiData.usActionData = ubNewStance;
pSoldier->aiData.bActionInProgress = TRUE;
#endif
}
// go for it!
@@ -9654,38 +9571,6 @@ SOLDIERTYPE *InternalReduceAttackBusyCount( )
UINT32 cnt;
UINT16 ubID;
#if 0
// 0verhaul: None of this is necessary anymore with the new attack busy system
if (ubID == NOBODY)
{
pSoldier = NULL;
pTarget = NULL;
}
else
{
pSoldier = MercPtrs[ ubID ];
if ( ubTargetID != NOBODY)
{
pTarget = MercPtrs[ ubTargetID ];
}
else
{
pTarget = NULL;
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String(">>Target ptr is null!" ) );
}
}
if (fCalledByAttacker)
{
if (pSoldier && Item[pSoldier->inv[HANDPOS].usItem].usItemClass & IC_GUN)
{
if (pSoldier->bBulletsLeft > 0)
{
return( pTarget );
}
}
}
#endif
// if ((gTacticalStatus.uiFlags & TURNBASED) && (gTacticalStatus.uiFlags & INCOMBAT))
// {
@@ -9726,7 +9611,7 @@ SOLDIERTYPE *InternalReduceAttackBusyCount( )
pSoldier = NULL;
if (gTacticalStatus.ubCurrentTeam == gbPlayerNum)
if (gTacticalStatus.ubCurrentTeam == gbPlayerNum && gusSelectedSoldier < TOTAL_SOLDIERS)
{
pSoldier = MercPtrs[ gusSelectedSoldier ];
}
@@ -9747,7 +9632,7 @@ SOLDIERTYPE *InternalReduceAttackBusyCount( )
// If we still haven't figured out who last acted, it could be that the team number changed during the attack. Unfortunately this
// can happen during a switch from real-time. For now we will assume the last actor was a PC, but a real "Who started this?" pointer
// would work quite well. If only I could close all the holes that the UI opens so that one routine could handle everything.
if (!pSoldier)
if (!pSoldier && gusSelectedSoldier < TOTAL_SOLDIERS)
{
if (is_networked)
{
@@ -9810,15 +9695,6 @@ SOLDIERTYPE *InternalReduceAttackBusyCount( )
return( NULL );
}
#endif
#if 0
// 0verhaul: This is moved to the end loop where everybody's state is reset for the next action
if (pTarget)
{
// reset # of shotgun pellets hit by
pTarget->bNumPelletsHitBy = 0;
// reset flag for making "ow" sound on being shot
}
#endif
if (pSoldier)
{
@@ -10111,17 +9987,6 @@ SOLDIERTYPE *InternalReduceAttackBusyCount( )
SOLDIERTYPE * ReduceAttackBusyCount( )
{
#if 0
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("ReduceAttackBusyCount") );
if ( ubID == NOBODY )
{
return( InternalReduceAttackBusyCount( ubID, fCalledByAttacker, NOBODY ) );
}
else
{
return( InternalReduceAttackBusyCount( ubID, fCalledByAttacker, MercPtrs[ ubID ]->ubTargetID ) );
}
#endif
// 0verhaul: This is now a simple subroutine.
return InternalReduceAttackBusyCount( );
}
@@ -10138,26 +10003,6 @@ SOLDIERTYPE * FreeUpAttacker( )
return( ReduceAttackBusyCount( ) );
}
#if 0
// 0verhaul: These routines are declared obsolete. Call ReduceAttackBusyCount instead.
SOLDIERTYPE * FreeUpAttackerGivenTarget( UINT8 ubID, UINT8 ubTargetID )
{
// Strange as this may seem, this function returns a pointer to
// the *target* in case the target has changed sides as a result
// of being attacked
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("FreeUpAttackerGivenTarget") );
return( InternalReduceAttackBusyCount( ubID, TRUE, ubTargetID ) );
}
SOLDIERTYPE * ReduceAttackBusyGivenTarget( UINT8 ubID, UINT8 ubTargetID )
{
// Strange as this may seem, this function returns a pointer to
// the *target* in case the target has changed sides as a result
// of being attacked
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("ReduceAttackBusyGivenTarget") );
return( InternalReduceAttackBusyCount( ubID, FALSE, ubTargetID ) );
}
#endif
void StopMercAnimation( BOOLEAN fStop )
@@ -10387,7 +10232,10 @@ void DoneFadeOutDueToDeath( )
void EndBattleWithUnconsciousGuysCallback( UINT8 bExitValue )
{
// Enter mapscreen.....
if(!is_client)CheckAndHandleUnloadingOfCurrentWorld();
if (!is_client)
{
CheckAndHandleUnloadingOfCurrentWorld();
}
else
{
ScreenMsg( FONT_LTGREEN, MSG_CHAT, MPClientMessage[40] );
@@ -10531,6 +10379,12 @@ void DoPOWPathChecks( )
pSoldier->aiData.bNeutral = FALSE;
AddCharacterToAnySquad( pSoldier );
pSoldier->DoMercBattleSound( BATTLE_SOUND_COOL1 );
// Decrement amount of prisoners
if (gStrategicStatus.ubNumCapturedForRescue > 0)
{
gStrategicStatus.ubNumCapturedForRescue--;
}
}
}
}
@@ -11181,6 +11035,107 @@ void HandleTurncoatAttempt( SOLDIERTYPE* pSoldier )
}
}
void EscapeTimerCallback()
{
const bool chanceToEscape = Chance(75);
bool escaped = false;
// Look for an escape direction for remaining mercs
std::array<WorldDirections, 4> possibleEscapeDirections{ NORTH, EAST, SOUTH, WEST };
std::random_device rd;
std::mt19937 g(rd());
std::shuffle(possibleEscapeDirections.begin(), possibleEscapeDirections.end(), g);
for (const auto direction : possibleEscapeDirections)
{
if (IsEscapeDirectionValid(direction) && chanceToEscape && gbWorldSectorZ == 0) // There is no escaping underground! For now..
{
escaped = true;
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szPrisonerTextStr[STR_PRISONER_ESCAPE]);
JumpIntoEscapedSector(direction);
break;
}
}
if (!escaped)
{
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szPrisonerTextStr[STR_PRISONER_NO_ESCAPE]);
}
}
void AttemptToCapturePlayerSoldiers()
{
#ifdef JA2UB
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szPrisonerTextStr[STR_PRISONER_REFUSE_TAKE_PRISONERS]);
#else
// in order for this to work, there must be no militia present, the enemy must not already have offered asked you to surrender, and certain quests may not be active
if (!(gTacticalStatus.fEnemyFlags & ENEMY_OFFERED_SURRENDER) && gTacticalStatus.Team[MILITIA_TEAM].bMenInSector == 0)
{
gTacticalStatus.fEnemyFlags |= ENEMY_OFFERED_SURRENDER;
if (gubQuest[QUEST_HELD_IN_ALMA] == QUESTNOTSTARTED || gubQuest[QUEST_HELD_IN_TIXA] == QUESTNOTSTARTED || gubQuest[QUEST_INTERROGATION] == QUESTNOTSTARTED)
{
BeginCaptureSquence();
const UINT8 currentPOWs = gStrategicStatus.ubNumCapturedForRescue;
// Do capture
UINT32 i = gTacticalStatus.Team[gbPlayerNum].bFirstID;
UINT32 const lastID = gTacticalStatus.Team[gbPlayerNum].bLastID;
for (SOLDIERTYPE* pSoldier = MercPtrs[i]; i <= lastID; ++i, ++pSoldier)
{
// Are we active and in sector
if (pSoldier->bActive && pSoldier->bInSector && pSoldier->bAssignment != ASSIGNMENT_POW)
{
if (pSoldier->stats.bLife != 0)
{
EnemyCapturesPlayerSoldier(pSoldier);
}
}
}
EndCaptureSequence();
if (currentPOWs < gStrategicStatus.ubNumCapturedForRescue)
{
gfSurrendered = TRUE;
}
else
{
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szPrisonerTextStr[STR_PRISONER_REFUSE_TAKE_PRISONERS]);
}
}
}
else
{
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szPrisonerTextStr[STR_PRISONER_REFUSE_TAKE_PRISONERS]);
}
if (gfSurrendered == TRUE)
{
// If we have any remaining active mercs in sector after capture, give them a chance to escape from the clutches of Deidranna's soldiers!
bool activeMercs = false;
UINT32 i = gTacticalStatus.Team[gbPlayerNum].bFirstID;
UINT32 lastId = gTacticalStatus.Team[gbPlayerNum].bLastID;
for (SOLDIERTYPE* pSoldier = MercPtrs[i]; i <= lastId; ++i, ++pSoldier)
{
// Are we active and in sector
const bool inSector = (pSoldier->sSectorX == gWorldSectorX && pSoldier->sSectorY == gWorldSectorY && pSoldier->bSectorZ == gbWorldSectorZ);
if (pSoldier->bActive && inSector && pSoldier->stats.bLife >= OKLIFE && pSoldier->bAssignment != ASSIGNMENT_POW)
{
activeMercs = true;
break;
}
}
if (activeMercs)
{
SetCustomizableTimerCallbackAndDelay(500, EscapeTimerCallback, FALSE);
}
SetCustomizableTimerCallbackAndDelay(500, CaptureTimerCallback, FALSE);
CheckForEndOfBattle(FALSE);
}
#endif
}
void PrisonerSurrenderMessageBoxCallBack( UINT8 ubExitValue )
{
SOLDIERTYPE *pSoldier = NULL;
@@ -11345,49 +11300,7 @@ void PrisonerSurrenderMessageBoxCallBack( UINT8 ubExitValue )
return;
}
// in order for this to work, there must be no militia present, the enemy must not already have offered asked you to surrender, and certain quests may not be active
if ( !( gTacticalStatus.fEnemyFlags & ENEMY_OFFERED_SURRENDER ) && gTacticalStatus.Team[ MILITIA_TEAM ].bMenInSector == 0 )
{
#ifdef JA2UB
if (gubQuest[QUEST_HELD_IN_ALMA] == QUESTNOTSTARTED || (gubQuest[QUEST_HELD_IN_ALMA] != QUESTINPROGRESS && gubQuest[QUEST_INTERROGATION] == QUESTNOTSTARTED))
#else
if (gubQuest[QUEST_HELD_IN_ALMA] == QUESTNOTSTARTED || gubQuest[QUEST_HELD_IN_TIXA] == QUESTNOTSTARTED || (gubQuest[QUEST_HELD_IN_ALMA] != QUESTINPROGRESS && gubQuest[QUEST_HELD_IN_TIXA] != QUESTINPROGRESS && gubQuest[QUEST_INTERROGATION] == QUESTNOTSTARTED))
#endif
{
gTacticalStatus.fEnemyFlags |= ENEMY_OFFERED_SURRENDER;
// CJC Dec 1 2002: fix multiple captures
BeginCaptureSquence();
// Do capture....
uiCnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
for ( pSoldier = MercPtrs[ uiCnt ]; uiCnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++uiCnt, ++pSoldier)
{
// Are we active and in sector.....
if ( pSoldier->bActive && pSoldier->bInSector )
{
if ( pSoldier->stats.bLife != 0 )
{
EnemyCapturesPlayerSoldier( pSoldier );
RemoveSoldierFromTacticalSector( pSoldier, TRUE );
}
}
}
EndCaptureSequence( );
gfSurrendered = TRUE;
SetCustomizableTimerCallbackAndDelay( 3000, CaptureTimerCallback, FALSE );
success = TRUE;
}
}
if ( !success )
{
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szPrisonerTextStr[ STR_PRISONER_REFUSE_TAKE_PRISONERS ] );
}
SetCustomizableTimerCallbackAndDelay(500, AttemptToCapturePlayerSoldiers, FALSE);
}
// we distract the enemy by essentially talking them to death
else if ( ubExitValue == 3 )
+2 -2
View File
@@ -4,7 +4,7 @@
#include <string.h>
#include <stdio.h>
#include "Soldier Control.h"
#include "overhead types.h"
#include <EditorMercs.h>
#include "soldier find.h"
#include "Campaign Types.h" // added by Flugente for SECTORINFO and UNDERGROUND_SECTORINFO
#define ADD_SOLDIER_NO_PROFILE_ID 200
@@ -432,6 +432,6 @@ void VIPFleesToMeduna();
BOOLEAN IsCivFactionMemberAliveInSector( UINT8 usCivilianGroup );
BOOLEAN IsFreeSlotAvailable( int aTeam );
void AttemptToCapturePlayerSoldiers();
#endif
-8
View File
@@ -10,12 +10,6 @@
#define _PATHAI_H
#include "isometric utils.h"
// WANNE: Please do not use ASTAR pathing,
// because it is a HUGH PERFORMANCE KILLER on big maps!!
//#define USE_ASTAR_PATHS
#ifdef USE_ASTAR_PATHS
namespace ASTAR {
#include "BinaryHeap.hpp"
#include <vector>
@@ -188,8 +182,6 @@ private:
};//end namespace ASTAR
#endif// USE_ASTAR_PATHS
BOOLEAN InitPathAI( void );
void ShutDownPathAI( void );
+28 -362
View File
@@ -8,9 +8,6 @@
Date : 1997-NOV
*/
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include <stdio.h>
#include <string.h>
#include "stdlib.h"
@@ -44,7 +41,6 @@
#include "AIinternals.h"
#include "Rotting Corpses.h"
#include "Meanwhile.h"
#endif
#include "connect.h"
#include "LOS.h" //ddd
@@ -53,12 +49,12 @@
class OBJECTTYPE;
class SOLDIERTYPE;
#ifdef USE_ASTAR_PATHS
#include "BinaryHeap.hpp"
#include "AIInternals.h"
#include "opplist.h"
#include "weapons.h"
#endif
extern BOOLEAN gubWorldTileInLight[MAX_ALLOWED_WORLD_MAX];
extern BOOLEAN gubIsCorpseThere[MAX_ALLOWED_WORLD_MAX];
extern INT32 gubMerkCanSeeThisTile[MAX_ALLOWED_WORLD_MAX];
//#include "dnlprocesstalk.h"//dnl???
extern UINT16 gubAnimSurfaceIndex[ TOTALBODYTYPES ][ NUMANIMATIONSTATES ];
@@ -458,9 +454,6 @@ UINT32 guiFailedPathChecks = 0;
UINT32 guiUnsuccessfulPathChecks = 0;
#endif
#ifdef USE_ASTAR_PATHS
//ADB the extra cover feature is supposed to pick a path of the same distance as one calculated with the feature off,
//but a safer path, usually farther away from an enemy or following behind some cover.
//however it has not been tested and it may need some work, I haven't touched it in a while
@@ -651,7 +644,7 @@ int AStarPathfinder::GetPath(SOLDIERTYPE *s ,
fCloseGoodEnough = ( (fFlags & PATH_CLOSE_GOOD_ENOUGH) != 0);
fConsiderPersonAtDestAsObstacle = (BOOLEAN)( fPathingForPlayer && fPathAroundPeople && !(fFlags & PATH_IGNORE_PERSON_AT_DEST) );
if ( fNonSwimmer && Water( dest ) )
if ( fNonSwimmer && Water( dest, 0 ) )
{
DebugMsg( TOPIC_JA2, DBG_LEVEL_0, String( "ASTAR: path failed, water" ) );
return( 0 );
@@ -712,7 +705,6 @@ int AStarPathfinder::GetPath(SOLDIERTYPE *s ,
guiTotalPathChecks++;
#endif
#ifdef VEHICLE
fMultiTile = ((pSoldier->flags.uiStatusFlags & SOLDIER_MULTITILE) != 0);
if ( fMultiTile == false)
@@ -762,7 +754,6 @@ int AStarPathfinder::GetPath(SOLDIERTYPE *s ,
fContinuousTurnNeeded = FALSE;
}
}
#endif
if (fContinuousTurnNeeded == false)
{
@@ -806,17 +797,6 @@ int AStarPathfinder::GetPath(SOLDIERTYPE *s ,
if (gfDisplayCoverValues && gfDrawPathPoints)
{
SetRenderFlags( RENDER_FLAG_FULL );
// The RenderCoverDebugInfo call is now made by RenderWorld. So don't try to call it here
#if 0
if ( guiCurrentScreen == GAME_SCREEN )
{
RenderWorld();
RenderCoverDebug( );
InvalidateScreen( );
EndFrameBufferRender();
RefreshScreen( NULL );
}
#endif
}
#endif
@@ -905,13 +885,6 @@ int AStarPathfinder::GetPath(SOLDIERTYPE *s ,
if (gfDisplayCoverValues && gfDrawPathPoints)
{
SetRenderFlags( RENDER_FLAG_FULL );
#if 0
RenderWorld();
RenderCoverDebug( );
InvalidateScreen( );
EndFrameBufferRender();
RefreshScreen( NULL );
#endif
}
#endif
@@ -1092,7 +1065,6 @@ void AStarPathfinder::ExecuteAStarLogic()
continue;
}
#ifdef VEHICLE
//has side effects, including setting loop counters
int retVal = VehicleObstacleCheck();
if (retVal == 1)
@@ -1103,7 +1075,6 @@ void AStarPathfinder::ExecuteAStarLogic()
{
return;
}
#endif
//calc the cost to move from the current node to here
INT16 terrainCost = EstimateActionPointCost( pSoldier, CurrentNode, direction, movementMode, 0, 3 );
@@ -1416,7 +1387,7 @@ INT16 AStarPathfinder::CalcAP(int const terrainCost, UINT8 const direction)
}
// Flugente: dragging someone
if ( pSoldier->IsDraggingSomeone( ) )
if ( pSoldier->IsDragging( false ) )
{
movementAPCost *= gItemSettings.fDragAPCostModifier;
}
@@ -1483,268 +1454,6 @@ INT16 AStarPathfinder::CalcAP(int const terrainCost, UINT8 const direction)
return movementAPCost;
}
int AStarPathfinder::CalcG(int* pPrevCost)
{
//how much is admission to the next tile
if ( gfPathAroundObstacles == false)
{
return TRAVELCOST_FLAT;
}
int nextCost = gubWorldMovementCosts[ CurrentNode ][ direction ][ onRooftop ];
*pPrevCost = nextCost;
//if we are holding down shift and finding a direct path, count non obstacles as flat terrain
if (gfPlotDirectPath && nextCost < NOPASS && nextCost != 0)
{
return TRAVELCOST_FLAT;
}
//performance: if nextCost is low then do not do many many if == checks
if ( nextCost >= TRAVELCOST_FENCE )
{
//ATE: Check for differences from reality
// Is next cost an obstcale
if ( nextCost == TRAVELCOST_HIDDENOBSTACLE )
{
if ( fPathingForPlayer )
{
// Is this obstacle a hidden tile that has not been revealed yet?
BOOLEAN fHiddenStructVisible;
if( DoesGridNoContainHiddenStruct( CurrentNode, &fHiddenStructVisible ) )
{
// Are we not visible, if so use terrain costs!
if ( !fHiddenStructVisible )
{
// Set cost of terrain!
nextCost = gTileTypeMovementCost[ gpWorldLevelData[ CurrentNode ].ubTerrainID ];
}
}
}
}
else if ( nextCost == TRAVELCOST_NOT_STANDING )
{
// for path plotting purposes, use the terrain value
nextCost = gTileTypeMovementCost[ gpWorldLevelData[ CurrentNode ].ubTerrainID ];
}
else if ( nextCost == TRAVELCOST_EXITGRID )
{
if (gfPlotPathToExitGrid)
{
// replace with terrain cost so that we can plot path, otherwise is obstacle
nextCost = gTileTypeMovementCost[ gpWorldLevelData[ CurrentNode ].ubTerrainID ];
}
}
//ddd: window. { check 2 conditions: 1. if next tile is a window and we will have to hump through it
//2. if current tile is a window and we should jump through the window to reach another tile
else if ( nextCost == TRAVELCOST_JUMPABLEWINDOW
|| nextCost == TRAVELCOST_JUMPABLEWINDOW_N
|| nextCost == TRAVELCOST_JUMPABLEWINDOW_W)
{
// don't let anyone path diagonally through doors!
if (IsDiagonal(direction) == true)
{
return -1;
}
nextCost = gTileTypeMovementCost[ gpWorldLevelData[ CurrentNode ].ubTerrainID ];//?
}
//ddd: window }
else if ( nextCost == TRAVELCOST_FENCE && fNonFenceJumper )
{
return -1;
}
else if ( IS_TRAVELCOST_DOOR( nextCost ) )
{
// don't let anyone path diagonally through doors!
if (IsDiagonal(direction) == true)
{
return -1;
}
INT32 iDoorGridNo = CurrentNode;
bool fDoorIsObstacleIfClosed = FALSE;
bool fDoorIsOpen = false;
switch( nextCost )
{
case TRAVELCOST_DOOR_CLOSED_HERE:
fDoorIsObstacleIfClosed = TRUE;
iDoorGridNo = CurrentNode;
break;
case TRAVELCOST_DOOR_CLOSED_N:
fDoorIsObstacleIfClosed = TRUE;
iDoorGridNo = CurrentNode + dirDelta[ NORTH ];
break;
case TRAVELCOST_DOOR_CLOSED_W:
fDoorIsObstacleIfClosed = TRUE;
iDoorGridNo = CurrentNode + dirDelta[ WEST ];
break;
case TRAVELCOST_DOOR_OPEN_HERE:
iDoorGridNo = CurrentNode;
break;
case TRAVELCOST_DOOR_OPEN_N:
iDoorGridNo = CurrentNode + dirDelta[ NORTH ];
break;
case TRAVELCOST_DOOR_OPEN_NE:
iDoorGridNo = CurrentNode + dirDelta[ NORTHEAST ];
break;
case TRAVELCOST_DOOR_OPEN_E:
iDoorGridNo = CurrentNode + dirDelta[ EAST ];
break;
case TRAVELCOST_DOOR_OPEN_SE:
iDoorGridNo = CurrentNode + dirDelta[ SOUTHEAST ];
break;
case TRAVELCOST_DOOR_OPEN_S:
iDoorGridNo = CurrentNode + dirDelta[ SOUTH ];
break;
case TRAVELCOST_DOOR_OPEN_SW:
iDoorGridNo = CurrentNode + dirDelta[ SOUTHWEST ];
break;
case TRAVELCOST_DOOR_OPEN_W:
iDoorGridNo = CurrentNode + dirDelta[ WEST ];
break;
case TRAVELCOST_DOOR_OPEN_NW:
iDoorGridNo = CurrentNode + dirDelta[ NORTHWEST ];
break;
case TRAVELCOST_DOOR_OPEN_N_N:
iDoorGridNo = CurrentNode + dirDelta[ NORTH ] + dirDelta[ NORTH ];
break;
case TRAVELCOST_DOOR_OPEN_NW_N:
iDoorGridNo = CurrentNode + dirDelta[ NORTHWEST ] + dirDelta[ NORTH ];
break;
case TRAVELCOST_DOOR_OPEN_NE_N:
iDoorGridNo = CurrentNode + dirDelta[ NORTHEAST ] + dirDelta[ NORTH ];
break;
case TRAVELCOST_DOOR_OPEN_W_W:
iDoorGridNo = CurrentNode + dirDelta[ WEST ] + dirDelta[ WEST ];
break;
case TRAVELCOST_DOOR_OPEN_SW_W:
iDoorGridNo = CurrentNode + dirDelta[ SOUTHWEST ] + dirDelta[ WEST ];
break;
case TRAVELCOST_DOOR_OPEN_NW_W:
iDoorGridNo = CurrentNode + dirDelta[ NORTHWEST ] + dirDelta[ WEST ];
break;
default:
break;
}
if ( fPathingForPlayer && gpWorldLevelData[ iDoorGridNo ].ubExtFlags[0] & MAPELEMENT_EXT_DOOR_STATUS_PRESENT )
{
// check door status
DOOR_STATUS* pDoorStatus = GetDoorStatus( iDoorGridNo );
if (pDoorStatus)
{
fDoorIsOpen = (pDoorStatus->ubFlags & DOOR_PERCEIVED_OPEN) != 0;
}
else
{
// door destroyed?
nextCost = gTileTypeMovementCost[ gpWorldLevelData[ CurrentNode ].ubTerrainID ];
}
}
else
{
// check door structure
STRUCTURE* pDoorStructure = FindStructure( iDoorGridNo, STRUCTURE_ANYDOOR );
if (pDoorStructure)
{
fDoorIsOpen = (pDoorStructure->fFlags & STRUCTURE_OPEN) != 0;
}
else
{
// door destroyed?
nextCost = gTileTypeMovementCost[ gpWorldLevelData[ CurrentNode ].ubTerrainID ];
}
}
// now determine movement cost... if it hasn't been changed already
if ( IS_TRAVELCOST_DOOR( nextCost ) )
{
if (fDoorIsOpen)
{
if (fDoorIsObstacleIfClosed)
{
nextCost = gTileTypeMovementCost[ gpWorldLevelData[ CurrentNode ].ubTerrainID ];
}
else
{
nextCost = TRAVELCOST_OBSTACLE;
}
}
else
{
if (fDoorIsObstacleIfClosed)
{
// door is closed and this should be an obstacle, EXCEPT if we are calculating
// a path for an enemy or NPC with keys
if ( fPathingForPlayer || ( pSoldier && (pSoldier->flags.uiStatusFlags & (SOLDIER_MONSTER | SOLDIER_ANIMAL) ) ) )
{
nextCost = TRAVELCOST_OBSTACLE;
}
else
{
// have to check if door is locked and NPC does not have keys!
// This function has an inaccurate name. It is actually checking if the door has LOCK info.
DOOR* pDoor = FindDoorInfoAtGridNo( iDoorGridNo );
if (pDoor)
{
if (!pDoor->fLocked || pSoldier->flags.bHasKeys)
{
// add to AP cost
//if (maxAPBudget)
{
fGoingThroughDoor = TRUE;
}
nextCost = gTileTypeMovementCost[ gpWorldLevelData[ CurrentNode ].ubTerrainID ];
}
else
{
nextCost = TRAVELCOST_OBSTACLE;
}
}
else
{
// The door is closed, so we still have to open it
fGoingThroughDoor = TRUE;
nextCost = gTileTypeMovementCost[ gpWorldLevelData[ CurrentNode ].ubTerrainID ];
}
}
}
else
{
nextCost = gTileTypeMovementCost[ gpWorldLevelData[ CurrentNode ].ubTerrainID ];
}
}
}
}
else if ( fNonSwimmer && ISWATER( gpWorldLevelData[ CurrentNode ].ubTerrainID))
{
// creatures and animals can't go in water
nextCost = TRAVELCOST_OBSTACLE;
}
}
// Apr. '96 - moved up be ahead of AP_Budget stuff
if ( nextCost >= NOPASS ) // || ( nextCost == TRAVELCOST_DOOR ) )
{
return -1;
}
// make water cost attractive for water to water paths
// Why? If a path through water gets you there sooner, you shouldn't need
// artificial inflation to figure that out. And if not, then get out of the water!
//if (bWaterToWater && ISWATER(nextCost) )
//{
// nextCost = EASYWATERCOST;
//}
return nextCost;
}//end CalcG
int AStarPathfinder::CalcH()
{
if ( fCopyReachable )
@@ -1773,7 +1482,6 @@ int AStarPathfinder::CalcH()
int x = abs(n1->x - n2->x);
int y = abs(n1->y - n2->y);
#if 1
if (x >= y)
{
return this->travelcostDiag * y + this->travelcostOrth * (x-y);
@@ -1782,35 +1490,6 @@ int AStarPathfinder::CalcH()
{
return this->travelcostDiag * x + this->travelcostOrth * (y-x);
}
#else
// Try a real distance method. This should underestimate in some cases
// However, the distances need to be increased for the moment because running orthogonal is 1AP while running diagonal is 2AP
// so the total to reach a diagonal tile is identical for 2 moves. So we have to trick the pathing calc into thinking it's
// a longer distance and also calculate the other costs accordingly.
x *= 100;
y *= 100;
int d = x*x + y*y;
int r = 1200; // Just a guess
if (d == 0)
{
return d;
}
while (1)
{
int gr = (r + (d/r)) / 2;
if (gr == r || gr == r+1)
{
break;
}
r = gr;
}
return r * travelcostOrth;
#endif
}
#ifdef ASTAR_USING_EXTRACOVER
@@ -2120,7 +1799,6 @@ int AStarPathfinder::CalcCoverValue(INT32 sMyGridNo, INT32 iMyThreat, INT32 iMyA
}
#endif //#ifdef ASTAR_USING_EXTRACOVER
#ifdef VEHICLE
void AStarPathfinder::InitVehicle()
{
fMultiTile = ((pSoldier->flags.uiStatusFlags & SOLDIER_MULTITILE) != 0);
@@ -2267,7 +1945,6 @@ int AStarPathfinder::VehicleObstacleCheck()
}
return 0;
}
#endif
bool AStarPathfinder::WantToTraverse()
{
@@ -2415,7 +2092,6 @@ bool AStarPathfinder::IsSomeoneInTheWay()
return false;
}
#endif//end ifdef USE_ASTAR_PATHS
INT8 RandomSkipListLevel( void )
{
@@ -2488,27 +2164,29 @@ INT32 FindBestPath(SOLDIERTYPE *s , INT32 sDestination, INT8 bLevel, INT16 usMov
{
s->sPlotSrcGrid = s->sGridNo;
#ifdef USE_ASTAR_PATHS
//ddd
CHAR8 errorBuf[511]; UINT32 b,e;
b=GetJA2Clock();//return s->sGridNo+6;
int retVal = ASTAR::AStarPathfinder::GetInstance().GetPath(s, sDestination, bLevel, usMovementMode, bCopy, fFlags);
e=GetJA2Clock();sprintf(errorBuf, "timefind bestpath= %d",e-b );LiveMessage(errorBuf);
if (retVal || TileIsOutOfBounds(sDestination)) {
return retVal;
}
else {
DebugMsg( TOPIC_JA2, DBG_LEVEL_0, String( "ASTAR path failed!" ) );
}
// if (TileIsOutOfBounds(sDestination))
if (gGameSettings.fOptions[TOPTION_ALT_PATHFINDING])
{
return 0;
CHAR8 errorBuf[511]; UINT32 b,e;
b=GetJA2Clock();//return s->sGridNo+6;
int retVal = ASTAR::AStarPathfinder::GetInstance().GetPath(s, sDestination, bLevel, usMovementMode, bCopy, fFlags);
e=GetJA2Clock();sprintf(errorBuf, "timefind bestpath= %d",e-b );LiveMessage(errorBuf);
if (retVal || TileIsOutOfBounds(sDestination)) {
return retVal;
}
else {
DebugMsg( TOPIC_JA2, DBG_LEVEL_0, String( "ASTAR path failed!" ) );
}
// if (TileIsOutOfBounds(sDestination))
{
return 0;
}
}
#else
else
{
//__try
//{
INT32 iDestination = sDestination, iOrigination;
@@ -2527,7 +2205,6 @@ b=GetJA2Clock();//return s->sGridNo+6;
INT32 iWaterToWater;
INT16 ubCurAPCost,ubAPCost;
INT16 ubNewAPCost=0;
#ifdef VEHICLE
//BOOLEAN fTurnSlow = FALSE;
//BOOLEAN fReverse = FALSE; // stuff for vehicles turning
BOOLEAN fMultiTile, fVehicle;
@@ -2538,7 +2215,6 @@ b=GetJA2Clock();//return s->sGridNo+6;
UINT16 usAnimSurface;
//INT32 iCnt2, iCnt3;
BOOLEAN fVehicleIgnoreObstacles = FALSE;
#endif
INT32 iLastDir = 0;
@@ -2640,9 +2316,7 @@ if(!GridNoOnVisibleWorldTile(iDestination))
fTurnBased = ( (gTacticalStatus.uiFlags & TURNBASED) && (gTacticalStatus.uiFlags & INCOMBAT) );
fPathingForPlayer = ( (s->bTeam == gbPlayerNum) && (!gTacticalStatus.fAutoBandageMode) && !(s->flags.uiStatusFlags & SOLDIER_PCUNDERAICONTROL) );
fNonFenceJumper = !( IS_MERC_BODY_TYPE( s ) ) || (UsingNewInventorySystem() == true && s->inv[BPACKPOCKPOS].exists() == true
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)s->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[s->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[s->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)));//Moa: added backpack check
fNonFenceJumper = !( IS_MERC_BODY_TYPE( s ) ) || (!s->CanClimbWithCurrentBackpack());//Moa: added backpack check
// Flugente: nonswimmers are those who are not mercs and not boats
fNonSwimmer = !(IS_MERC_BODY_TYPE( s ) );
@@ -2763,7 +2437,6 @@ if(!GridNoOnVisibleWorldTile(iDestination))
guiTotalPathChecks++;
#endif
#ifdef VEHICLE
fMultiTile = ((s->flags.uiStatusFlags & SOLDIER_MULTITILE) != 0);
if (fMultiTile)
@@ -2823,7 +2496,6 @@ if(!GridNoOnVisibleWorldTile(iDestination))
fContinuousTurnNeeded = FALSE;
}
#endif
if (!fContinuousTurnNeeded)
{
@@ -2966,7 +2638,6 @@ if(!GridNoOnVisibleWorldTile(iDestination))
}
#endif
#ifdef VEHICLE
/*
if (fTurnSlow)
{
@@ -2991,7 +2662,6 @@ if(!GridNoOnVisibleWorldTile(iDestination))
}
*/
#endif
if (gubNPCAPBudget)
{
@@ -3052,7 +2722,6 @@ if(!GridNoOnVisibleWorldTile(iDestination))
//for ( iCnt = iLoopStart; iCnt != iLoopEnd; iCnt = (iCnt + iLoopIncrement) % MAXDIR )
for ( iCnt = iLoopStart; ; )
{
#ifdef VEHICLE
/*
if (fTurnSlow)
{
@@ -3134,7 +2803,6 @@ if(!GridNoOnVisibleWorldTile(iDestination))
}
}
#endif
newLoc = curLoc + dirDelta[iCnt];
@@ -3483,7 +3151,6 @@ if(!GridNoOnVisibleWorldTile(iDestination))
}
}
#ifdef VEHICLE
if (fMultiTile)
{
// vehicle test for obstacles: prevent movement to next tile if
@@ -3522,7 +3189,6 @@ if(!GridNoOnVisibleWorldTile(iDestination))
}
*/
}
#endif
// NEW Apr 21 by Ian: abort if cost exceeds budget
if (gubNPCAPBudget)
@@ -4280,7 +3946,7 @@ ENDOFLOOP:
//{
// return (0);
//}
#endif
}
}
void GlobalReachableTest( INT32 sStartGridNo )
+1 -281
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "sgp.h"
#include "worlddef.h"
#include "points.h"
@@ -39,7 +36,6 @@
#include "Food.h" // added by Flugente
#include "AIInternals.h" //dnl ch69 150913
#include "CampaignStats.h" // added by Flugente
#endif
#include "connect.h"
#include "GameInitOptionsScreen.h"
@@ -122,9 +118,7 @@ INT16 TerrainActionPoints( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bDir, INT8
//CHRISL: We can't jump a fence while wearing a backpack, to consider fences as impassible
// SANDRO - Headrocks change to backpack check implemented
if(sSwitchValue == TRAVELCOST_FENCE && UsingNewInventorySystem() == true && pSoldier->inv[BPACKPOCKPOS].exists() == true
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
if(sSwitchValue == TRAVELCOST_FENCE && !pSoldier->CanClimbWithCurrentBackpack())
{
return(-1);
}
@@ -683,7 +677,6 @@ INT16 EstimateActionPointCost( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bDir,
// Get switch value...
sSwitchValue = gubWorldMovementCosts[ sGridNo ][ bDir ][ pSoldier->pathing.bLevel ];
#if 1 //Moa: set to 0 to use original copy and paste code from ActionPointCost()
if ( sSwitchValue == TRAVELCOST_FENCE )
{
// If we are changeing stance ( either before or after getting there....
@@ -741,191 +734,6 @@ INT16 EstimateActionPointCost( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bDir,
sPoints += ActionPointCost( pSoldier, sGridNo, bDir, usMovementMode );
return (sPoints);
#else
// Tile cost should not be reduced based on movement mode...
if ( sSwitchValue == TRAVELCOST_FENCE )
{
return( sTileCost );
}
// WANNE.WATER: If our soldier is not on the ground level and the tile is a "water" tile, then simply set the tile to "FLAT_GROUND"
// This should fix "problems" for special modified maps
UINT8 ubTerrainID = gpWorldLevelData[ sGridNo ].ubTerrainID;
if ( TERRAIN_IS_WATER( ubTerrainID) && pSoldier->pathing.bLevel > 0 )
ubTerrainID = FLAT_GROUND;
// ATE - MAKE MOVEMENT ALWAYS WALK IF IN WATER
if ( TERRAIN_IS_WATER( ubTerrainID) )
{
usMovementMode = WALKING;
}
// so, then we must modify it for other movement styles and accumulate
// CHRISL: Adjusted system to use different move costs while wearing a backpack
if (sTileCost > 0)
{
///////////////////////////////////////////////////////////////////////////////////////////////////////////
// SANDRO - This part have been modified "a bit"
// Check movement modifiers
switch( usMovementMode )
{
case RUNNING:
case ADULTMONSTER_WALKING:
case BLOODCAT_RUN:
sPoints = sTileCost + APBPConstants[AP_MODIFIER_RUN];
break;
case CROW_FLY:
case SIDE_STEP:
case WALK_BACKWARDS:
case ROBOT_WALK:
case BLOODCAT_WALK_BACKWARDS:
case MONSTER_WALK_BACKWARDS:
case LARVAE_WALK:
case WALKING :
case WALKING_ALTERNATIVE_RDY :
case SIDE_STEP_ALTERNATIVE_RDY :
sPoints = sTileCost + APBPConstants[AP_MODIFIER_WALK];
if (!(pSoldier->MercInWater()) && ( (gAnimControl[ pSoldier->usAnimState ].uiFlags & ANIM_FIREREADY ) || (gAnimControl[ pSoldier->usAnimState ].uiFlags & ANIM_FIRE ) ) && !(gAnimControl[ pSoldier->usAnimState ].uiFlags & ANIM_ALT_WEAPON_HOLDING ) )
{
sPoints += APBPConstants[AP_MODIFIER_READY];
}
break;
case SIDE_STEP_WEAPON_RDY:
case SIDE_STEP_DUAL_RDY:
case WALKING_WEAPON_RDY:
case WALKING_DUAL_RDY:
sPoints = sTileCost + APBPConstants[AP_MODIFIER_WALK] + APBPConstants[AP_MODIFIER_READY];
break;
case START_SWAT:
case SWAT_BACKWARDS:
case SWATTING:
sPoints = sTileCost + APBPConstants[AP_MODIFIER_SWAT];
break;
case CRAWLING:
sPoints = sTileCost + APBPConstants[AP_MODIFIER_CRAWL];
break;
default:
// Invalid movement mode
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("Invalid movement mode %d used in ActionPointCost", usMovementMode ) );
sPoints = sTileCost;
break;
}
// Check for reverse mode
if ( pSoldier->bReverse || gUIUseReverse )
sPoints += APBPConstants[AP_REVERSE_MODIFIER];
// STOMP traits - Athletics trait decreases movement cost
if ( gGameOptions.fNewTraitSystem && HAS_SKILL_TRAIT( pSoldier, ATHLETICS_NT ))
{
sPoints = max(1, (INT16)((sPoints * (100 - gSkillTraitValues.ubATAPsMovementReduction) / 100) + 0.5));
}
// Flugente: riot shields lower movement speed
if ( pSoldier->IsRiotShieldEquipped( ) )
sPoints *= gItemSettings.fShieldMovementAPCostModifier;
// Flugente: dragging someone
if ( pSoldier->IsDraggingSomeone( ) )
sPoints *= gItemSettings.fDragAPCostModifier;
// Check if doors if not player's merc (they have to open them manually)
if ( sSwitchValue == TRAVELCOST_DOOR && pSoldier->bTeam != gbPlayerNum )
{
sPoints += GetAPsToOpenDoor( pSoldier ) + GetAPsToOpenDoor( pSoldier ); // Include open and close costs!
}
// Check for stealth mode
if ( pSoldier->bStealthMode )
{
// STOMP traits - Stealthy trait decreases stealth AP modifier
if ( gGameOptions.fNewTraitSystem && HAS_SKILL_TRAIT( pSoldier, STEALTHY_NT ))
{
sPoints += (max(0, (INT16)((APBPConstants[AP_STEALTH_MODIFIER] * (100 - gSkillTraitValues.ubSTStealthModeSpeedBonus) / 100) + 0.5)));
}
else
{
sPoints += APBPConstants[AP_STEALTH_MODIFIER];
}
}
// Check for backpack
if((UsingNewInventorySystem() == true) && FindBackpackOnSoldier( pSoldier ) != ITEM_NOT_FOUND )
sPoints += APBPConstants[AP_MODIFIER_PACK];
///////////////////////////////////////////////////////////////////////////////////////////////////////////
}
// Get switch value...
sSwitchValue = gubWorldMovementCosts[ sGridNo ][ bDir ][ pSoldier->pathing.bLevel ];
// ATE: If we have a 'special cost, like jump fence...
if ( sSwitchValue == TRAVELCOST_FENCE )
{
// If we are changeing stance ( either before or after getting there....
// We need to reflect that...
switch(usMovementMode)
{
case SIDE_STEP:
case SIDE_STEP_WEAPON_RDY:
case SIDE_STEP_DUAL_RDY:
case WALK_BACKWARDS:
case RUNNING:
case WALKING :
case WALKING_WEAPON_RDY:
case WALKING_DUAL_RDY:
case WALKING_ALTERNATIVE_RDY :
case SIDE_STEP_ALTERNATIVE_RDY:
// Add here cost to go from crouch to stand AFTER fence hop....
// Since it's AFTER.. make sure we will be moving after jump...
if ( ( bPathIndex + 2 ) < bPathLength )
{
sPoints += GetAPsCrouch(pSoldier, TRUE); // SANDRO changed..
}
break;
case SWATTING:
case START_SWAT:
case SWAT_BACKWARDS:
// Add cost to stand once there BEFORE....
sPoints += GetAPsCrouch(pSoldier, TRUE); // SANDRO changed..
break;
case CRAWLING:
// Can't do it here.....
break;
}
}
else if (sSwitchValue == TRAVELCOST_NOT_STANDING)
{
switch(usMovementMode)
{
case RUNNING:
case WALKING :
case WALKING_WEAPON_RDY:
case WALKING_DUAL_RDY:
case SIDE_STEP:
case SIDE_STEP_WEAPON_RDY:
case SIDE_STEP_DUAL_RDY:
case WALK_BACKWARDS:
case WALKING_ALTERNATIVE_RDY :
case SIDE_STEP_ALTERNATIVE_RDY:
// charge crouch APs for ducking head!
sPoints += GetAPsCrouch(pSoldier, TRUE); // SANDRO changed..
break;
default:
break;
}
}
return( sPoints );
#endif
}
@@ -2567,20 +2375,6 @@ INT16 MinAPsToShootOrStab(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT16 bAimTime,
// Do we need to stand up?
bAPCost += GetAPsToChangeStance( pSoldier, ANIM_STAND );
}
#if 0//dnl ch73 021013 relocate this to MinAPsToPunch
// blunt weapons & blades
else if ( Item[ usUBItem ].usItemClass == IC_PUNCH || Item[ usUBItem ].usItemClass == IC_BLADE )
{
if ( usTargID != NOBODY )
{
// Check if target is prone, if so, calc cost...
if ( gAnimControl[ MercPtrs[ usTargID ]->usAnimState ].ubEndHeight == ANIM_PRONE )
bAPCost += GetAPsToChangeStance( pSoldier, ANIM_CROUCH );
else
bAPCost += GetAPsToChangeStance( pSoldier, ANIM_STAND );
}
}
#endif
else if(Item[usItem].rocketlauncher || Item[usItem].grenadelauncher || Item[usItem].mortar)//dnl ch72 260913 move this here from bottom, need to change as rocketlaucher could be fired from crouch too
{
if(gAnimControl[pSoldier->usAnimState].ubEndHeight == ANIM_PRONE || Item[usItem].mortar && gAnimControl[pSoldier->usAnimState].ubEndHeight == ANIM_STAND)
@@ -2598,10 +2392,6 @@ INT16 MinAPsToShootOrStab(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT16 bAimTime,
//Calculate usTurningCost
if (!TileIsOutOfBounds(sGridNo))
{
#if 0//dnl ch73 021013 relocate this to MinAPsToPunch
// Buggler: actual melee ap deduction for turning applies only when target is 1 tile away
if ( !( ( Item[ usUBItem ].usItemClass == IC_PUNCH || Item[ usUBItem ].usItemClass == IC_BLADE ) && usRange > 1 ) )
#endif
{
if(Item[usItem].rocketlauncher || Item[usItem].grenadelauncher || Item[usItem].mortar)//dnl ch72 260913
{
@@ -2656,11 +2446,6 @@ INT16 MinAPsToShootOrStab(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT16 bAimTime,
bAPCost += APBPConstants[AP_UNJAM];
}
#if 0//dnl ch63 240813 this seems very wrong, in most case (pSoldier->bActionPoints > bFullAps) and this will return less points then is actually required and could cancel some AI actions, like throwing grenades
// the minimum AP cost of ANY shot can NEVER be more than merc's maximum APs!
if ( bAPCost > bFullAPs )
bAPCost = bFullAPs;
#endif
// this SHOULD be impossible, but nevertheless...
if ( bAPCost < 1 )
bAPCost = 1;
@@ -3816,73 +3601,8 @@ INT16 MinAPsToThrow( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT8 ubAddTurningCos
INT32 iFullAPs;
INT32 iAPCost = APBPConstants[AP_MIN_AIM_ATTACK];
UINT16 usInHand;
#if 0//dnl ch72 180913
UINT16 usTargID;
UINT32 uiMercFlags;
UINT8 ubDirection;
if(pSoldier->bWeaponMode == WM_ATTACHED_GL || pSoldier->bWeaponMode == WM_ATTACHED_GL_BURST || pSoldier->bWeaponMode == WM_ATTACHED_GL_AUTO)//dnl ch63 240813
usInHand = GetAttachedGrenadeLauncher(&pSoldier->inv[HANDPOS]);
else
#endif
// make sure the guy's actually got a throwable item in his hand!
usInHand = pSoldier->inv[HANDPOS].usItem;
#if 0//dnl ch72 180913 this goes down because of new trait system
if ( ( !(Item[ usInHand ].usItemClass & IC_GRENADE) &&
!(Item[ usInHand ].usItemClass & IC_LAUNCHER)) )
{
//AXP 25.03.2007: See if we are about to throw grenade (grenade was not in hand, but in temp object)
if ( pSoldier->pTempObject != NULL && pSoldier->pThrowParams != NULL &&
pSoldier->pThrowParams->ubActionCode == THROW_ARM_ITEM && (Item[ pSoldier->pTempObject->usItem ].usItemClass & IC_GRENADE) )
{
//nothing here
}
else
{
#ifdef JA2TESTVERSION
ScreenMsg( MSG_FONT_YELLOW, MSG_DEBUG, L"MinAPsToThrow - Called when in-hand item is %d", usInHand );
#endif
return(0);
}
}
if (!TileIsOutOfBounds(sGridNo))
{
// Given a gridno here, check if we are on a guy - if so - get his gridno
if ( FindSoldier( sGridNo, &usTargID, &uiMercFlags, FIND_SOLDIER_GRIDNO ) )
{
sGridNo = MercPtrs[ usTargID ]->sGridNo;
}
/*// OK, get a direction and see if we need to turn...
if (ubAddTurningCost)
{
ubDirection = (UINT8)GetDirectionFromGridNo( sGridNo, pSoldier );
// Is it the same as he's facing?
if ( ubDirection != pSoldier->ubDirection )
{
//Lalien: disabled it again
//AXP 25.03.2007: Reenabled look cost
//iAPCost += GetAPsToLook( pSoldier );
}
}*/
}
/*else
{
// Assume we need to add cost!
//iAPCost += GetAPsToLook( pSoldier );
}*/
// if attacking a new target (or if the specific target is uncertain)
//AXP 25.03.2007: Aim-at-same-tile AP cost/bonus doesn't make any sense for thrown objects
//if ( ( sGridNo != pSoldier->sLastTarget ) )
//{
// iAPCost += APBPConstants[AP_CHANGE_TARGET];
//}
//iAPCost += GetAPsToChangeStance( pSoldier, ANIM_STAND ); // moved lower - SANDRO
#endif
// Calculate default top & bottom of the magic "aiming" formula)
-4
View File
@@ -1,9 +1,5 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "sgp.h"
#include "qarray.h"
#endif
QARRAY_VALUES QuoteExp[NUM_PROFILES];
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "types.h"
//#include "soldier control.h"
#include "overhead.h"
@@ -41,7 +38,6 @@
#include "line.h"
#include "overhead map.h"
#include "interface dialogue.h"
#endif
#include "Rain.h"
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include <stdio.h>
#include <string.h>
#include "stdlib.h"
@@ -11,7 +8,6 @@
#include "Random.h"
#include "Campaign.h"
#endif
#include "XML.h"
+4 -66
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include <stdio.h>
#include <string.h>
#include "stdlib.h"
@@ -65,7 +62,6 @@
#include "Vehicles.h" // anv: for switching from soldier to vehicle
#include "VehicleMenu.h"
#endif
//forward declarations of common classes to eliminate includes
@@ -802,28 +798,6 @@ void QueryRTLeftButton( UINT32 *puiNewEvent )
{
// ATE: Select everybody in squad and make move!
{
#if 0
SOLDIERTYPE * pTeamSoldier;
INT32 cnt;
SOLDIERTYPE *pFirstSoldier = NULL;
// OK, loop through all guys who are 'multi-selected' and
// check if our currently selected guy is amoung the
// lucky few.. if not, change to a guy who is...
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt++, pTeamSoldier++ )
{
// Default turn off
pTeamSoldier->flags.uiStatusFlags &= (~SOLDIER_MULTI_SELECTED );
// If controllable
if ( OK_CONTROLLABLE_MERC( pTeamSoldier ) && pTeamSoldier->bAssignment == MercPtrs[ gusSelectedSoldier ]->bAssignment )
{
pTeamSoldier->flags.uiStatusFlags |= SOLDIER_MULTI_SELECTED;
}
}
EndMultiSoldierSelection( FALSE );
#endif
// Make move!
*puiNewEvent = C_MOVE_MERC;
@@ -892,36 +866,6 @@ void QueryRTLeftButton( UINT32 *puiNewEvent )
}
#if 0
fDone = FALSE;
if( GetSoldier( &pSoldier, gusUIFullTargetID ) && gpItemPointer == NULL )
{
if( ( guiUIFullTargetFlags & OWNED_MERC ) && ( guiUIFullTargetFlags & VISIBLE_MERC ) && !( guiUIFullTargetFlags & DEAD_MERC ) &&( pSoldier->bAssignment >= ON_DUTY )&&!( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) )
{
fShowAssignmentMenu = TRUE;
gfRTClickLeftHoldIntercepted = TRUE;
CreateDestroyAssignmentPopUpBoxes( );
SetTacticalPopUpAssignmentBoxXY( );
DetermineBoxPositions( );
DetermineWhichAssignmentMenusCanBeShown( );
fFirstClickInAssignmentScreenMask = TRUE;
gfIgnoreScrolling = TRUE;
fDone = TRUE;
}
else
{
fShowAssignmentMenu = FALSE;
CreateDestroyAssignmentPopUpBoxes( );
DetermineWhichAssignmentMenusCanBeShown( );
}
}
if( fDone == TRUE )
{
break;
}
#endif
break;
@@ -2166,12 +2110,9 @@ void HandleMouseRTX1Button( UINT32 *puiNewEvent )
BOOLEAN fNearHeigherLevel;
BOOLEAN fNearLowerLevel;
INT8 bDirection;
// CHRISL: Turn off manual jumping while wearing a backpack
if (UsingNewInventorySystem() == true && pjSoldier->inv[BPACKPOCKPOS].exists() == true
//JMich.BackpackClimb
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
// CHRISL: Turn off manual jumping while wearing a backpack
if (!pjSoldier->CanClimbWithCurrentBackpack())
return;
// Make sure the merc is not collapsed!
@@ -2263,12 +2204,9 @@ void HandleRTJump( void )
BOOLEAN fNearHeigherLevel;
BOOLEAN fNearLowerLevel;
INT8 bDirection;
// CHRISL: Turn off manual jumping while wearing a backpack
if (UsingNewInventorySystem() == true && pjSoldier->inv[BPACKPOCKPOS].exists() == true
//JMich.BackpackClimb
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
// CHRISL: Turn off manual jumping while wearing a backpack
if (!pjSoldier->CanClimbWithCurrentBackpack())
return;
// Make sure the merc is not collapsed!
+3 -55
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include <string.h>
@@ -50,7 +47,6 @@
#include "ai.h" // added by Flugente
#include "PreBattle Interface.h" // added by Flugente
#include "Strategic Town Loyalty.h" // added by Flugente
#endif
#include "Animation Control.h"
@@ -664,11 +660,7 @@ INT32 AddRottingCorpse( ROTTING_CORPSE_DEFINITION *pCorpseDef )
for (ubLoop = 0; ubLoop < pDBStructureRef->pDBStructure->ubNumberOfTiles; ubLoop++)
{
ppTile = pDBStructureRef->ppTile;
#if 0//dnl ch83 080114
sTileGridNo = pCorpseDef->sGridNo + ppTile[ ubLoop ]->sPosRelToBase;
#else
sTileGridNo = AddPosRelToBase(pCorpseDef->sGridNo, ppTile[ubLoop]);
#endif
//Remove blood
RemoveBlood( sTileGridNo, pCorpseDef->bLevel );
}
@@ -1548,52 +1540,6 @@ ROTTING_CORPSE *FindCorpseBasedOnStructure( INT32 sGridNo, INT8 asLevel, STRUCT
void CorpseHit( INT32 sGridNo, INT8 asLevel, UINT16 usStructureID )
{
#if 0
STRUCTURE *pStructure, *pBaseStructure;
ROTTING_CORPSE *pCorpse = NULL;
INT32 sBaseGridNo;
pStructure = FindStructureByID( sGridNo, usStructureID );
// Get base....
pBaseStructure = FindBaseStructure( pStructure );
// Find base gridno...
sBaseGridNo = pBaseStructure->sGridNo;
// Get corpse ID.....
pCorpse = FindCorpseBasedOnStructure( sBaseGridNo, asLevel, pBaseStructure );
if ( pCorpse == NULL )
{
#ifdef JA2TESTVERSION
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_TESTVERSION, L"Bullet hit corpse but corpse cannot be found at: %d", sBaseGridNo );
#endif
return;
}
// Twitch the bugger...
#ifdef JA2BETAVERSION
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_TESTVERSION, L"Corpse hit" );
#endif
if ( GridNoOnScreen( sBaseGridNo ) )
{
// Twitch....
// Set frame...
SetAniTileFrame( pCorpse->pAniTile, 1 );
// Go reverse...
pCorpse->pAniTile->uiFlags |= ( ANITILE_BACKWARD | ANITILE_PAUSE_AFTER_LOOP );
// Turn off pause...
pCorpse->pAniTile->uiFlags &= (~ANITILE_PAUSED);
}
// PLay a sound....
PlayJA2Sample( (UINT32)( BULLET_IMPACT_2 ), RATE_11025, SoundVolume( MIDVOLUME, sGridNo ), 1, SoundDir( sGridNo ) );
#endif
}
void VaporizeCorpse( INT32 sGridNo, INT8 asLevel, UINT16 usStructureID )
@@ -2523,7 +2469,9 @@ void ReduceAmmoDroppedByNonPlayerSoldiers( SOLDIERTYPE *pSoldier, INT32 iInvSlot
OBJECTTYPE *pObj = &( pSoldier->inv[ iInvSlot ] );
// if it's ammo
if ( Item[ pObj->usItem ].usItemClass == IC_AMMO )
if ( Item[ pObj->usItem ].usItemClass == IC_AMMO
&& Magazine[Item[pObj->usItem].ubClassIndex].ubMagType != AMMO_BOX
&& Magazine[Item[pObj->usItem].ubClassIndex].ubMagType != AMMO_CRATE)
{
//don't drop all the clips, just a random # of them between 1 and how many there are
pObj->ubNumberOfObjects = ( UINT8 ) ( 1 + Random( pObj->ubNumberOfObjects ) );
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "Types.h"
#include "ShopKeeper Interface.h"
#include "Utilities.h"
@@ -55,7 +52,6 @@
#include "Encyclopedia_new.h"
#include "Animation Control.h" // added by Flugente
#include "Town Militia.h" // added by Flugente
#endif
#ifdef JA2UB
#include "Explosion Control.h"
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "SkillCheck.h"
#include "Soldier Profile.h"
#include "Random.h"
@@ -18,7 +15,6 @@
#include "Soldier Control.h"
#include "Interface.h" // added by Flugente for zBackground
#include "DynamicDialogue.h" // added by Flugente
#endif
extern void ReducePointsForHunger( SOLDIERTYPE *pSoldier, UINT32 *pusPoints );
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "sgp.h"
#include "overhead.h"
@@ -26,7 +23,6 @@
#include "Vehicles.h" // added by Flugente
#include "CampaignStats.h" // added by Flugente
#include "worldman.h" // added by Flugente for Water(...)
#endif
#ifdef JA2UB
#include "Ja25 Strategic Ai.h"
+9 -51
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include <stdio.h>
#include <string.h>
#include "stdlib.h"
@@ -66,7 +63,7 @@
#include "MilitiaIndividual.h" // added by Flugente
#include "Town Militia.h" // added by Flugente
#include "PreBattle Interface.h" // added by Flugente
#endif
#include "Rebel Command.h"
// anv: for enemy taunts
#include "Civ Quotes.h"
@@ -3209,14 +3206,14 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
case 762:
{
// CODE: Set off Trigger
INT8 bPanicTrigger;
bPanicTrigger = ClosestPanicTrigger( pSoldier );
SetOffPanicBombs( pSoldier->ubID, bPanicTrigger );
INT8 bPanicTrigger = ClosestPanicTrigger( pSoldier );
if (bPanicTrigger != -1)
{
SetOffPanicBombs( pSoldier->ubID, bPanicTrigger );
}
// any AI guy has been specially given keys for this, now take them
// away
pSoldier->flags.bHasKeys = pSoldier->flags.bHasKeys >> 1;
}
break;
@@ -4197,6 +4194,9 @@ BOOLEAN HandleSoldierDeath( SOLDIERTYPE *pSoldier , BOOLEAN *pfMadeCorpse )
}
}
// rftr: soldier bounty payout
RebelCommand::ApplySoldierBounty(pSoldier);
// Flugente: campaign stats
gCurrentIncident.AddStat( pSoldier, CAMPAIGNHISTORY_TYPE_KILL );
@@ -4856,48 +4856,6 @@ BOOLEAN HandleUnjamAnimation( SOLDIERTYPE *pSoldier )
#if 0
//OK, if here, if our health is still good, but we took a lot of damage, try to fall down!
if ( pSoldier->stats.bLife >= OKLIFE )
{
// Randomly fall back or forward, if we are in the standing hit animation
if ( pSoldier->usAnimState == GENERIC_HIT_STAND || pSoldier->usAnimState == RIFLE_STAND_HIT )
{
INT8 bTestDirection = pSoldier->ubDirection;
BOOLEAN fForceDirection = FALSE;
BOOLEAN fDoFallback = FALSE;
// As the damage pretty brutal?
// TRY FALLING BACKWARDS, ( ONLY IF WE ARE A MERC! )
if ( Random( 1000 ) > 40 && IS_MERC_BODY_TYPE( pSoldier ) )
{
// CHECK IF WE HAVE AN ATTACKER, TAKE OPPOSITE DIRECTION!
if ( pSoldier->ubAttackerID != NOBODY )
{
// Find direction!
bTestDirection = (INT8)GetDirectionFromGridNo( MercPtrs[ pSoldier->ubAttackerID ]->sGridNo, pSoldier );
fForceDirection = TRUE;
}
sNewGridNo = NewGridNo( pSoldier->sGridNo, (UINT16)(-1 * DirectionInc( bTestDirection ) ) );
if ( NewOKDestination( pSoldier, sNewGridNo, TRUE, pSoldier->pathing.bLevel ) && OKHeightDest( pSoldier, sNewGridNo ) )
{
// ALL'S OK HERE..... IF WE FORCED DIRECTION, SET!
if ( fForceDirection )
{
pSoldier->EVENT_SetSoldierDirection( bTestDirection );
pSoldier->EVENT_SetSoldierDesiredDirection( bTestDirection );
}
pSoldier->ChangeSoldierState( FALLBACK_HIT_STAND, 0, FALSE );
return;
}
}
}
}
#endif
BOOLEAN OKFallDirection( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bLevel, UINT8 ubTestDirection, UINT16 usAnimState )
{
File diff suppressed because it is too large Load Diff
+3 -1
View File
@@ -1771,6 +1771,7 @@ public:
void DoNinjaAttack( void );
void PickDropItemAnimation( void );
BOOLEAN CanClimbWithCurrentBackpack();
void BeginSoldierGetup( void );
void BeginSoldierClimbUpRoof( void );
@@ -1934,7 +1935,8 @@ public:
//void AddDrugValues(UINT8 uDrugType, UINT8 usEffect, UINT8 usTravelRate, UINT8 usSideEffect );
void HandleFlashLights();
UINT8 GetBestEquippedFlashLightRange();
bool AddBestFlashLight();
UINT8 GetBestEquippedFlashLightRange();
// Flugente: soldier profiles
INT8 GetSoldierProfileType(UINT8 usTeam); // retrieves the correct sub-array
+8 -6
View File
@@ -1,8 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#include "PreBattle Interface.h"
#include "saveloadgame.h"
#else
#include "sgp.h"
#include "Soldier Create.h"
#include "overhead.h"
@@ -48,7 +43,6 @@
#include "Soldier macros.h" // added by Flugente
#include "MilitiaIndividual.h" // added by Flugente
#include "Rebel Command.h"
#endif
#include "connect.h"
#include "message.h"
@@ -1838,6 +1832,8 @@ BOOLEAN TacticalCopySoldierFromCreateStruct( SOLDIERTYPE *pSoldier, SOLDIERCREAT
RebelCommand::ApplyMilitiaBonuses(pSoldier);
if ((SOLDIER_CLASS_ENEMY(pSoldier->ubSoldierClass) || pSoldier->ubSoldierClass == SOLDIER_CLASS_BANDIT))
RebelCommand::ApplyEnemyPenalties(pSoldier);
if (pCreateStruct->bTeam == ENEMY_TEAM && (ENEMYROBOT(pCreateStruct) || ARMED_VEHICLE(pCreateStruct)))
RebelCommand::ApplyEnemyMechanicalUnitPenalties(pSoldier);
// Flugente: enemy roles
if ( gGameExternalOptions.fEnemyRoles && gGameExternalOptions.fEnemyOfficers && SOLDIER_CLASS_ENEMY( pSoldier->ubSoldierClass ) )
@@ -3224,6 +3220,8 @@ SOLDIERTYPE* TacticalCreateEnemyTank()
// Flugente: why would a vehicle's armour depend on game progress? Always give them 100 HP
pSoldier->stats.bLifeMax = 100;
pSoldier->stats.bLife = pSoldier->stats.bLifeMax;
RebelCommand::ApplyEnemyMechanicalUnitPenalties(pSoldier);
}
return( pSoldier );
@@ -3264,6 +3262,8 @@ SOLDIERTYPE* TacticalCreateEnemyJeep( )
// Flugente: why would a vehicle's armour depend on game progress? Always give them 100 HP
pSoldier->stats.bLifeMax = 100;
pSoldier->stats.bLife = pSoldier->stats.bLifeMax;
RebelCommand::ApplyEnemyMechanicalUnitPenalties(pSoldier);
}
return(pSoldier);
@@ -3304,6 +3304,8 @@ SOLDIERTYPE* TacticalCreateEnemyRobot()
pSoldier->stats.bLifeMax = 80;
pSoldier->stats.bLife = pSoldier->stats.bLifeMax;
RebelCommand::ApplyEnemyMechanicalUnitPenalties(pSoldier);
}
return(pSoldier);
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include <stdio.h>
#include <string.h>
#include "stdlib.h"
@@ -43,7 +40,6 @@
#include "Vehicles.h"
#include "GameSettings.h"
#include "ui cursors.h"
#endif
BOOLEAN IsGridNoInScreenRect( INT32 sGridNo, SGPRect *pRect );
+1 -5
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include <memory.h>
@@ -46,7 +43,6 @@
#include "screenids.h"
#include "SaveLoadScreen.h"
#include "Rotting Corpses.h"
#endif
#include "connect.h"
#include "Map Edgepoints.h"
@@ -1853,7 +1849,7 @@ void AddSoldierInitListMilitia( UINT8 ubNumGreen, UINT8 ubNumRegs, UINT8 ubNumEl
else
Assert(0);
curr->pBasicPlacement->bTeam = MILITIA_TEAM;
curr->pBasicPlacement->bOrders = STATIONARY;
curr->pBasicPlacement->bOrders = ONGUARD;
curr->pBasicPlacement->bAttitude = (INT8) Random( MAXATTITUDES );
// silversurfer: Replace body type. Militia tanks are not allowed.
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include <stdio.h>
#include <string.h>
#include "stdlib.h"
@@ -52,7 +49,6 @@
#include "drugs and alcohol.h" // added by Flugente
#include "Campaign.h"
#include "LuaInitNPCs.h" // added by Flugente
#endif
#include "aim.h"
#include "AimFacialIndex.h"
-19
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include <wchar.h>
#include <stdio.h>
#include <string.h>
@@ -49,7 +46,6 @@
#include "Text.h"
#include "NPC.h"
#include "Soldier macros.h"
#endif
extern UINT8 gubWaitingForAllMercsToExitCode;
@@ -359,21 +355,6 @@ INT8 TileIsClear( SOLDIERTYPE *pSoldier, INT8 bDirection, INT32 sGridNo, INT8 b
pSoldier->flags.fBlockedByAnotherMerc = FALSE;
return( MOVE_TILE_STATIONARY_BLOCKED );
}
else
{
#if 0
// Check if there is a reserved marker here at least....
sNewGridNo = NewGridNo( sGridNo, DirectionInc( bDirection ) );
if ( ( gpWorldLevelData[ sNewGridNo ].uiFlags & MAPELEMENT_MOVEMENT_RESERVED ) )
{
if ( gpWorldLevelData[ sNewGridNo ].ubReservedSoldierID != pSoldier->ubID )
{
return( MOVE_TILE_TEMP_BLOCKED );
}
}
#endif
}
}
// Unset flag for blocked by soldier...
+21 -28
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "Types.h"
#include "Windows.h"
//#include "Soldier Control.h"
@@ -33,7 +30,6 @@
#include "Map Screen Interface.h"
#include "cheats.h"
#include "Drugs and Alcohol.h"
#endif
//forward declarations of common classes to eliminate includes
class OBJECTTYPE;
@@ -747,6 +743,7 @@ void DrawMouseTooltip()
UINT32 uiDestPitchBYTES;
static INT32 iX, iY, iW, iH;
extern bool isTooltipScalingEnabled();
extern INT16 GetWidthOfString(const STR16);
extern INT16 GetNumberOfLinesInHeight(const STR16);
extern void DisplayHelpTokenizedString(const STR16,INT16,INT16);
@@ -756,29 +753,23 @@ void DrawMouseTooltip()
extern void DisplayTooltipString( const STR16 pStringA, INT16 sX, INT16 sY );
extern void j_log(PTR,...);
UINT16 fontHeight = isTooltipScalingEnabled()
? GetWinFontHeight(TOOLTIP_IFONT)
: GetFontHeight(FONT10ARIAL);
iX = mouseTT.iX;iY = mouseTT.iY;
iW = (INT32)GetWidthOfString( mouseTT.FastHelpText ) + 10;
iH = (INT32)( GetNumberOfLinesInHeight( mouseTT.FastHelpText ) * (GetFontHeight(FONT10ARIAL)+1) + 8 );
iW = (INT32)(GetWidthOfString(mouseTT.FastHelpText) + 10 * fTooltipScaleFactor);
iH = (INT32)(GetNumberOfLinesInHeight(mouseTT.FastHelpText) * (fontHeight + 1) + 8 * fTooltipScaleFactor);
if(1)//draw at cursor
{
iY -= (iH / 2);
if (gusMouseXPos > (SCREEN_WIDTH / 2))
iX = gusMouseXPos - iW - 24;
else
iX = gusMouseXPos + 24;
//if (gusMouseYPos > (SCREEN_HEIGHT / 2))
// iY -= 32;
if (iY <= 0) iY += 32;
}
iY -= (iH / 2);
if (gusMouseXPos > (SCREEN_WIDTH / 2))
iX = gusMouseXPos - iW - 24;
else
{ //draw in panel
//502,485 658,596 160*110 580,540
iX = 580 - (iW / 2);
iY = 540 - (iH/2);
if (iY + iH > SCREEN_HEIGHT) iY = SCREEN_HEIGHT - iH - 3 ;
}
iX = gusMouseXPos + 24;
//if (gusMouseYPos > (SCREEN_HEIGHT / 2))
// iY -= 32;
if (iY <= 0) iY += 32;
pDestBuf = LockVideoSurface( FRAME_BUFFER, &uiDestPitchBYTES );
SetClippingRegionAndImageWidth( uiDestPitchBYTES, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT );
@@ -788,10 +779,12 @@ void DrawMouseTooltip()
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 );
SetFont( FONT10ARIAL );
SetFontShadow( FONT_NEARBLACK );
DisplayHelpTokenizedString( mouseTT.FastHelpText ,( INT16 )( iX + 5 ), ( INT16 )( iY + 5 ) );
DisplayHelpTokenizedString(
mouseTT.FastHelpText,
(INT16)(iX + (isTooltipScalingEnabled() ? 5 * fTooltipScaleFactor : 5)),
(INT16)(iY + (isTooltipScalingEnabled() ? 4 * fTooltipScaleFactor : 5))
);
InvalidateRegion( iX, iY, (iX + iW) , (iY + iH) );
//InvalidateScreen();
}
}
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include <stdio.h>
#include <string.h>
#include "stdlib.h"
@@ -15,7 +12,6 @@
#include "interface.h"
#include "spread burst.h"
#include "points.h"
#endif
//forward declarations of common classes to eliminate includes
class OBJECTTYPE;
+5 -4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "Types.h"
#include "Squads.h"
#include "Strategic Pathing.h"
@@ -18,7 +15,6 @@
#include "screenids.h"
#include "Soldier macros.h"
#include "GameSettings.h"
#endif
#include <vector>
@@ -1389,6 +1385,11 @@ BOOLEAN IsSquadInSector( SOLDIERTYPE *pSoldier, UINT8 ubSquad )
return( FALSE );
}
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
{
return( FALSE );
}
if( SquadIsEmpty( ubSquad ) == TRUE )
{
return( TRUE );
+1 -7
View File
@@ -1,8 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#include "PreBattle Interface.h"
#include "creature spreading.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include "Button System.h"
@@ -35,7 +30,6 @@
#include "Quests.h"
#include "Creature Spreading.h"
#include "Queen Command.h" // added by Flugente
#endif
#ifdef JA2UB
#include "Explosion Control.h"
@@ -238,7 +232,7 @@ BOOLEAN InternalInitSectorExitMenu( UINT8 ubDirection, INT32 sAdditionalData )//
pSoldier->stats.bLife >= OKLIFE &&
( pSoldier->bAssignment != MercPtrs[ gusSelectedSoldier ]->bAssignment ||
( pSoldier->bAssignment == VEHICLE && pSoldier->iVehicleId != MercPtrs[ gusSelectedSoldier ]->iVehicleId ) ) &&
pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != IN_TRANSIT && pSoldier->bAssignment != ASSIGNMENT_DEAD && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT
pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != IN_TRANSIT && pSoldier->bAssignment != ASSIGNMENT_DEAD && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT && pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND
&& !(pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE) )
{ //KM: We need to determine if there are more than one squad (meaning other concious mercs in a different squad or assignment)
// These conditions were done to the best of my knowledge, so if there are other situations that require modification,
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include <stdio.h>
#include "debug.h"
#include "worlddef.h"
@@ -13,7 +10,6 @@
#include "strategicmap.h"
#include "rotting corpses.h"
#include "WorldDat.h" // added by Flugente
#endif
extern BOOLEAN DoesSAMExistHere( INT16 sSectorX, INT16 sSectorY, INT16 sSectorZ, INT32 sGridNo );
-232
View File
@@ -1,232 +0,0 @@
#ifndef __TACTICAL_ALL_H
#define __TACTICAL_ALL_H
#pragma message("GENERATED PCH FOR TACTICAL PROJECT.")
#include "sgp.h"
#include "air raid.h"
#include "game event hook.h"
#include "game clock.h"
#include "auto bandage.h"
#include "strategicmap.h"
#include "screenids.h"
#include "jascreens.h"
#include "random.h"
#include "overhead types.h"
#include "sound control.h"
#include "timer control.h"
#include "dialogue control.h"
#include "overhead.h"
#include "message.h"
#include "isometric utils.h"
#include "soldier macros.h"
#include "worldman.h"
#include "los.h"
#include "math.h"
#include "explosion control.h"
#include "interface.h"
#include "music control.h"
#include "Campaign Types.h"
#include "GameSettings.h"
#include "text.h"
#include "Morale.h"
#include "Map screen helicopter.h"
#include <stdio.h>
#include <string.h>
#include "types.h"
#include "wcheck.h"
#include <stdlib.h>
#include "Animation Cache.h"
#include "Animation Data.h"
#include "Animation Control.h"
#include "sys globals.h"
#include "Debug Control.h"
#include "FileMan.h"
#include "weapons.h"
#include "structure.h"
#include "worlddef.h"
#include "rotting corpses.h"
#include "points.h"
#include "Soldier Control.h"
#include "tiledef.h"
#include "utilities.h"
#include "Arms Dealer Init.h"
#include "ArmsDealerInvInit.h"
#include "soldier profile.h"
#include "Handle Items.h"
#include "Item Types.h"
#include "messageboxscreen.h"
#include "Handle UI.h"
#include "items.h"
#include "MercTextBox.h"
#include "renderworld.h"
#include "strategic turns.h"
#include "Event Pump.h"
#include "ai.h"
#include "interface control.h"
#include "Map Screen Interface.h"
#include "Map Screen Interface Bottom.h"
#include "Assignments.h"
#include "WordWrap.h"
#include "cursors.h"
#include "English.h"
#include "Boxing.h"
#include "Render Fun.h"
#include "NPC.h"
#include "Opplist.h"
#include <errno.h>
#include "vsurface.h"
#include "Render Dirty.h"
#include "sysutil.h"
#include "container.h"
#include "video.h"
#include "vobject_blitters.h"
#include "faces.h"
#include "gap.h"
#include "Bullets.h"
#include <wchar.h>
#include "MemMan.h"
#include "campaign.h"
#include "Strategic Mines.h"
#include "Strategic Status.h"
#include "Encrypted File.h"
#include "mercs.h"
#include "interface dialogue.h"
#include "squads.h"
#include "interface utils.h"
#include "Quests.h"
#include "gamescreen.h"
#include "ShopKeeper Interface.h"
#include "Merc Contract.h"
#include "history.h"
#include "Town Militia.h"
#include "meanwhile.h"
#include "SkillCheck.h"
#include "finances.h"
#include "drugs and alcohol.h"
#include "teamturns.h"
#include "font control.h"
#include "line.h"
#include "structure wrap.h"
#include "pathai.h"
#include "smell.h"
#include "fov.h"
#include "keys.h"
#include "input.h"
#include "exit grids.h"
#include "environment.h"
#include "Fog Of War.h"
#include "soundman.h"
#include <stdarg.h>
#include <time.h>
#include "tile animation.h"
#include "Interactive Tiles.h"
#include "handle doors.h"
#include "Action Items.h"
#include "World items.h"
#include "interface items.h"
#include "physics.h"
#include "interface panels.h"
#include "Strategic Town Loyalty.h"
#include "soldier functions.h"
#include "SaveLoadMap.h"
#include "soldier add.h"
#include "soldier ani.h"
#include "qarray.h"
#include "Handle UI Plan.h"
#include "soldier create.h"
#include "mousesystem.h"
#include "cursor control.h"
#include "interface cursors.h"
#include "UI cursors.h"
#include "Strategic Pathing.h"
#include "strategic movement.h"
#include "strategic.h"
#include "vehicles.h"
#include "gameloop.h"
#include "himage.h"
#include "vobject.h"
#include "Button System.h"
#include "radar screen.h"
#include "lighting.h"
#include "Strategic Exit GUI.h"
#include "PopUpBox.h"
#include "spread burst.h"
#include "Tactical Save.h"
#include "fade screen.h"
#include "Strategic AI.h"
#include "mapscreen.h"
#include "LaptopSave.h"
#include "Map Screen Interface Map.h"
#include "Map Screen Interface Map Inventory.h"
#include "overhead map.h"
#include "Options Screen.h"
#include <memory.h>
#include "Inventory Choosing.h"
#include "Smoothing Utils.h"
#include "tiledat.h"
#include <math.h>
#include "phys math.h"
#include "Map Information.h"
#include "Soldier Init List.h"
#include "EditorMercs.h"
#include "ja2.h"
#include "Road Smoothing.h"
#include "tile cache.h"
#include "merc entering.h"
#include "Merc Hiring.h"
#include "Strategic Merc Handler.h"
#include "Militia Control.h"
#include "Queen Command.h"
#include "editscreen.h"
#include "soldier tile.h"
#ifdef NETWORKED
#include "Networking.h"
#include "NetworkEvent.h"
#endif
#include "Player Command.h"
#include "Game Init.h"
#include "Buildings.h"
#include "rt time defines.h"
#include "GameSettings.h"
#include "Text Input.h"
#include "ShopKeeper Quotes.h"
#include "Personnel.h"
#include "pits.h"
#include "Win util.h"
#include "smokeeffects.h"
#include "SaveLoadGame.h"
#include "Scheduling.h"
#include "Auto Resolve.h"
#include "soldier find.h"
#include "aim.h"
#include "strategic town reputation.h"
#include "Tactical Turns.h"
#include "lighteffects.h"
#include "timer.h"
#include "Soldier Profile Type.h"
#include "AIList.h"
#include "QuestDebug.h"
#include "Game Events.h"
#include "BobbyR.h"
#include "EnemyItemDrops.h"
#ifdef JA2BETAVERSION
#include "Quest Debug System.h"
#endif
#include "GameVersion.h"
#include "SaveLoadScreen.h"
#include "Cheats.h"
#include "Animated ProgressBar.h"
#include "civ quotes.h"
#include "AimMembers.h"
#include "BobbyRMailOrder.h"
#include "end game.h"
#include "DisplayCover.h"
#include "expat.h"
#include "spread burst.h"
#include "XML.h"
#endif
-5
View File
@@ -1,7 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#include "Enemy Soldier Save.h"
#else
#include "Types.h"
#include "MemMan.h"
#include "message.h"
@@ -46,7 +42,6 @@
#include "screenids.h"
#include "Queen Command.h"
#include "Map Screen Interface Map Inventory.h"
#endif
#include "Animation Control.h"
#include <vfs/Core/vfs.h>
BOOLEAN gfWasInMeanwhile = FALSE;
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "sgp.h"
#include "Game Clock.h"
#include "Font Control.h"
@@ -28,7 +25,6 @@
#include "Random.h"
#include "Explosion Control.h"
#include "Dialogue Control.h" // added by Flugente
#endif
#include "Reinforcement.h"
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-455
View File
@@ -1,455 +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="Action Items.h" />
<ClInclude Include="Air Raid.h" />
<ClInclude Include="Animation Cache.h" />
<ClInclude Include="Animation Control.h" />
<ClInclude Include="Animation Data.h" />
<ClInclude Include="Arms Dealer Init.h" />
<ClInclude Include="ArmsDealerInvInit.h" />
<ClInclude Include="Auto Bandage.h" />
<ClInclude Include="BinaryHeap.hpp" />
<ClInclude Include="Boxing.h" />
<ClInclude Include="Bullets.h" />
<ClInclude Include="Campaign.h" />
<ClInclude Include="Civ Quotes.h" />
<ClInclude Include="Dialogue Control.h" />
<ClInclude Include="Disease.h" />
<ClInclude Include="DisplayCover.h" />
<ClInclude Include="Drugs And Alcohol.h" />
<ClInclude Include="DynamicDialogue.h" />
<ClInclude Include="End Game.h" />
<ClInclude Include="Enemy Soldier Save.h" />
<ClInclude Include="EnemyItemDrops.h" />
<ClInclude Include="faces.h" />
<ClInclude Include="Food.h" />
<ClInclude Include="fov.h" />
<ClInclude Include="GAP.H" />
<ClInclude Include="Handle Doors.h" />
<ClInclude Include="Handle Items.h" />
<ClInclude Include="Handle UI Plan.h" />
<ClInclude Include="Handle UI.h" />
<ClInclude Include="Interface Control.h" />
<ClInclude Include="Interface Cursors.h" />
<ClInclude Include="interface Dialogue.h" />
<ClInclude Include="Interface Enhanced.h" />
<ClInclude Include="Interface Items.h" />
<ClInclude Include="Interface Panels.h" />
<ClInclude Include="Interface Utils.h" />
<ClInclude Include="Interface.h" />
<ClInclude Include="InterfaceItemImages.h" />
<ClInclude Include="Inventory Choosing.h" />
<ClInclude Include="Item Types.h" />
<ClInclude Include="Items.h" />
<ClInclude Include="Ja25_Tactical.h" />
<ClInclude Include="Keys.h" />
<ClInclude Include="LogicalBodyTypes\AbstractXMLLoader.h" />
<ClInclude Include="LogicalBodyTypes\BodyType.h" />
<ClInclude Include="LogicalBodyTypes\BodyTypeDB.h" />
<ClInclude Include="LogicalBodyTypes\EnumeratorDB.h" />
<ClInclude Include="LogicalBodyTypes\Filter.h" />
<ClInclude Include="LogicalBodyTypes\FilterDB.h" />
<ClInclude Include="LogicalBodyTypes\Layers.h" />
<ClInclude Include="LogicalBodyTypes\PaletteDB.h" />
<ClInclude Include="LogicalBodyTypes\PaletteTable.h" />
<ClInclude Include="LogicalBodyTypes\Singleton.h" />
<ClInclude Include="LogicalBodyTypes\SurfaceCache.h" />
<ClInclude Include="LogicalBodyTypes\SurfaceDB.h" />
<ClInclude Include="LogicalBodyTypes\XMLParseException.h" />
<ClInclude Include="LOS.h" />
<ClInclude Include="Map Information.h" />
<ClInclude Include="merc entering.h" />
<ClInclude Include="Merc Hiring.h" />
<ClInclude Include="Militia Control.h" />
<ClInclude Include="MiniGame.h" />
<ClInclude Include="Morale.h" />
<ClInclude Include="opplist.h" />
<ClInclude Include="Overhead Types.h" />
<ClInclude Include="Overhead.h" />
<ClInclude Include="PATHAI.H" />
<ClInclude Include="PathAIDebug.h" />
<ClInclude Include="Points.h" />
<ClInclude Include="qarray.h" />
<ClInclude Include="Rain.h" />
<ClInclude Include="Rotting Corpses.h" />
<ClInclude Include="rt time defines.h" />
<ClInclude Include="ShopKeeper Interface.h" />
<ClInclude Include="ShopKeeper Quotes.h" />
<ClInclude Include="SkillCheck.h" />
<ClInclude Include="SkillMenu.h" />
<ClInclude Include="Soldier Add.h" />
<ClInclude Include="Soldier Ani.h" />
<ClInclude Include="Soldier Control.h" />
<ClInclude Include="Soldier Create.h" />
<ClInclude Include="Soldier Find.h" />
<ClInclude Include="Soldier Functions.h" />
<ClInclude Include="Soldier Init List.h" />
<ClInclude Include="Soldier macros.h" />
<ClInclude Include="soldier profile type.h" />
<ClInclude Include="Soldier Profile.h" />
<ClInclude Include="soldier tile.h" />
<ClInclude Include="Spread burst.h" />
<ClInclude Include="Squads.h" />
<ClInclude Include="Strategic Exit GUI.h" />
<ClInclude Include="Structure Wrap.h" />
<ClInclude Include="Tactical All.h" />
<ClInclude Include="Tactical Save.h" />
<ClInclude Include="Tactical Turns.h" />
<ClInclude Include="TeamTurns.h" />
<ClInclude Include="UI Cursors.h" />
<ClInclude Include="Vehicles.h" />
<ClInclude Include="Weapons.h" />
<ClInclude Include="World Items.h" />
<ClInclude Include="XML.h" />
<ClInclude Include="XML_Profiles.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Air Raid.cpp" />
<ClCompile Include="Animation Cache.cpp" />
<ClCompile Include="Animation Control.cpp" />
<ClCompile Include="Animation Data.cpp" />
<ClCompile Include="Arms Dealer Init.cpp" />
<ClCompile Include="ArmsDealerInvInit.cpp" />
<ClCompile Include="Auto Bandage.cpp" />
<ClCompile Include="Boxing.cpp" />
<ClCompile Include="bullets.cpp" />
<ClCompile Include="Campaign.cpp" />
<ClCompile Include="Civ Quotes.cpp" />
<ClCompile Include="Dialogue Control.cpp" />
<ClCompile Include="Disease.cpp" />
<ClCompile Include="DisplayCover.cpp" />
<ClCompile Include="Drugs And Alcohol.cpp" />
<ClCompile Include="DynamicDialogue.cpp" />
<ClCompile Include="End Game.cpp" />
<ClCompile Include="Enemy Soldier Save.cpp" />
<ClCompile Include="EnemyItemDrops.cpp" />
<ClCompile Include="Faces.cpp" />
<ClCompile Include="Food.cpp" />
<ClCompile Include="fov.cpp" />
<ClCompile Include="GAP.cpp" />
<ClCompile Include="Handle Doors.cpp" />
<ClCompile Include="Handle Items.cpp" />
<ClCompile Include="Handle UI Plan.cpp" />
<ClCompile Include="Handle UI.cpp" />
<ClCompile Include="Interface Control.cpp" />
<ClCompile Include="Interface Cursors.cpp" />
<ClCompile Include="Interface Dialogue.cpp" />
<ClCompile Include="Interface Enhanced.cpp" />
<ClCompile Include="Interface Items.cpp" />
<ClCompile Include="Interface Panels.cpp" />
<ClCompile Include="Interface Utils.cpp" />
<ClCompile Include="Interface.cpp" />
<ClCompile Include="InterfaceItemImages.cpp" />
<ClCompile Include="Inventory Choosing.cpp" />
<ClCompile Include="Item Types.cpp" />
<ClCompile Include="Items.cpp" />
<ClCompile Include="Ja25_Tactical.cpp" />
<ClCompile Include="Keys.cpp" />
<ClCompile Include="LogicalBodyTypes\AbstractXMLLoader.cpp" />
<ClCompile Include="LogicalBodyTypes\BodyType.cpp" />
<ClCompile Include="LogicalBodyTypes\BodyTypeDB.cpp" />
<ClCompile Include="LogicalBodyTypes\EnumeratorDB.cpp" />
<ClCompile Include="LogicalBodyTypes\Filter.cpp" />
<ClCompile Include="LogicalBodyTypes\FilterDB.cpp" />
<ClCompile Include="LogicalBodyTypes\Layers.cpp" />
<ClCompile Include="LogicalBodyTypes\PaletteDB.cpp" />
<ClCompile Include="LogicalBodyTypes\PaletteTable.cpp" />
<ClCompile Include="LogicalBodyTypes\SurfaceCache.cpp" />
<ClCompile Include="LogicalBodyTypes\SurfaceDB.cpp" />
<ClCompile Include="LogicalBodyTypes\XMLParseException.cpp" />
<ClCompile Include="LOS.cpp" />
<ClCompile Include="Map Information.cpp" />
<ClCompile Include="Merc Entering.cpp" />
<ClCompile Include="Merc Hiring.cpp" />
<ClCompile Include="Militia Control.cpp" />
<ClCompile Include="MiniGame.cpp" />
<ClCompile Include="Morale.cpp" />
<ClCompile Include="opplist.cpp" />
<ClCompile Include="Overhead.cpp" />
<ClCompile Include="PATHAI.cpp" />
<ClCompile Include="Points.cpp" />
<ClCompile Include="QARRAY.cpp" />
<ClCompile Include="Rain.cpp" />
<ClCompile Include="RandomMerc.cpp" />
<ClCompile Include="Real Time Input.cpp" />
<ClCompile Include="Rotting Corpses.cpp" />
<ClCompile Include="ShopKeeper Interface.cpp" />
<ClCompile Include="SkillCheck.cpp" />
<ClCompile Include="SkillMenu.cpp" />
<ClCompile Include="Soldier Add.cpp" />
<ClCompile Include="Soldier Ani.cpp" />
<ClCompile Include="Soldier Control.cpp" />
<ClCompile Include="Soldier Create.cpp" />
<ClCompile Include="Soldier Find.cpp" />
<ClCompile Include="Soldier Init List.cpp" />
<ClCompile Include="Soldier Profile.cpp" />
<ClCompile Include="Soldier Tile.cpp" />
<ClCompile Include="SoldierTooltips.cpp" />
<ClCompile Include="Spread Burst.cpp" />
<ClCompile Include="Squads.cpp" />
<ClCompile Include="Strategic Exit GUI.cpp" />
<ClCompile Include="Structure Wrap.cpp" />
<ClCompile Include="Tactical Save.cpp" />
<ClCompile Include="Tactical Turns.cpp" />
<ClCompile Include="TeamTurns.cpp" />
<ClCompile Include="Turn Based Input.cpp" />
<ClCompile Include="UI Cursors.cpp" />
<ClCompile Include="VehicleMenu.cpp" />
<ClCompile Include="Vehicles.cpp" />
<ClCompile Include="Weapons.cpp" />
<ClCompile Include="World Items.cpp" />
<ClCompile Include="XML_AmmoStrings.cpp" />
<ClCompile Include="XML_AmmoTypes.cpp" />
<ClCompile Include="XML_Armour.cpp" />
<ClCompile Include="XML_AttachmentInfo.cpp" />
<ClCompile Include="XML_Attachments.cpp" />
<ClCompile Include="XML_AttachmentSlots.cpp" />
<ClCompile Include="XML_Background.cpp" />
<ClCompile Include="XML_BurstSounds.cpp" />
<ClCompile Include="XML_CivGroupNames.cpp" />
<ClCompile Include="XML_Clothes.cpp" />
<ClCompile Include="XML_ComboMergeInfo.cpp" />
<ClCompile Include="XML_CompatibleFaceItems.cpp" />
<ClCompile Include="XML_Disease.cpp" />
<ClCompile Include="XML_Drugs.cpp" />
<ClCompile Include="XML_EnemyAmmoDrops.cpp" />
<ClCompile Include="XML_EnemyArmourDrops.cpp" />
<ClCompile Include="XML_EnemyExplosiveDrops.cpp" />
<ClCompile Include="XML_EnemyItemChoice.cpp" />
<ClCompile Include="XML_EnemyMiscDrops.cpp" />
<ClCompile Include="XML_EnemyNames.cpp" />
<ClCompile Include="XML_EnemyRank.cpp" />
<ClCompile Include="XML_EnemyWeaponChoice.cpp" />
<ClCompile Include="XML_EnemyWeaponDrops.cpp" />
<ClCompile Include="XML_Explosive.cpp" />
<ClCompile Include="XML_Food.cpp" />
<ClCompile Include="XML_FoodOpinions.cpp" />
<ClCompile Include="XML_HiddenNames.cpp" />
<ClCompile Include="XML_IMPItemChoices.cpp" />
<ClCompile Include="XML_IncompatibleAttachments.cpp" />
<ClCompile Include="XML_InteractiveTiles.cpp" />
<ClCompile Include="XML_ItemAdjustments.cpp" />
<ClCompile Include="XML_Keys.cpp" />
<ClCompile Include="XML_Launchable.cpp" />
<ClCompile Include="XML_LBEPocket.cpp" />
<ClCompile Include="XML_LBEPocketPopup.cpp" />
<ClCompile Include="XML_LoadBearingEquipment.cpp" />
<ClCompile Include="XML_LoadScreenHints.cpp" />
<ClCompile Include="XML_Locks.cpp" />
<ClCompile Include="XML_Magazine.cpp" />
<ClCompile Include="XML_Merchants.cpp" />
<ClCompile Include="XML_MercStartingGear.cpp" />
<ClCompile Include="XML_Merge.cpp" />
<ClCompile Include="XML_MilitiaIndividual.cpp" />
<ClCompile Include="XML_NewFaceGear.cpp" />
<ClCompile Include="XML_Opinions.cpp" />
<ClCompile Include="XML_Profiles.cpp" />
<ClCompile Include="XML_Qarray.cpp" />
<ClCompile Include="XML_RandomItem.cpp" />
<ClCompile Include="XML_RandomStats.cpp" />
<ClCompile Include="XML_RPCFacesSmall.cpp" />
<ClCompile Include="XML_SectorLoadscreens.cpp" />
<ClCompile Include="XML_SoldierProfiles.cpp" />
<ClCompile Include="XML_Sounds.cpp" />
<ClCompile Include="XML_SpreadPatterns.cpp" />
<ClCompile Include="XML_StructureConstruct.cpp" />
<ClCompile Include="XML_StructureDeconstruct.cpp" />
<ClCompile Include="XML_Structure_Move.cpp" />
<ClCompile Include="XML_Taunts.cpp" />
<ClCompile Include="XML_AdditionalTileProperties.cpp" />
<ClCompile Include="XML_TonyInventory.cpp" />
<ClCompile Include="XML_Vehicles.cpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{433FBCC4-F612-489C-AA28-CCD6CF27D80C}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Tactical</RootNamespace>
<ProjectName>Tactical</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>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</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>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</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>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<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>
-789
View File
@@ -1,789 +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>{b76e83a9-042b-4267-96e0-ffd42052b5d5}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{c1880088-a976-405e-919e-9f1e97ad6701}</UniqueIdentifier>
</Filter>
<Filter Include="Logical Bodytypes">
<UniqueIdentifier>{7ccf82e9-8713-4351-af1f-218106a69555}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Action Items.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Air Raid.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Animation Cache.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Animation Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Animation Data.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Arms Dealer Init.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ArmsDealerInvInit.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Auto Bandage.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="BinaryHeap.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Boxing.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Bullets.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Campaign.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Civ Quotes.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Dialogue Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Disease.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="DisplayCover.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Drugs And Alcohol.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="End Game.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Enemy Soldier Save.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="EnemyItemDrops.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="faces.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="fov.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="GAP.H">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Handle Doors.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Handle Items.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Handle UI Plan.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Handle UI.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Cursors.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="interface Dialogue.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Enhanced.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Items.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Panels.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Utils.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="InterfaceItemImages.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Inventory Choosing.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Item Types.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Items.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Keys.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="LOS.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Map Information.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="merc entering.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Merc Hiring.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Militia Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="MiniGame.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Morale.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="opplist.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Overhead Types.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Overhead.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="PATHAI.H">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="PathAIDebug.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Points.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="qarray.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Rain.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Rotting Corpses.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rt time defines.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ShopKeeper Interface.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ShopKeeper Quotes.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="SkillCheck.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Add.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Ani.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Create.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Find.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Functions.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Init List.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier macros.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="soldier profile type.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Profile.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="soldier tile.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Spread burst.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Squads.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Exit GUI.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Structure Wrap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Tactical All.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Tactical Save.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Tactical Turns.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="TeamTurns.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="UI Cursors.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Vehicles.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Weapons.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="World Items.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="XML.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="XML_Profiles.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Ja25_Tactical.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Food.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="SkillMenu.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="DynamicDialogue.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\AbstractXMLLoader.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\BodyType.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\BodyTypeDB.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\EnumeratorDB.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\Filter.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\FilterDB.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\Layers.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\PaletteDB.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\PaletteTable.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\Singleton.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\SurfaceCache.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\SurfaceDB.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\XMLParseException.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="Air Raid.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Animation Cache.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Animation Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Animation Data.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Arms Dealer Init.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ArmsDealerInvInit.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Auto Bandage.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Boxing.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="bullets.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Campaign.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Civ Quotes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Dialogue Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Disease.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="DisplayCover.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Drugs And Alcohol.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="End Game.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Enemy Soldier Save.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="EnemyItemDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Faces.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="fov.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="GAP.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Handle Doors.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Handle Items.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Handle UI Plan.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Handle UI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Cursors.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Dialogue.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Enhanced.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Items.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Panels.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Utils.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="InterfaceItemImages.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Inventory Choosing.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Item Types.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Items.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Keys.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="LOS.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Map Information.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Merc Entering.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Merc Hiring.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Militia Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="MiniGame.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Morale.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="opplist.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Overhead.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="PATHAI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Points.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="QARRAY.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Rain.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Real Time Input.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Rotting Corpses.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ShopKeeper Interface.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SkillCheck.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Add.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Ani.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Create.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Find.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Init List.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Profile.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Tile.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SoldierTooltips.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Spread Burst.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Squads.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Exit GUI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Structure Wrap.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Tactical Save.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Tactical Turns.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="TeamTurns.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Turn Based Input.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="UI Cursors.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Vehicles.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Weapons.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="World Items.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_AmmoStrings.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_AmmoTypes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Armour.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_AttachmentInfo.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Attachments.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_BurstSounds.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_CivGroupNames.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_ComboMergeInfo.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_CompatibleFaceItems.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyAmmoDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyArmourDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyExplosiveDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyItemChoice.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyMiscDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyNames.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyWeaponChoice.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyWeaponDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Explosive.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_HiddenNames.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_IMPItemChoices.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_IncompatibleAttachments.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_InteractiveTiles.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Launchable.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_LBEPocket.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_LoadBearingEquipment.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Magazine.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_MercStartingGear.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Merge.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Opinions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Profiles.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_RPCFacesSmall.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_SectorLoadscreens.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Sounds.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_SpreadPatterns.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_TonyInventory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyRank.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_AttachmentSlots.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_RandomStats.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Qarray.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_MilitiaIndividual.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_NewFaceGear.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Vehicles.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Ja25_Tactical.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_LBEPocketPopup.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_ItemAdjustments.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Disease.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Drugs.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Food.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Food.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Clothes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_RandomItem.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Merchants.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_LoadScreenHints.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_SoldierProfiles.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Background.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SkillMenu.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Taunts.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="RandomMerc.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_AdditionalTileProperties.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Locks.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Keys.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="VehicleMenu.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="DynamicDialogue.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_FoodOpinions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_StructureDeconstruct.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Structure_Move.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_StructureConstruct.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\AbstractXMLLoader.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\BodyType.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\BodyTypeDB.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\EnumeratorDB.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\Filter.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\FilterDB.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\Layers.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\PaletteDB.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\PaletteTable.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\SurfaceCache.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\SurfaceDB.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\XMLParseException.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
</ItemGroup>
</Project>
-476
View File
@@ -1,476 +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="Action Items.h" />
<ClInclude Include="Air Raid.h" />
<ClInclude Include="Animation Cache.h" />
<ClInclude Include="Animation Control.h" />
<ClInclude Include="Animation Data.h" />
<ClInclude Include="Arms Dealer Init.h" />
<ClInclude Include="ArmsDealerInvInit.h" />
<ClInclude Include="Auto Bandage.h" />
<ClInclude Include="BinaryHeap.hpp" />
<ClInclude Include="Boxing.h" />
<ClInclude Include="Bullets.h" />
<ClInclude Include="Campaign.h" />
<ClInclude Include="Civ Quotes.h" />
<ClInclude Include="Dialogue Control.h" />
<ClInclude Include="Disease.h" />
<ClInclude Include="DisplayCover.h" />
<ClInclude Include="Drugs And Alcohol.h" />
<ClInclude Include="DynamicDialogue.h" />
<ClInclude Include="End Game.h" />
<ClInclude Include="Enemy Soldier Save.h" />
<ClInclude Include="EnemyItemDrops.h" />
<ClInclude Include="faces.h" />
<ClInclude Include="Food.h" />
<ClInclude Include="fov.h" />
<ClInclude Include="GAP.H" />
<ClInclude Include="Handle Doors.h" />
<ClInclude Include="Handle Items.h" />
<ClInclude Include="Handle UI Plan.h" />
<ClInclude Include="Handle UI.h" />
<ClInclude Include="Interface Control.h" />
<ClInclude Include="Interface Cursors.h" />
<ClInclude Include="interface Dialogue.h" />
<ClInclude Include="Interface Enhanced.h" />
<ClInclude Include="Interface Items.h" />
<ClInclude Include="Interface Panels.h" />
<ClInclude Include="Interface Utils.h" />
<ClInclude Include="Interface.h" />
<ClInclude Include="InterfaceItemImages.h" />
<ClInclude Include="Inventory Choosing.h" />
<ClInclude Include="Item Types.h" />
<ClInclude Include="Items.h" />
<ClInclude Include="Ja25_Tactical.h" />
<ClInclude Include="Keys.h" />
<ClInclude Include="LogicalBodyTypes\AbstractXMLLoader.h" />
<ClInclude Include="LogicalBodyTypes\BodyType.h" />
<ClInclude Include="LogicalBodyTypes\BodyTypeDB.h" />
<ClInclude Include="LogicalBodyTypes\EnumeratorDB.h" />
<ClInclude Include="LogicalBodyTypes\Filter.h" />
<ClInclude Include="LogicalBodyTypes\FilterDB.h" />
<ClInclude Include="LogicalBodyTypes\Layers.h" />
<ClInclude Include="LogicalBodyTypes\PaletteDB.h" />
<ClInclude Include="LogicalBodyTypes\PaletteTable.h" />
<ClInclude Include="LogicalBodyTypes\Singleton.h" />
<ClInclude Include="LogicalBodyTypes\SurfaceCache.h" />
<ClInclude Include="LogicalBodyTypes\SurfaceDB.h" />
<ClInclude Include="LogicalBodyTypes\XMLParseException.h" />
<ClInclude Include="LOS.h" />
<ClInclude Include="Map Information.h" />
<ClInclude Include="merc entering.h" />
<ClInclude Include="Merc Hiring.h" />
<ClInclude Include="Militia Control.h" />
<ClInclude Include="MiniGame.h" />
<ClInclude Include="Morale.h" />
<ClInclude Include="opplist.h" />
<ClInclude Include="Overhead Types.h" />
<ClInclude Include="Overhead.h" />
<ClInclude Include="PATHAI.H" />
<ClInclude Include="PathAIDebug.h" />
<ClInclude Include="Points.h" />
<ClInclude Include="qarray.h" />
<ClInclude Include="Rain.h" />
<ClInclude Include="Rotting Corpses.h" />
<ClInclude Include="rt time defines.h" />
<ClInclude Include="ShopKeeper Interface.h" />
<ClInclude Include="ShopKeeper Quotes.h" />
<ClInclude Include="SkillCheck.h" />
<ClInclude Include="SkillMenu.h" />
<ClInclude Include="Soldier Add.h" />
<ClInclude Include="Soldier Ani.h" />
<ClInclude Include="Soldier Control.h" />
<ClInclude Include="Soldier Create.h" />
<ClInclude Include="Soldier Find.h" />
<ClInclude Include="Soldier Functions.h" />
<ClInclude Include="Soldier Init List.h" />
<ClInclude Include="Soldier macros.h" />
<ClInclude Include="soldier profile type.h" />
<ClInclude Include="Soldier Profile.h" />
<ClInclude Include="soldier tile.h" />
<ClInclude Include="Spread burst.h" />
<ClInclude Include="Squads.h" />
<ClInclude Include="Strategic Exit GUI.h" />
<ClInclude Include="Structure Wrap.h" />
<ClInclude Include="Tactical All.h" />
<ClInclude Include="Tactical Save.h" />
<ClInclude Include="Tactical Turns.h" />
<ClInclude Include="TeamTurns.h" />
<ClInclude Include="UI Cursors.h" />
<ClInclude Include="Vehicles.h" />
<ClInclude Include="VehicleMenu.h" />
<ClInclude Include="Weapons.h" />
<ClInclude Include="World Items.h" />
<ClInclude Include="XML.h" />
<ClInclude Include="XML_Profiles.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Air Raid.cpp" />
<ClCompile Include="Animation Cache.cpp" />
<ClCompile Include="Animation Control.cpp" />
<ClCompile Include="Animation Data.cpp" />
<ClCompile Include="Arms Dealer Init.cpp" />
<ClCompile Include="ArmsDealerInvInit.cpp" />
<ClCompile Include="Auto Bandage.cpp" />
<ClCompile Include="Boxing.cpp" />
<ClCompile Include="bullets.cpp" />
<ClCompile Include="Campaign.cpp" />
<ClCompile Include="Civ Quotes.cpp" />
<ClCompile Include="Dialogue Control.cpp" />
<ClCompile Include="Disease.cpp" />
<ClCompile Include="DisplayCover.cpp" />
<ClCompile Include="Drugs And Alcohol.cpp" />
<ClCompile Include="DynamicDialogue.cpp" />
<ClCompile Include="End Game.cpp" />
<ClCompile Include="Enemy Soldier Save.cpp" />
<ClCompile Include="EnemyItemDrops.cpp" />
<ClCompile Include="Faces.cpp" />
<ClCompile Include="Food.cpp" />
<ClCompile Include="fov.cpp" />
<ClCompile Include="GAP.cpp" />
<ClCompile Include="Handle Doors.cpp" />
<ClCompile Include="Handle Items.cpp" />
<ClCompile Include="Handle UI Plan.cpp" />
<ClCompile Include="Handle UI.cpp" />
<ClCompile Include="Interface Control.cpp" />
<ClCompile Include="Interface Cursors.cpp" />
<ClCompile Include="Interface Dialogue.cpp" />
<ClCompile Include="Interface Enhanced.cpp" />
<ClCompile Include="Interface Items.cpp" />
<ClCompile Include="Interface Panels.cpp" />
<ClCompile Include="Interface Utils.cpp" />
<ClCompile Include="Interface.cpp" />
<ClCompile Include="InterfaceItemImages.cpp" />
<ClCompile Include="Inventory Choosing.cpp" />
<ClCompile Include="Item Types.cpp" />
<ClCompile Include="Items.cpp" />
<ClCompile Include="Ja25_Tactical.cpp" />
<ClCompile Include="Keys.cpp" />
<ClCompile Include="LogicalBodyTypes\AbstractXMLLoader.cpp" />
<ClCompile Include="LogicalBodyTypes\BodyType.cpp" />
<ClCompile Include="LogicalBodyTypes\BodyTypeDB.cpp" />
<ClCompile Include="LogicalBodyTypes\EnumeratorDB.cpp" />
<ClCompile Include="LogicalBodyTypes\Filter.cpp" />
<ClCompile Include="LogicalBodyTypes\FilterDB.cpp" />
<ClCompile Include="LogicalBodyTypes\Layers.cpp" />
<ClCompile Include="LogicalBodyTypes\PaletteDB.cpp" />
<ClCompile Include="LogicalBodyTypes\PaletteTable.cpp" />
<ClCompile Include="LogicalBodyTypes\SurfaceCache.cpp" />
<ClCompile Include="LogicalBodyTypes\SurfaceDB.cpp" />
<ClCompile Include="LogicalBodyTypes\XMLParseException.cpp" />
<ClCompile Include="LOS.cpp" />
<ClCompile Include="Map Information.cpp" />
<ClCompile Include="Merc Entering.cpp" />
<ClCompile Include="Merc Hiring.cpp" />
<ClCompile Include="Militia Control.cpp" />
<ClCompile Include="Minigame.cpp" />
<ClCompile Include="Morale.cpp" />
<ClCompile Include="opplist.cpp" />
<ClCompile Include="Overhead.cpp" />
<ClCompile Include="PATHAI.cpp" />
<ClCompile Include="Points.cpp" />
<ClCompile Include="QARRAY.cpp" />
<ClCompile Include="Rain.cpp" />
<ClCompile Include="RandomMerc.cpp" />
<ClCompile Include="Real Time Input.cpp" />
<ClCompile Include="Rotting Corpses.cpp" />
<ClCompile Include="ShopKeeper Interface.cpp" />
<ClCompile Include="SkillCheck.cpp" />
<ClCompile Include="SkillMenu.cpp" />
<ClCompile Include="Soldier Add.cpp" />
<ClCompile Include="Soldier Ani.cpp" />
<ClCompile Include="Soldier Control.cpp" />
<ClCompile Include="Soldier Create.cpp" />
<ClCompile Include="Soldier Find.cpp" />
<ClCompile Include="Soldier Init List.cpp" />
<ClCompile Include="Soldier Profile.cpp" />
<ClCompile Include="Soldier Tile.cpp" />
<ClCompile Include="SoldierTooltips.cpp" />
<ClCompile Include="Spread Burst.cpp" />
<ClCompile Include="Squads.cpp" />
<ClCompile Include="Strategic Exit GUI.cpp" />
<ClCompile Include="Structure Wrap.cpp" />
<ClCompile Include="Tactical Save.cpp" />
<ClCompile Include="Tactical Turns.cpp" />
<ClCompile Include="TeamTurns.cpp" />
<ClCompile Include="Turn Based Input.cpp" />
<ClCompile Include="UI Cursors.cpp" />
<ClCompile Include="Vehicles.cpp" />
<ClCompile Include="VehicleMenu.cpp" />
<ClCompile Include="Weapons.cpp" />
<ClCompile Include="World Items.cpp" />
<ClCompile Include="XML_AmmoStrings.cpp" />
<ClCompile Include="XML_AmmoTypes.cpp" />
<ClCompile Include="XML_Armour.cpp" />
<ClCompile Include="XML_AttachmentInfo.cpp" />
<ClCompile Include="XML_Attachments.cpp" />
<ClCompile Include="XML_AttachmentSlots.cpp" />
<ClCompile Include="XML_Background.cpp" />
<ClCompile Include="XML_BurstSounds.cpp" />
<ClCompile Include="XML_CivGroupNames.cpp" />
<ClCompile Include="XML_Clothes.cpp" />
<ClCompile Include="XML_ComboMergeInfo.cpp" />
<ClCompile Include="XML_CompatibleFaceItems.cpp" />
<ClCompile Include="XML_Disease.cpp" />
<ClCompile Include="XML_Drugs.cpp" />
<ClCompile Include="XML_EnemyAmmoDrops.cpp" />
<ClCompile Include="XML_EnemyArmourDrops.cpp" />
<ClCompile Include="XML_EnemyExplosiveDrops.cpp" />
<ClCompile Include="XML_EnemyItemChoice.cpp" />
<ClCompile Include="XML_EnemyMiscDrops.cpp" />
<ClCompile Include="XML_EnemyNames.cpp" />
<ClCompile Include="XML_EnemyRank.cpp" />
<ClCompile Include="XML_EnemyWeaponChoice.cpp" />
<ClCompile Include="XML_EnemyWeaponDrops.cpp" />
<ClCompile Include="XML_Explosive.cpp" />
<ClCompile Include="XML_Food.cpp" />
<ClCompile Include="XML_FoodOpinions.cpp" />
<ClCompile Include="XML_HiddenNames.cpp" />
<ClCompile Include="XML_IMPItemChoices.cpp" />
<ClCompile Include="XML_IncompatibleAttachments.cpp" />
<ClCompile Include="XML_InteractiveTiles.cpp" />
<ClCompile Include="XML_ItemAdjustments.cpp" />
<ClCompile Include="XML_Keys.cpp" />
<ClCompile Include="XML_Launchable.cpp" />
<ClCompile Include="XML_LBEPocket.cpp" />
<ClCompile Include="XML_LBEPocketPopup.cpp" />
<ClCompile Include="XML_LoadBearingEquipment.cpp" />
<ClCompile Include="XML_LoadScreenHints.cpp" />
<ClCompile Include="XML_Locks.cpp" />
<ClCompile Include="XML_Magazine.cpp" />
<ClCompile Include="XML_Merchants.cpp" />
<ClCompile Include="XML_MercStartingGear.cpp" />
<ClCompile Include="XML_Merge.cpp" />
<ClCompile Include="XML_MilitiaIndividual.cpp" />
<ClCompile Include="XML_NewFaceGear.cpp" />
<ClCompile Include="XML_Opinions.cpp" />
<ClCompile Include="XML_Profiles.cpp" />
<ClCompile Include="XML_Qarray.cpp" />
<ClCompile Include="XML_RandomItem.cpp" />
<ClCompile Include="XML_RandomStats.cpp" />
<ClCompile Include="XML_RPCFacesSmall.cpp" />
<ClCompile Include="XML_SectorLoadscreens.cpp" />
<ClCompile Include="XML_SoldierProfiles.cpp" />
<ClCompile Include="XML_Sounds.cpp" />
<ClCompile Include="XML_SpreadPatterns.cpp" />
<ClCompile Include="XML_StructureConstruct.cpp" />
<ClCompile Include="XML_StructureDeconstruct.cpp" />
<ClCompile Include="XML_Structure_Move.cpp" />
<ClCompile Include="XML_Taunts.cpp" />
<ClCompile Include="XML_AdditionalTileProperties.cpp" />
<ClCompile Include="XML_TonyInventory.cpp" />
<ClCompile Include="XML_Vehicles.cpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{433FBCC4-F612-489C-AA28-CCD6CF27D80C}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Tactical</RootNamespace>
<ProjectName>Tactical</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>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</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>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</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>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<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>
-792
View File
@@ -1,792 +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>{b76e83a9-042b-4267-96e0-ffd42052b5d5}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{c1880088-a976-405e-919e-9f1e97ad6701}</UniqueIdentifier>
</Filter>
<Filter Include="Logical Bodytypes">
<UniqueIdentifier>{7ccf82e9-8713-4351-af1f-218106a69555}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Action Items.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Air Raid.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Animation Cache.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Animation Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Animation Data.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Arms Dealer Init.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ArmsDealerInvInit.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Auto Bandage.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="BinaryHeap.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Boxing.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Bullets.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Campaign.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Civ Quotes.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Dialogue Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="DisplayCover.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Drugs And Alcohol.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="End Game.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Enemy Soldier Save.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="EnemyItemDrops.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="faces.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="fov.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="GAP.H">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Handle Doors.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Handle Items.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Handle UI Plan.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Handle UI.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Cursors.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="interface Dialogue.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Enhanced.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Items.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Panels.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Utils.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="InterfaceItemImages.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Inventory Choosing.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Item Types.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Items.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Keys.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="LOS.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Map Information.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="merc entering.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Merc Hiring.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Militia Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Morale.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="opplist.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Overhead Types.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Overhead.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="PATHAI.H">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="PathAIDebug.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Points.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="qarray.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Rain.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Rotting Corpses.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rt time defines.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ShopKeeper Interface.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ShopKeeper Quotes.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="SkillCheck.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Add.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Ani.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Create.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Find.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Functions.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Init List.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier macros.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="soldier profile type.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Profile.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="soldier tile.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Spread burst.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Squads.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Exit GUI.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Structure Wrap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Tactical All.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Tactical Save.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Tactical Turns.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="TeamTurns.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="UI Cursors.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Vehicles.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="VehicleMenu.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Weapons.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="World Items.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="XML.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="XML_Profiles.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Ja25_Tactical.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Food.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="SkillMenu.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="DynamicDialogue.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Disease.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="MiniGame.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\AbstractXMLLoader.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\BodyType.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\BodyTypeDB.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\EnumeratorDB.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\Filter.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\FilterDB.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\Layers.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\PaletteDB.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\PaletteTable.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\Singleton.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\SurfaceCache.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\SurfaceDB.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\XMLParseException.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="Air Raid.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Animation Cache.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Animation Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Animation Data.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Arms Dealer Init.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ArmsDealerInvInit.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Auto Bandage.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Boxing.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="bullets.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Campaign.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Civ Quotes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Dialogue Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="DisplayCover.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Drugs And Alcohol.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="End Game.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Enemy Soldier Save.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="EnemyItemDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Faces.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="fov.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="GAP.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Handle Doors.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Handle Items.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Handle UI Plan.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Handle UI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Cursors.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Dialogue.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Enhanced.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Items.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Panels.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Utils.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="InterfaceItemImages.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Inventory Choosing.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Item Types.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Items.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Keys.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="LOS.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Map Information.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Merc Entering.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Merc Hiring.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Militia Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Morale.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="opplist.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Overhead.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="PATHAI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Points.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="QARRAY.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Rain.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Real Time Input.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Rotting Corpses.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ShopKeeper Interface.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SkillCheck.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Add.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Ani.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Create.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Find.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Init List.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Profile.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Tile.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SoldierTooltips.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Spread Burst.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Squads.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Exit GUI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Structure Wrap.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Tactical Save.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Tactical Turns.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="TeamTurns.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Turn Based Input.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="UI Cursors.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Vehicles.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="VehicleMenu.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Weapons.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="World Items.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_AmmoStrings.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_AmmoTypes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Armour.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_AttachmentInfo.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Attachments.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_BurstSounds.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_CivGroupNames.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_ComboMergeInfo.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_CompatibleFaceItems.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyAmmoDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyArmourDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyExplosiveDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyItemChoice.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyMiscDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyNames.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyWeaponChoice.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyWeaponDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Explosive.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_HiddenNames.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_IMPItemChoices.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_IncompatibleAttachments.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Launchable.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_LBEPocket.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_LoadBearingEquipment.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Magazine.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_MercStartingGear.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Merge.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Opinions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Profiles.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_RPCFacesSmall.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_SectorLoadscreens.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Sounds.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_SpreadPatterns.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_StructureConstruct.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_StructureDeconstruct.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Structure_Move.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_TonyInventory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyRank.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_AttachmentSlots.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_RandomStats.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Qarray.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_NewFaceGear.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Vehicles.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Ja25_Tactical.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_LBEPocketPopup.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_ItemAdjustments.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Drugs.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Food.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Food.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_FoodOpinions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Clothes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_RandomItem.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Merchants.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_LoadScreenHints.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_SoldierProfiles.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Background.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SkillMenu.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Taunts.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="RandomMerc.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_AdditionalTileProperties.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Locks.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Keys.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="DynamicDialogue.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Disease.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Disease.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_MilitiaIndividual.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_InteractiveTiles.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Minigame.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\AbstractXMLLoader.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\BodyType.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\BodyTypeDB.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\EnumeratorDB.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\Filter.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\FilterDB.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\Layers.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\PaletteDB.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\PaletteTable.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\SurfaceCache.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\SurfaceDB.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\XMLParseException.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
</ItemGroup>
</Project>
-477
View File
@@ -1,477 +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="Action Items.h" />
<ClInclude Include="Air Raid.h" />
<ClInclude Include="Animation Cache.h" />
<ClInclude Include="Animation Control.h" />
<ClInclude Include="Animation Data.h" />
<ClInclude Include="Arms Dealer Init.h" />
<ClInclude Include="ArmsDealerInvInit.h" />
<ClInclude Include="Auto Bandage.h" />
<ClInclude Include="BinaryHeap.hpp" />
<ClInclude Include="Boxing.h" />
<ClInclude Include="Bullets.h" />
<ClInclude Include="Campaign.h" />
<ClInclude Include="Civ Quotes.h" />
<ClInclude Include="Dialogue Control.h" />
<ClInclude Include="Disease.h" />
<ClInclude Include="DisplayCover.h" />
<ClInclude Include="Drugs And Alcohol.h" />
<ClInclude Include="DynamicDialogue.h" />
<ClInclude Include="End Game.h" />
<ClInclude Include="Enemy Soldier Save.h" />
<ClInclude Include="EnemyItemDrops.h" />
<ClInclude Include="faces.h" />
<ClInclude Include="Food.h" />
<ClInclude Include="fov.h" />
<ClInclude Include="GAP.H" />
<ClInclude Include="Handle Doors.h" />
<ClInclude Include="Handle Items.h" />
<ClInclude Include="Handle UI Plan.h" />
<ClInclude Include="Handle UI.h" />
<ClInclude Include="Interface Control.h" />
<ClInclude Include="Interface Cursors.h" />
<ClInclude Include="interface Dialogue.h" />
<ClInclude Include="Interface Enhanced.h" />
<ClInclude Include="Interface Items.h" />
<ClInclude Include="Interface Panels.h" />
<ClInclude Include="Interface Utils.h" />
<ClInclude Include="Interface.h" />
<ClInclude Include="InterfaceItemImages.h" />
<ClInclude Include="Inventory Choosing.h" />
<ClInclude Include="Item Types.h" />
<ClInclude Include="Items.h" />
<ClInclude Include="Ja25_Tactical.h" />
<ClInclude Include="Keys.h" />
<ClInclude Include="LogicalBodyTypes\AbstractXMLLoader.h" />
<ClInclude Include="LogicalBodyTypes\BodyType.h" />
<ClInclude Include="LogicalBodyTypes\BodyTypeDB.h" />
<ClInclude Include="LogicalBodyTypes\EnumeratorDB.h" />
<ClInclude Include="LogicalBodyTypes\Filter.h" />
<ClInclude Include="LogicalBodyTypes\FilterDB.h" />
<ClInclude Include="LogicalBodyTypes\Layers.h" />
<ClInclude Include="LogicalBodyTypes\PaletteDB.h" />
<ClInclude Include="LogicalBodyTypes\PaletteTable.h" />
<ClInclude Include="LogicalBodyTypes\Singleton.h" />
<ClInclude Include="LogicalBodyTypes\SurfaceCache.h" />
<ClInclude Include="LogicalBodyTypes\SurfaceDB.h" />
<ClInclude Include="LogicalBodyTypes\XMLParseException.h" />
<ClInclude Include="LOS.h" />
<ClInclude Include="Map Information.h" />
<ClInclude Include="merc entering.h" />
<ClInclude Include="Merc Hiring.h" />
<ClInclude Include="Militia Control.h" />
<ClInclude Include="MiniGame.h" />
<ClInclude Include="Morale.h" />
<ClInclude Include="opplist.h" />
<ClInclude Include="Overhead Types.h" />
<ClInclude Include="Overhead.h" />
<ClInclude Include="PATHAI.H" />
<ClInclude Include="PathAIDebug.h" />
<ClInclude Include="Points.h" />
<ClInclude Include="qarray.h" />
<ClInclude Include="Rain.h" />
<ClInclude Include="Rotting Corpses.h" />
<ClInclude Include="rt time defines.h" />
<ClInclude Include="ShopKeeper Interface.h" />
<ClInclude Include="ShopKeeper Quotes.h" />
<ClInclude Include="SkillCheck.h" />
<ClInclude Include="SkillMenu.h" />
<ClInclude Include="Soldier Add.h" />
<ClInclude Include="Soldier Ani.h" />
<ClInclude Include="Soldier Control.h" />
<ClInclude Include="Soldier Create.h" />
<ClInclude Include="Soldier Find.h" />
<ClInclude Include="Soldier Functions.h" />
<ClInclude Include="Soldier Init List.h" />
<ClInclude Include="Soldier macros.h" />
<ClInclude Include="soldier profile type.h" />
<ClInclude Include="Soldier Profile.h" />
<ClInclude Include="soldier tile.h" />
<ClInclude Include="Spread burst.h" />
<ClInclude Include="Squads.h" />
<ClInclude Include="Strategic Exit GUI.h" />
<ClInclude Include="Structure Wrap.h" />
<ClInclude Include="Tactical All.h" />
<ClInclude Include="Tactical Save.h" />
<ClInclude Include="Tactical Turns.h" />
<ClInclude Include="TeamTurns.h" />
<ClInclude Include="UI Cursors.h" />
<ClInclude Include="Vehicles.h" />
<ClInclude Include="VehicleMenu.h" />
<ClInclude Include="Weapons.h" />
<ClInclude Include="World Items.h" />
<ClInclude Include="XML.h" />
<ClInclude Include="XML_Profiles.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Air Raid.cpp" />
<ClCompile Include="Animation Cache.cpp" />
<ClCompile Include="Animation Control.cpp" />
<ClCompile Include="Animation Data.cpp" />
<ClCompile Include="Arms Dealer Init.cpp" />
<ClCompile Include="ArmsDealerInvInit.cpp" />
<ClCompile Include="Auto Bandage.cpp" />
<ClCompile Include="Boxing.cpp" />
<ClCompile Include="bullets.cpp" />
<ClCompile Include="Campaign.cpp" />
<ClCompile Include="Civ Quotes.cpp" />
<ClCompile Include="Dialogue Control.cpp" />
<ClCompile Include="Disease.cpp" />
<ClCompile Include="DisplayCover.cpp" />
<ClCompile Include="Drugs And Alcohol.cpp" />
<ClCompile Include="DynamicDialogue.cpp" />
<ClCompile Include="End Game.cpp" />
<ClCompile Include="Enemy Soldier Save.cpp" />
<ClCompile Include="EnemyItemDrops.cpp" />
<ClCompile Include="Faces.cpp" />
<ClCompile Include="Food.cpp" />
<ClCompile Include="fov.cpp" />
<ClCompile Include="GAP.cpp" />
<ClCompile Include="Handle Doors.cpp" />
<ClCompile Include="Handle Items.cpp" />
<ClCompile Include="Handle UI Plan.cpp" />
<ClCompile Include="Handle UI.cpp" />
<ClCompile Include="Interface Control.cpp" />
<ClCompile Include="Interface Cursors.cpp" />
<ClCompile Include="Interface Dialogue.cpp" />
<ClCompile Include="Interface Enhanced.cpp" />
<ClCompile Include="Interface Items.cpp" />
<ClCompile Include="Interface Panels.cpp" />
<ClCompile Include="Interface Utils.cpp" />
<ClCompile Include="Interface.cpp" />
<ClCompile Include="InterfaceItemImages.cpp" />
<ClCompile Include="Inventory Choosing.cpp" />
<ClCompile Include="Item Types.cpp" />
<ClCompile Include="Items.cpp" />
<ClCompile Include="Ja25_Tactical.cpp" />
<ClCompile Include="Keys.cpp" />
<ClCompile Include="LogicalBodyTypes\AbstractXMLLoader.cpp" />
<ClCompile Include="LogicalBodyTypes\BodyType.cpp" />
<ClCompile Include="LogicalBodyTypes\BodyTypeDB.cpp" />
<ClCompile Include="LogicalBodyTypes\EnumeratorDB.cpp" />
<ClCompile Include="LogicalBodyTypes\Filter.cpp" />
<ClCompile Include="LogicalBodyTypes\FilterDB.cpp" />
<ClCompile Include="LogicalBodyTypes\Layers.cpp" />
<ClCompile Include="LogicalBodyTypes\PaletteDB.cpp" />
<ClCompile Include="LogicalBodyTypes\PaletteTable.cpp" />
<ClCompile Include="LogicalBodyTypes\SurfaceCache.cpp" />
<ClCompile Include="LogicalBodyTypes\SurfaceDB.cpp" />
<ClCompile Include="LogicalBodyTypes\XMLParseException.cpp" />
<ClCompile Include="LOS.cpp" />
<ClCompile Include="Map Information.cpp" />
<ClCompile Include="Merc Entering.cpp" />
<ClCompile Include="Merc Hiring.cpp" />
<ClCompile Include="Militia Control.cpp" />
<ClCompile Include="Minigame.cpp" />
<ClCompile Include="Morale.cpp" />
<ClCompile Include="opplist.cpp" />
<ClCompile Include="Overhead.cpp" />
<ClCompile Include="PATHAI.cpp" />
<ClCompile Include="Points.cpp" />
<ClCompile Include="QARRAY.cpp" />
<ClCompile Include="Rain.cpp" />
<ClCompile Include="RandomMerc.cpp" />
<ClCompile Include="Real Time Input.cpp" />
<ClCompile Include="Rotting Corpses.cpp" />
<ClCompile Include="ShopKeeper Interface.cpp" />
<ClCompile Include="SkillCheck.cpp" />
<ClCompile Include="SkillMenu.cpp" />
<ClCompile Include="Soldier Add.cpp" />
<ClCompile Include="Soldier Ani.cpp" />
<ClCompile Include="Soldier Control.cpp" />
<ClCompile Include="Soldier Create.cpp" />
<ClCompile Include="Soldier Find.cpp" />
<ClCompile Include="Soldier Init List.cpp" />
<ClCompile Include="Soldier Profile.cpp" />
<ClCompile Include="Soldier Tile.cpp" />
<ClCompile Include="SoldierTooltips.cpp" />
<ClCompile Include="Spread Burst.cpp" />
<ClCompile Include="Squads.cpp" />
<ClCompile Include="Strategic Exit GUI.cpp" />
<ClCompile Include="Structure Wrap.cpp" />
<ClCompile Include="Tactical Save.cpp" />
<ClCompile Include="Tactical Turns.cpp" />
<ClCompile Include="TeamTurns.cpp" />
<ClCompile Include="Turn Based Input.cpp" />
<ClCompile Include="UI Cursors.cpp" />
<ClCompile Include="Vehicles.cpp" />
<ClCompile Include="VehicleMenu.cpp" />
<ClCompile Include="Weapons.cpp" />
<ClCompile Include="World Items.cpp" />
<ClCompile Include="XML_AmmoStrings.cpp" />
<ClCompile Include="XML_AmmoTypes.cpp" />
<ClCompile Include="XML_Armour.cpp" />
<ClCompile Include="XML_AttachmentInfo.cpp" />
<ClCompile Include="XML_Attachments.cpp" />
<ClCompile Include="XML_AttachmentSlots.cpp" />
<ClCompile Include="XML_Background.cpp" />
<ClCompile Include="XML_BurstSounds.cpp" />
<ClCompile Include="XML_CivGroupNames.cpp" />
<ClCompile Include="XML_Clothes.cpp" />
<ClCompile Include="XML_ComboMergeInfo.cpp" />
<ClCompile Include="XML_CompatibleFaceItems.cpp" />
<ClCompile Include="XML_Disease.cpp" />
<ClCompile Include="XML_Drugs.cpp" />
<ClCompile Include="XML_EnemyAmmoDrops.cpp" />
<ClCompile Include="XML_EnemyArmourDrops.cpp" />
<ClCompile Include="XML_EnemyExplosiveDrops.cpp" />
<ClCompile Include="XML_EnemyItemChoice.cpp" />
<ClCompile Include="XML_EnemyMiscDrops.cpp" />
<ClCompile Include="XML_EnemyNames.cpp" />
<ClCompile Include="XML_EnemyRank.cpp" />
<ClCompile Include="XML_EnemyWeaponChoice.cpp" />
<ClCompile Include="XML_EnemyWeaponDrops.cpp" />
<ClCompile Include="XML_Explosive.cpp" />
<ClCompile Include="XML_Food.cpp" />
<ClCompile Include="XML_FoodOpinions.cpp" />
<ClCompile Include="XML_HiddenNames.cpp" />
<ClCompile Include="XML_IMPItemChoices.cpp" />
<ClCompile Include="XML_IncompatibleAttachments.cpp" />
<ClCompile Include="XML_InteractiveTiles.cpp" />
<ClCompile Include="XML_ItemAdjustments.cpp" />
<ClCompile Include="XML_Keys.cpp" />
<ClCompile Include="XML_Launchable.cpp" />
<ClCompile Include="XML_LBEPocket.cpp" />
<ClCompile Include="XML_LBEPocketPopup.cpp" />
<ClCompile Include="XML_LoadBearingEquipment.cpp" />
<ClCompile Include="XML_LoadScreenHints.cpp" />
<ClCompile Include="XML_Locks.cpp" />
<ClCompile Include="XML_Magazine.cpp" />
<ClCompile Include="XML_Merchants.cpp" />
<ClCompile Include="XML_MercStartingGear.cpp" />
<ClCompile Include="XML_Merge.cpp" />
<ClCompile Include="XML_MilitiaIndividual.cpp" />
<ClCompile Include="XML_NewFaceGear.cpp" />
<ClCompile Include="XML_Opinions.cpp" />
<ClCompile Include="XML_Profiles.cpp" />
<ClCompile Include="XML_Qarray.cpp" />
<ClCompile Include="XML_RandomItem.cpp" />
<ClCompile Include="XML_RandomStats.cpp" />
<ClCompile Include="XML_RPCFacesSmall.cpp" />
<ClCompile Include="XML_SectorLoadscreens.cpp" />
<ClCompile Include="XML_SoldierProfiles.cpp" />
<ClCompile Include="XML_Sounds.cpp" />
<ClCompile Include="XML_SpreadPatterns.cpp" />
<ClCompile Include="XML_StructureConstruct.cpp" />
<ClCompile Include="XML_StructureDeconstruct.cpp" />
<ClCompile Include="XML_Structure_Move.cpp" />
<ClCompile Include="XML_Taunts.cpp" />
<ClCompile Include="XML_AdditionalTileProperties.cpp" />
<ClCompile Include="XML_TonyInventory.cpp" />
<ClCompile Include="XML_Vehicles.cpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{433FBCC4-F612-489C-AA28-CCD6CF27D80C}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Tactical</RootNamespace>
<ProjectName>Tactical</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>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</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>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</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>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<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>
-792
View File
@@ -1,792 +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>{b76e83a9-042b-4267-96e0-ffd42052b5d5}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{c1880088-a976-405e-919e-9f1e97ad6701}</UniqueIdentifier>
</Filter>
<Filter Include="Logical Bodytypes">
<UniqueIdentifier>{7ccf82e9-8713-4351-af1f-218106a69555}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Action Items.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Air Raid.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Animation Cache.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Animation Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Animation Data.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Arms Dealer Init.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ArmsDealerInvInit.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Auto Bandage.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="BinaryHeap.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Boxing.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Bullets.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Campaign.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Civ Quotes.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Dialogue Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="DisplayCover.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Drugs And Alcohol.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="End Game.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Enemy Soldier Save.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="EnemyItemDrops.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="faces.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="fov.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="GAP.H">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Handle Doors.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Handle Items.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Handle UI Plan.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Handle UI.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Cursors.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="interface Dialogue.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Enhanced.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Items.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Panels.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Utils.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="InterfaceItemImages.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Inventory Choosing.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Item Types.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Items.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Keys.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="LOS.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Map Information.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="merc entering.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Merc Hiring.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Militia Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Morale.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="opplist.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Overhead Types.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Overhead.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="PATHAI.H">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="PathAIDebug.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Points.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="qarray.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Rain.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Rotting Corpses.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rt time defines.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ShopKeeper Interface.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ShopKeeper Quotes.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="SkillCheck.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Add.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Ani.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Create.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Find.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Functions.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Init List.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier macros.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="soldier profile type.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Profile.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="soldier tile.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Spread burst.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Squads.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Exit GUI.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Structure Wrap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Tactical All.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Tactical Save.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Tactical Turns.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="TeamTurns.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="UI Cursors.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Vehicles.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="VehicleMenu.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Weapons.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="World Items.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="XML.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="XML_Profiles.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Ja25_Tactical.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Food.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="SkillMenu.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="DynamicDialogue.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Disease.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="MiniGame.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\AbstractXMLLoader.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\BodyType.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\BodyTypeDB.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\EnumeratorDB.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\Filter.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\FilterDB.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\Layers.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\PaletteDB.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\PaletteTable.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\Singleton.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\SurfaceCache.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\SurfaceDB.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\XMLParseException.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="Air Raid.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Animation Cache.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Animation Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Animation Data.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Arms Dealer Init.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ArmsDealerInvInit.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Auto Bandage.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Boxing.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="bullets.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Campaign.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Civ Quotes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Dialogue Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="DisplayCover.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Drugs And Alcohol.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="End Game.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Enemy Soldier Save.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="EnemyItemDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Faces.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="fov.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="GAP.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Handle Doors.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Handle Items.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Handle UI Plan.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Handle UI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Cursors.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Dialogue.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Enhanced.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Items.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Panels.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Utils.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="InterfaceItemImages.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Inventory Choosing.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Item Types.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Items.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Keys.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="LOS.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Map Information.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Merc Entering.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Merc Hiring.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Militia Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Morale.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="opplist.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Overhead.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="PATHAI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Points.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="QARRAY.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Rain.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Real Time Input.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Rotting Corpses.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ShopKeeper Interface.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SkillCheck.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Add.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Ani.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Create.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Find.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Init List.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Profile.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Tile.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SoldierTooltips.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Spread Burst.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Squads.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Exit GUI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Structure Wrap.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Tactical Save.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Tactical Turns.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="TeamTurns.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Turn Based Input.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="UI Cursors.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Vehicles.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="VehicleMenu.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Weapons.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="World Items.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_AmmoStrings.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_AmmoTypes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Armour.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_AttachmentInfo.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Attachments.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_BurstSounds.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_CivGroupNames.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_ComboMergeInfo.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_CompatibleFaceItems.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyAmmoDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyArmourDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyExplosiveDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyItemChoice.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyMiscDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyNames.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyWeaponChoice.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyWeaponDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Explosive.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_HiddenNames.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_IMPItemChoices.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_IncompatibleAttachments.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Launchable.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_LBEPocket.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_LoadBearingEquipment.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Magazine.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_MercStartingGear.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Merge.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Opinions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Profiles.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_RPCFacesSmall.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_SectorLoadscreens.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Sounds.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_SpreadPatterns.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_StructureConstruct.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_StructureDeconstruct.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Structure_Move.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_TonyInventory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyRank.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_AttachmentSlots.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_RandomStats.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Qarray.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_NewFaceGear.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Vehicles.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Ja25_Tactical.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_LBEPocketPopup.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_ItemAdjustments.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Drugs.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Food.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Food.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_FoodOpinions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Clothes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_RandomItem.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Merchants.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_LoadScreenHints.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_SoldierProfiles.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Background.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SkillMenu.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Taunts.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="RandomMerc.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_AdditionalTileProperties.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Locks.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Keys.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="DynamicDialogue.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Disease.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Disease.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_MilitiaIndividual.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_InteractiveTiles.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Minigame.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\AbstractXMLLoader.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\BodyType.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\BodyTypeDB.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\EnumeratorDB.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\Filter.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\FilterDB.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\Layers.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\PaletteDB.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\PaletteTable.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\SurfaceCache.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\SurfaceDB.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\XMLParseException.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
</ItemGroup>
</Project>
-485
View File
@@ -1,485 +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="Action Items.h" />
<ClInclude Include="Air Raid.h" />
<ClInclude Include="Animation Cache.h" />
<ClInclude Include="Animation Control.h" />
<ClInclude Include="Animation Data.h" />
<ClInclude Include="Arms Dealer Init.h" />
<ClInclude Include="ArmsDealerInvInit.h" />
<ClInclude Include="Auto Bandage.h" />
<ClInclude Include="BinaryHeap.hpp" />
<ClInclude Include="Boxing.h" />
<ClInclude Include="Bullets.h" />
<ClInclude Include="Campaign.h" />
<ClInclude Include="Civ Quotes.h" />
<ClInclude Include="Dialogue Control.h" />
<ClInclude Include="Disease.h" />
<ClInclude Include="DisplayCover.h" />
<ClInclude Include="Drugs And Alcohol.h" />
<ClInclude Include="DynamicDialogue.h" />
<ClInclude Include="End Game.h" />
<ClInclude Include="Enemy Soldier Save.h" />
<ClInclude Include="EnemyItemDrops.h" />
<ClInclude Include="faces.h" />
<ClInclude Include="Food.h" />
<ClInclude Include="fov.h" />
<ClInclude Include="GAP.H" />
<ClInclude Include="Handle Doors.h" />
<ClInclude Include="Handle Items.h" />
<ClInclude Include="Handle UI Plan.h" />
<ClInclude Include="Handle UI.h" />
<ClInclude Include="Interface Control.h" />
<ClInclude Include="Interface Cursors.h" />
<ClInclude Include="interface Dialogue.h" />
<ClInclude Include="Interface Enhanced.h" />
<ClInclude Include="Interface Items.h" />
<ClInclude Include="Interface Panels.h" />
<ClInclude Include="Interface Utils.h" />
<ClInclude Include="Interface.h" />
<ClInclude Include="InterfaceItemImages.h" />
<ClInclude Include="Inventory Choosing.h" />
<ClInclude Include="Item Types.h" />
<ClInclude Include="Items.h" />
<ClInclude Include="Ja25_Tactical.h" />
<ClInclude Include="Keys.h" />
<ClInclude Include="LogicalBodyTypes\AbstractXMLLoader.h" />
<ClInclude Include="LogicalBodyTypes\BodyType.h" />
<ClInclude Include="LogicalBodyTypes\BodyTypeDB.h" />
<ClInclude Include="LogicalBodyTypes\EnumeratorDB.h" />
<ClInclude Include="LogicalBodyTypes\Filter.h" />
<ClInclude Include="LogicalBodyTypes\FilterDB.h" />
<ClInclude Include="LogicalBodyTypes\Layers.h" />
<ClInclude Include="LogicalBodyTypes\PaletteDB.h" />
<ClInclude Include="LogicalBodyTypes\PaletteTable.h" />
<ClInclude Include="LogicalBodyTypes\Singleton.h" />
<ClInclude Include="LogicalBodyTypes\SurfaceCache.h" />
<ClInclude Include="LogicalBodyTypes\SurfaceDB.h" />
<ClInclude Include="LogicalBodyTypes\XMLParseException.h" />
<ClInclude Include="LOS.h" />
<ClInclude Include="Map Information.h" />
<ClInclude Include="merc entering.h" />
<ClInclude Include="Merc Hiring.h" />
<ClInclude Include="Militia Control.h" />
<ClInclude Include="MiniGame.h" />
<ClInclude Include="Morale.h" />
<ClInclude Include="opplist.h" />
<ClInclude Include="Overhead Types.h" />
<ClInclude Include="Overhead.h" />
<ClInclude Include="PATHAI.H" />
<ClInclude Include="PathAIDebug.h" />
<ClInclude Include="Points.h" />
<ClInclude Include="qarray.h" />
<ClInclude Include="Rain.h" />
<ClInclude Include="Rotting Corpses.h" />
<ClInclude Include="rt time defines.h" />
<ClInclude Include="ShopKeeper Interface.h" />
<ClInclude Include="ShopKeeper Quotes.h" />
<ClInclude Include="SkillCheck.h" />
<ClInclude Include="SkillMenu.h" />
<ClInclude Include="Soldier Add.h" />
<ClInclude Include="Soldier Ani.h" />
<ClInclude Include="Soldier Control.h" />
<ClInclude Include="Soldier Create.h" />
<ClInclude Include="Soldier Find.h" />
<ClInclude Include="Soldier Functions.h" />
<ClInclude Include="Soldier Init List.h" />
<ClInclude Include="Soldier macros.h" />
<ClInclude Include="soldier profile type.h" />
<ClInclude Include="Soldier Profile.h" />
<ClInclude Include="soldier tile.h" />
<ClInclude Include="Spread burst.h" />
<ClInclude Include="Squads.h" />
<ClInclude Include="Strategic Exit GUI.h" />
<ClInclude Include="Structure Wrap.h" />
<ClInclude Include="Tactical All.h" />
<ClInclude Include="Tactical Save.h" />
<ClInclude Include="Tactical Turns.h" />
<ClInclude Include="TeamTurns.h" />
<ClInclude Include="UI Cursors.h" />
<ClInclude Include="Vehicles.h" />
<ClInclude Include="VehicleMenu.h" />
<ClInclude Include="Weapons.h" />
<ClInclude Include="World Items.h" />
<ClInclude Include="XML.h" />
<ClInclude Include="XML_Profiles.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Air Raid.cpp" />
<ClCompile Include="Animation Cache.cpp" />
<ClCompile Include="Animation Control.cpp" />
<ClCompile Include="Animation Data.cpp" />
<ClCompile Include="Arms Dealer Init.cpp" />
<ClCompile Include="ArmsDealerInvInit.cpp" />
<ClCompile Include="Auto Bandage.cpp" />
<ClCompile Include="Boxing.cpp" />
<ClCompile Include="bullets.cpp" />
<ClCompile Include="Campaign.cpp" />
<ClCompile Include="Civ Quotes.cpp" />
<ClCompile Include="Dialogue Control.cpp" />
<ClCompile Include="Disease.cpp" />
<ClCompile Include="DisplayCover.cpp" />
<ClCompile Include="Drugs And Alcohol.cpp" />
<ClCompile Include="DynamicDialogue.cpp" />
<ClCompile Include="End Game.cpp" />
<ClCompile Include="Enemy Soldier Save.cpp" />
<ClCompile Include="EnemyItemDrops.cpp" />
<ClCompile Include="Faces.cpp" />
<ClCompile Include="Food.cpp" />
<ClCompile Include="fov.cpp" />
<ClCompile Include="GAP.cpp" />
<ClCompile Include="Handle Doors.cpp" />
<ClCompile Include="Handle Items.cpp" />
<ClCompile Include="Handle UI Plan.cpp" />
<ClCompile Include="Handle UI.cpp" />
<ClCompile Include="Interface Control.cpp" />
<ClCompile Include="Interface Cursors.cpp" />
<ClCompile Include="Interface Dialogue.cpp" />
<ClCompile Include="Interface Enhanced.cpp" />
<ClCompile Include="Interface Items.cpp" />
<ClCompile Include="Interface Panels.cpp" />
<ClCompile Include="Interface Utils.cpp" />
<ClCompile Include="Interface.cpp" />
<ClCompile Include="InterfaceItemImages.cpp" />
<ClCompile Include="Inventory Choosing.cpp" />
<ClCompile Include="Item Types.cpp" />
<ClCompile Include="Items.cpp" />
<ClCompile Include="Ja25_Tactical.cpp" />
<ClCompile Include="Keys.cpp" />
<ClCompile Include="LogicalBodyTypes\AbstractXMLLoader.cpp" />
<ClCompile Include="LogicalBodyTypes\BodyType.cpp" />
<ClCompile Include="LogicalBodyTypes\BodyTypeDB.cpp" />
<ClCompile Include="LogicalBodyTypes\EnumeratorDB.cpp" />
<ClCompile Include="LogicalBodyTypes\Filter.cpp" />
<ClCompile Include="LogicalBodyTypes\FilterDB.cpp" />
<ClCompile Include="LogicalBodyTypes\Layers.cpp" />
<ClCompile Include="LogicalBodyTypes\PaletteDB.cpp" />
<ClCompile Include="LogicalBodyTypes\PaletteTable.cpp" />
<ClCompile Include="LogicalBodyTypes\SurfaceCache.cpp" />
<ClCompile Include="LogicalBodyTypes\SurfaceDB.cpp" />
<ClCompile Include="LogicalBodyTypes\XMLParseException.cpp" />
<ClCompile Include="LOS.cpp" />
<ClCompile Include="Map Information.cpp" />
<ClCompile Include="Merc Entering.cpp" />
<ClCompile Include="Merc Hiring.cpp" />
<ClCompile Include="Militia Control.cpp" />
<ClCompile Include="Minigame.cpp" />
<ClCompile Include="Morale.cpp" />
<ClCompile Include="opplist.cpp" />
<ClCompile Include="Overhead.cpp" />
<ClCompile Include="PATHAI.cpp" />
<ClCompile Include="Points.cpp" />
<ClCompile Include="QARRAY.cpp" />
<ClCompile Include="Rain.cpp" />
<ClCompile Include="RandomMerc.cpp" />
<ClCompile Include="Real Time Input.cpp" />
<ClCompile Include="Rotting Corpses.cpp" />
<ClCompile Include="ShopKeeper Interface.cpp" />
<ClCompile Include="SkillCheck.cpp" />
<ClCompile Include="SkillMenu.cpp" />
<ClCompile Include="Soldier Add.cpp" />
<ClCompile Include="Soldier Ani.cpp" />
<ClCompile Include="Soldier Control.cpp" />
<ClCompile Include="Soldier Create.cpp" />
<ClCompile Include="Soldier Find.cpp" />
<ClCompile Include="Soldier Init List.cpp" />
<ClCompile Include="Soldier Profile.cpp" />
<ClCompile Include="Soldier Tile.cpp" />
<ClCompile Include="SoldierTooltips.cpp" />
<ClCompile Include="Spread Burst.cpp" />
<ClCompile Include="Squads.cpp" />
<ClCompile Include="Strategic Exit GUI.cpp" />
<ClCompile Include="Structure Wrap.cpp" />
<ClCompile Include="Tactical Save.cpp" />
<ClCompile Include="Tactical Turns.cpp" />
<ClCompile Include="TeamTurns.cpp" />
<ClCompile Include="Turn Based Input.cpp" />
<ClCompile Include="UI Cursors.cpp" />
<ClCompile Include="Vehicles.cpp" />
<ClCompile Include="VehicleMenu.cpp" />
<ClCompile Include="Weapons.cpp" />
<ClCompile Include="World Items.cpp" />
<ClCompile Include="XML_AmmoStrings.cpp" />
<ClCompile Include="XML_AmmoTypes.cpp" />
<ClCompile Include="XML_Armour.cpp" />
<ClCompile Include="XML_AttachmentInfo.cpp" />
<ClCompile Include="XML_Attachments.cpp" />
<ClCompile Include="XML_AttachmentSlots.cpp" />
<ClCompile Include="XML_Background.cpp" />
<ClCompile Include="XML_BurstSounds.cpp" />
<ClCompile Include="XML_CivGroupNames.cpp" />
<ClCompile Include="XML_Clothes.cpp" />
<ClCompile Include="XML_ComboMergeInfo.cpp" />
<ClCompile Include="XML_CompatibleFaceItems.cpp" />
<ClCompile Include="XML_Disease.cpp" />
<ClCompile Include="XML_Drugs.cpp" />
<ClCompile Include="XML_EnemyAmmoDrops.cpp" />
<ClCompile Include="XML_EnemyArmourDrops.cpp" />
<ClCompile Include="XML_EnemyExplosiveDrops.cpp" />
<ClCompile Include="XML_EnemyItemChoice.cpp" />
<ClCompile Include="XML_EnemyMiscDrops.cpp" />
<ClCompile Include="XML_EnemyNames.cpp" />
<ClCompile Include="XML_EnemyRank.cpp" />
<ClCompile Include="XML_EnemyWeaponChoice.cpp" />
<ClCompile Include="XML_EnemyWeaponDrops.cpp" />
<ClCompile Include="XML_Explosive.cpp" />
<ClCompile Include="XML_Food.cpp" />
<ClCompile Include="XML_FoodOpinions.cpp" />
<ClCompile Include="XML_HiddenNames.cpp" />
<ClCompile Include="XML_IMPItemChoices.cpp" />
<ClCompile Include="XML_IncompatibleAttachments.cpp" />
<ClCompile Include="XML_InteractiveTiles.cpp" />
<ClCompile Include="XML_ItemAdjustments.cpp" />
<ClCompile Include="XML_Keys.cpp" />
<ClCompile Include="XML_Launchable.cpp" />
<ClCompile Include="XML_LBEPocket.cpp" />
<ClCompile Include="XML_LBEPocketPopup.cpp" />
<ClCompile Include="XML_LoadBearingEquipment.cpp" />
<ClCompile Include="XML_LoadScreenHints.cpp" />
<ClCompile Include="XML_Locks.cpp" />
<ClCompile Include="XML_Magazine.cpp" />
<ClCompile Include="XML_Merchants.cpp" />
<ClCompile Include="XML_MercStartingGear.cpp" />
<ClCompile Include="XML_Merge.cpp" />
<ClCompile Include="XML_MilitiaIndividual.cpp" />
<ClCompile Include="XML_NewFaceGear.cpp" />
<ClCompile Include="XML_Opinions.cpp" />
<ClCompile Include="XML_Profiles.cpp" />
<ClCompile Include="XML_Qarray.cpp" />
<ClCompile Include="XML_RandomItem.cpp" />
<ClCompile Include="XML_RandomStats.cpp" />
<ClCompile Include="XML_RPCFacesSmall.cpp" />
<ClCompile Include="XML_SectorLoadscreens.cpp" />
<ClCompile Include="XML_SoldierProfiles.cpp" />
<ClCompile Include="XML_Sounds.cpp" />
<ClCompile Include="XML_SpreadPatterns.cpp" />
<ClCompile Include="XML_StructureConstruct.cpp" />
<ClCompile Include="XML_StructureDeconstruct.cpp" />
<ClCompile Include="XML_Structure_Move.cpp" />
<ClCompile Include="XML_Taunts.cpp" />
<ClCompile Include="XML_AdditionalTileProperties.cpp" />
<ClCompile Include="XML_TonyInventory.cpp" />
<ClCompile Include="XML_Vehicles.cpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{433FBCC4-F612-489C-AA28-CCD6CF27D80C}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Tactical</RootNamespace>
<ProjectName>Tactical</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>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_WithDebugInfo|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v142</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>
<CodeAnalysisRuleSet>CppCoreCheckConstRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>false</RunCodeAnalysis>
</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>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>false</RunCodeAnalysis>
</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>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<EnablePREfast>false</EnablePREfast>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
</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>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</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>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<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>
-792
View File
@@ -1,792 +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>{b76e83a9-042b-4267-96e0-ffd42052b5d5}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{c1880088-a976-405e-919e-9f1e97ad6701}</UniqueIdentifier>
</Filter>
<Filter Include="Logical Bodytypes">
<UniqueIdentifier>{7ccf82e9-8713-4351-af1f-218106a69555}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Action Items.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Air Raid.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Animation Cache.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Animation Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Animation Data.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Arms Dealer Init.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ArmsDealerInvInit.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Auto Bandage.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="BinaryHeap.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Boxing.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Bullets.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Campaign.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Civ Quotes.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Dialogue Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="DisplayCover.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Drugs And Alcohol.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="End Game.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Enemy Soldier Save.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="EnemyItemDrops.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="faces.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="fov.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="GAP.H">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Handle Doors.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Handle Items.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Handle UI Plan.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Handle UI.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Cursors.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="interface Dialogue.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Enhanced.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Items.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Panels.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface Utils.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Interface.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="InterfaceItemImages.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Inventory Choosing.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Item Types.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Items.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Keys.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="LOS.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Map Information.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="merc entering.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Merc Hiring.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Militia Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Morale.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="opplist.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Overhead Types.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Overhead.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="PATHAI.H">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="PathAIDebug.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Points.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="qarray.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Rain.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Rotting Corpses.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rt time defines.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ShopKeeper Interface.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ShopKeeper Quotes.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="SkillCheck.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Add.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Ani.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Create.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Find.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Functions.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Init List.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier macros.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="soldier profile type.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Soldier Profile.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="soldier tile.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Spread burst.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Squads.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Strategic Exit GUI.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Structure Wrap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Tactical All.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Tactical Save.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Tactical Turns.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="TeamTurns.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="UI Cursors.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Vehicles.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="VehicleMenu.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Weapons.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="World Items.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="XML.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="XML_Profiles.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Ja25_Tactical.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Food.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="SkillMenu.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="DynamicDialogue.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Disease.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="MiniGame.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\AbstractXMLLoader.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\BodyType.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\BodyTypeDB.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\EnumeratorDB.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\Filter.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\FilterDB.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\Layers.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\PaletteDB.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\PaletteTable.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\Singleton.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\SurfaceCache.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\SurfaceDB.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
<ClInclude Include="LogicalBodyTypes\XMLParseException.h">
<Filter>Logical Bodytypes</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="Air Raid.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Animation Cache.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Animation Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Animation Data.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Arms Dealer Init.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ArmsDealerInvInit.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Auto Bandage.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Boxing.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="bullets.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Campaign.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Civ Quotes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Dialogue Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="DisplayCover.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Drugs And Alcohol.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="End Game.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Enemy Soldier Save.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="EnemyItemDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Faces.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="fov.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="GAP.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Handle Doors.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Handle Items.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Handle UI Plan.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Handle UI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Cursors.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Dialogue.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Enhanced.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Items.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Panels.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface Utils.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Interface.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="InterfaceItemImages.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Inventory Choosing.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Item Types.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Items.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Keys.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="LOS.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Map Information.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Merc Entering.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Merc Hiring.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Militia Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Morale.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="opplist.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Overhead.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="PATHAI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Points.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="QARRAY.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Rain.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Real Time Input.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Rotting Corpses.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ShopKeeper Interface.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SkillCheck.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Add.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Ani.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Create.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Find.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Init List.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Profile.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Soldier Tile.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SoldierTooltips.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Spread Burst.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Squads.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Strategic Exit GUI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Structure Wrap.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Tactical Save.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Tactical Turns.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="TeamTurns.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Turn Based Input.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="UI Cursors.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Vehicles.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="VehicleMenu.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Weapons.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="World Items.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_AmmoStrings.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_AmmoTypes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Armour.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_AttachmentInfo.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Attachments.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_BurstSounds.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_CivGroupNames.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_ComboMergeInfo.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_CompatibleFaceItems.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyAmmoDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyArmourDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyExplosiveDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyItemChoice.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyMiscDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyNames.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyWeaponChoice.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyWeaponDrops.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Explosive.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_HiddenNames.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_IMPItemChoices.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_IncompatibleAttachments.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Launchable.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_LBEPocket.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_LoadBearingEquipment.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Magazine.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_MercStartingGear.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Merge.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Opinions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Profiles.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_RPCFacesSmall.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_SectorLoadscreens.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Sounds.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_SpreadPatterns.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_StructureConstruct.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_StructureDeconstruct.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Structure_Move.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_TonyInventory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EnemyRank.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_AttachmentSlots.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_RandomStats.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Qarray.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_NewFaceGear.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Vehicles.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Ja25_Tactical.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_LBEPocketPopup.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_ItemAdjustments.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Drugs.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Food.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Food.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_FoodOpinions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Clothes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_RandomItem.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Merchants.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_LoadScreenHints.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_SoldierProfiles.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Background.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SkillMenu.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Taunts.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="RandomMerc.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_AdditionalTileProperties.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Locks.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Keys.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="DynamicDialogue.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Disease.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Disease.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_MilitiaIndividual.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_InteractiveTiles.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Minigame.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\AbstractXMLLoader.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\BodyType.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\BodyTypeDB.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\EnumeratorDB.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\Filter.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\FilterDB.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\Layers.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\PaletteDB.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\PaletteTable.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\SurfaceCache.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\SurfaceDB.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
<ClCompile Include="LogicalBodyTypes\XMLParseException.cpp">
<Filter>Logical Bodytypes</Filter>
</ClCompile>
</ItemGroup>
</Project>
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "types.h"
#include "overhead.h"
#include "animation control.h"
@@ -45,7 +42,6 @@
#include "Soldier Profile.h"
#include "NPC.h"
#include "drugs and alcohol.h" // added by Flugente
#endif
#ifdef JA2UB
#include "Ja25_Tactical.h"
+44 -120
View File
@@ -1,12 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#include "Language Defines.h"
#include "HelpScreen.h"
#include "Prebattle Interface.h"
#include "ambient control.h"
#include "DisplayCover.h"
#include "_Ja25Englishtext.h"
#else
#include "builddefines.h"
#include <stdio.h>
#include <string.h>
@@ -108,7 +99,6 @@
#include "Ambient Control.h"
#include "Strategic AI.h"
#include "VehicleMenu.h"
#endif
#include "Quest Debug System.h"
#include "connect.h"
@@ -265,7 +255,6 @@ void CreatePlayerControlledMonster();
void ChangeCurrentSquad( INT32 iSquad );
void HandleSelectMercSlot( UINT8 ubPanelSlot, INT8 bCode );
void EscapeUILock( );
void TestCapture( );
#ifdef JA2BETAVERSION
void ToggleMapEdgepoints();
@@ -351,6 +340,7 @@ void HandleTBLocateNextMerc( void );
void HandleTBLocatePrevMerc( void );
void HandleTBLevelDown(void);
void HandleTBLevelUp(void);
void HandleTBBackpacks(void);
void HandleTBDropBackpacks( void );
void HandleTBPickUpBackpacks( void );
void HandleTBSoldierRun( void );
@@ -2984,14 +2974,6 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
}
break;
#if 0//dnl ch75 021113
case '\"':
Testing(1);
break;
case '\'':
Testing(2);
break;
#endif
case '`':
@@ -3386,8 +3368,8 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
break;
case 'B':
//Drop pack for all mercs on current map
HandleTBDropBackpacks();
//Drop/Pick up backpack for all mercs on current map
HandleTBBackpacks();
break;
case 'c':
@@ -3881,10 +3863,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
if ( fNearLowerLevel )
{
// No climbing when wearing a backpack!
if ((UsingNewInventorySystem() == true) && pjSoldier->inv[BPACKPOCKPOS].exists() == true
//JMich.BackpackClimb
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
if (!pjSoldier->CanClimbWithCurrentBackpack())
{
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB] );
return;
@@ -3900,10 +3879,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
if ( fNearHeigherLevel )
{
// No climbing when wearing a backpack!
if ((UsingNewInventorySystem() == true) && pjSoldier->inv[BPACKPOCKPOS].exists() == true
//JMich.BackpackClimb
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
if (!pjSoldier->CanClimbWithCurrentBackpack())
{
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB] );
return;
@@ -3919,10 +3895,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
// Jump over fence
if ( FindFenceJumpDirection( pjSoldier, pjSoldier->sGridNo, pjSoldier->ubDirection, &bDirection ) )
{
if ((UsingNewInventorySystem() == true) && pjSoldier->inv[BPACKPOCKPOS].exists() == true
//JMich.BackpackClimb
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
if (!pjSoldier->CanClimbWithCurrentBackpack())
{
//Moa: no jumping whith backpack
//sAPCost = GetAPsToJumpFence( pjSoldier, TRUE );
@@ -3947,10 +3920,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
if (gGameExternalOptions.fCanClimbOnWalls == TRUE)
{
// No climbing when wearing a backpack!
if ((UsingNewInventorySystem() == true) && pjSoldier->inv[BPACKPOCKPOS].exists() == true
//JMich.BackpackClimb
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
if (!pjSoldier->CanClimbWithCurrentBackpack())
{
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB] );
return;
@@ -3986,10 +3956,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
if ( FindWindowJumpDirection( lSoldier, lSoldier->sGridNo, lSoldier->ubDirection, &bDirection ) )
{
if ((UsingNewInventorySystem() == true) && lSoldier->inv[BPACKPOCKPOS].exists() == true
//JMich.BackpackClimb
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)lSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[lSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[lSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
if (!lSoldier->CanClimbWithCurrentBackpack())
{
//Moa: no jumping with backpack
//sAPCost = GetAPsToJumpThroughWindows( lSoldier, TRUE );
@@ -4241,21 +4208,6 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
}
else if ( fCtrl )
{
#if 0
if ( INFORMATION_CHEAT_LEVEL() )
{
if ( gfUIShowCurIntTile ^= TRUE )
{
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_TESTVERSION, L"Turning Enhanced mouse detection ON." );
gubIntTileCheckFlags = INTILE_CHECK_FULL;
}
else
{
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_TESTVERSION, L"Turning Enhanced mouse detection OFF." );
gubIntTileCheckFlags = INTILE_CHECK_SELECTIVE;
}
}
#endif
}
else
{
@@ -4508,9 +4460,8 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
{
if ( CHEATER_CHEAT_LEVEL( ) )
{
TestCapture( );
//EnterCombatMode( gbPlayerNum );
// Test Capturing Mercs as POW
AttemptToCapturePlayerSoldiers();
}
}
else if ( fCtrl && fShift )
@@ -6565,42 +6516,6 @@ void HandleStealthChangeFromUIKeys( )
}
}
void TestCapture( )
{
INT32 cnt;
SOLDIERTYPE *pSoldier;
UINT32 uiNumChosen = 0;
//StartQuest( QUEST_HELD_IN_ALMA, gWorldSectorX, gWorldSectorY );
//EndQuest( QUEST_HELD_IN_ALMA, gWorldSectorX, gWorldSectorY );
BeginCaptureSquence( );
gStrategicStatus.uiFlags &= (~STRATEGIC_PLAYER_CAPTURED_FOR_RESCUE );
// loop through soldiers and pick 3 lucky ones....
for ( cnt = gTacticalStatus.Team[gbPlayerNum].bFirstID, pSoldier=MercPtrs[cnt]; cnt <= gTacticalStatus.Team[gbPlayerNum].bLastID; cnt++, pSoldier++ )
{
if ( pSoldier->stats.bLife >= OKLIFE && pSoldier->bActive && pSoldier->bInSector )
{
if ( uiNumChosen < 3 )
{
EnemyCapturesPlayerSoldier( pSoldier );
// Remove them from tectical....
pSoldier->RemoveSoldierFromGridNo( );
uiNumChosen++;
}
}
}
EndCaptureSequence( );
}
void PopupAssignmentMenuInTactical( SOLDIERTYPE *pSoldier )
{
// do something
@@ -7673,11 +7588,7 @@ void HandleTBJump( void )
if ( fNearLowerLevel )
{
// CHRISL: Turn off manual jumping while wearing a backpack
if (UsingNewInventorySystem() == true && pjSoldier->inv[BPACKPOCKPOS].exists() == true
//JMich.BackpackClimb
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
if (!pjSoldier->CanClimbWithCurrentBackpack())
return;
if ( EnoughPoints( pjSoldier, GetAPsToClimbRoof( pjSoldier, TRUE ), GetBPsToClimbRoof( pjSoldier, TRUE ), FALSE ) )
@@ -7689,11 +7600,7 @@ void HandleTBJump( void )
if ( fNearHeigherLevel )
{
// No climbing when wearing a backpack!
if ((UsingNewInventorySystem() == true) && pjSoldier->inv[BPACKPOCKPOS].exists() == true
//JMich.BackpackClimb
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
if (!pjSoldier->CanClimbWithCurrentBackpack())
return;
if ( EnoughPoints( pjSoldier, GetAPsToClimbRoof( pjSoldier, FALSE ), GetBPsToClimbRoof( pjSoldier, FALSE ), FALSE ) )
@@ -7705,11 +7612,7 @@ void HandleTBJump( void )
// Jump over fence
if ( FindFenceJumpDirection( pjSoldier, pjSoldier->sGridNo, pjSoldier->ubDirection, &bDirection ) )
{
if ((UsingNewInventorySystem() == true) && pjSoldier->inv[BPACKPOCKPOS].exists() == true
//JMich.BackpackClimb
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
if (!pjSoldier->CanClimbWithCurrentBackpack())
{
sAPCost = GetAPsToJumpFence( pjSoldier, TRUE );
sBPCost = GetBPsToJumpFence( pjSoldier, TRUE );
@@ -7732,11 +7635,7 @@ void HandleTBJump( void )
if ( FindWallJumpDirection( pjSoldier, pjSoldier->sGridNo, pjSoldier->ubDirection, &bDirection ) )
{
// No climbing when wearing a backpack!
if ((UsingNewInventorySystem() == true) && pjSoldier->inv[BPACKPOCKPOS].exists() == true
//JMich.BackpackClimb
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
if (!pjSoldier->CanClimbWithCurrentBackpack())
return;
if ( EnoughPoints( pjSoldier, GetAPsToJumpWall( pjSoldier, FALSE ), GetBPsToJumpWall( pjSoldier, FALSE ), FALSE ) )
@@ -7760,11 +7659,7 @@ void HandleTBJumpThroughWindow( void ){
{
if ( FindWindowJumpDirection( pjSoldier, pjSoldier->sGridNo, pjSoldier->ubDirection, &bDirection ) )
{
if ((UsingNewInventorySystem() == true) && pjSoldier->inv[BPACKPOCKPOS].exists() == true
//JMich.BackpackClimb
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
if (!pjSoldier->CanClimbWithCurrentBackpack())
{
sAPCost = GetAPsToJumpThroughWindows( pjSoldier, TRUE );
sBPCost = GetBPsToJumpThroughWindows( pjSoldier, TRUE );
@@ -8409,6 +8304,35 @@ void HandleTBLevelUp(void)
}
}
void HandleTBBackpacks(void)
{
if (UsingNewInventorySystem)
{
bool backpackDropped = false;
SOLDIERTYPE* pTeamSoldier;
for (UINT8 ubLoop = gTacticalStatus.Team[gbPlayerNum].bFirstID; ubLoop <= gTacticalStatus.Team[gbPlayerNum].bLastID; ubLoop++)
{
pTeamSoldier = MercPtrs[ubLoop];
if (pTeamSoldier->flags.DropPackFlag)
{
backpackDropped = true;
break;
}
}
if (backpackDropped)
{
HandleTBPickUpBackpacks();
}
else
{
HandleTBDropBackpacks();
}
}
}
void HandleTBDropBackpacks( void )
{
//if( UsingNewInventorySystem() && gusSelectedSoldier != NOBODY )
+32 -11
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "items.h"
#include "weapons.h"
#include "Interface Cursors.h"
@@ -32,7 +29,6 @@
#include "SkillCheck.h" // added by SANDRO
#include "message.H" //ddd
#include "english.h" // added by Flugente
#endif
//forward declarations of common classes to eliminate includes
class OBJECTTYPE;
@@ -140,13 +136,13 @@ BOOLEAN GetMouseRecalcAndShowAPFlags( UINT32 *puiCursorFlags, BOOLEAN *pfShowAPs
// FUNCTIONS FOR CURSOR DETERMINATION!
UINT8 GetProperItemCursor( UINT16 ubSoldierID, UINT16 ubItemIndex, INT32 usMapPos, BOOLEAN fActivated )
{
SOLDIERTYPE *pSoldier;
UINT32 uiCursorFlags;
BOOLEAN fShowAPs = FALSE;
BOOLEAN fRecalc = FALSE;
SOLDIERTYPE *pSoldier;
UINT32 uiCursorFlags;
BOOLEAN fShowAPs = FALSE;
BOOLEAN fRecalc = FALSE;
INT32 sTargetGridNo = usMapPos;
UINT8 ubCursorID=0;
UINT8 ubItemCursor;
UINT8 ubCursorID=0;
UINT8 ubItemCursor = 0;
pSoldier = MercPtrs[ ubSoldierID ];
@@ -354,6 +350,7 @@ UINT8 HandleActivatedTargetCursor( SOLDIERTYPE *pSoldier, INT32 usMapPos, BOOLEA
UINT16 usCursor=0;
BOOLEAN fMaxPointLimitHit = FALSE;
UINT16 usInHand;
extern UINT32 guiNewUICursor;
UINT16 reverse = 0;
@@ -461,6 +458,30 @@ UINT8 HandleActivatedTargetCursor( SOLDIERTYPE *pSoldier, INT32 usMapPos, BOOLEA
gsCurrentActionPoints = CalcTotalAPsToAttack( pSoldier, usMapPos, TRUE, (INT8)(pSoldier->aiData.bShownAimTime ) );
}
const bool isCursorOnTarget = (
guiNewUICursor == ACTION_SHOOT_UICURSOR || guiNewUICursor == ACTION_TARGETBURST_UICURSOR ||
guiNewUICursor == ACTION_FLASH_SHOOT_UICURSOR || guiNewUICursor == ACTION_FLASH_BURST_UICURSOR ||
guiNewUICursor == ACTION_NOCHANCE_SHOOT_UICURSOR || guiNewUICursor == ACTION_NOCHANCE_BURST_UICURSOR
);
// Start at maximum aiming levels if the option is toggled
if (gGameSettings.fOptions[TOPTION_ALT_START_AIM] && isCursorOnTarget)
{
pSoldier->aiData.bShownAimTime = maxAimLevels;
sAPCosts = CalcTotalAPsToAttack(pSoldier, usMapPos, TRUE, pSoldier->aiData.bShownAimTime);
// Determine if we can afford!
while (!EnoughPoints(pSoldier, sAPCosts, 0, FALSE))
{
pSoldier->aiData.bShownAimTime -= 1;
if (pSoldier->aiData.bShownAimTime < 0)
{
pSoldier->aiData.bShownAimTime = REFINE_AIM_1;
break;
}
sAPCosts = CalcTotalAPsToAttack(pSoldier, usMapPos, TRUE, pSoldier->aiData.bShownAimTime);
}
gsCurrentActionPoints = sAPCosts;
}
// If we don't have any points and we are at the first refine, do nothing but warn!
if ( !EnoughPoints( pSoldier, gsCurrentActionPoints, 0 , FALSE ) && (pSoldier->aiData.bShownAimTime == 0))
{
@@ -4008,4 +4029,4 @@ UINT8 DefaultAutofireBulletsByGunClass( SOLDIERTYPE* pSoldier )
}
return ubBullets;
}
}
-18
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "Vehicles.h"
#include "String.h"
#include "Strategic Pathing.h"
@@ -39,7 +36,6 @@
#include "Soldier ani.h"
#include "GameSettings.h"
#include "Queen Command.h"
#endif
#include "Points.h"
#include "Init.h"
@@ -2022,20 +2018,6 @@ void HandleCriticalHitForVehicleInLocation( UINT8 ubID, INT16 sDmg, INT32 sGridN
SOLDIERTYPE *pSoldier;
BOOLEAN fMadeCorpse = FALSE;
#if 0
{
// injure someone inside
iRand = Random( gNewVehicle[ pVehicleList[ ubID ].ubVehicleType ].iNewSeatingCapacities );
if( pVehicleList[ ubID ].pPassengers[ iRand ] )
{
// hurt this person
InjurePersonInVehicle( ( INT16 )ubID, pVehicleList[ ubID ].pPassengers[ iRand ], ( UINT8 )( sDmg / 2 ) );
}
}
ScreenMsg( FONT_BLACK, MSG_INTERFACE, sCritLocationStrings[ iCrit ] );
}
#endif
pSoldier = GetSoldierStructureForVehicle( ubID );
Assert(pSoldier);
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "sgp.h"
#include "overhead types.h"
#include "Sound Control.h"
@@ -54,7 +51,6 @@
#include "environment.h" // added by silversurfer
// sevenfm
#include "buildings.h" // SameBuilding
#endif
//forward declarations of common classes to eliminate includes
class OBJECTTYPE;
-17
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "items.h"
#include "handle Items.h"
#include "overhead.h"
@@ -27,7 +24,6 @@
#include "message.h"
#include "map screen interface map inventory.h" // added by Flugente
#include "connect.h"
#endif
#ifdef JA2EDITOR//dnl ch84 290114
#include "Item Statistics.h"
#endif
@@ -879,19 +875,6 @@ void LoadWorldItemsFromMap( INT8 **hBuffer, float dMajorMapVersion, int ubMinorM
{ //all armed bombs are buried
dummyItem.bVisible = BURIED;
}
#if 0//dnl ch74 201013 this is already done in OBJECTTYPE::Load()
//Madd: ok, so this drives me nuts -- why bother with default attachments if the map isn't going to load them for you?
//this should fix that...
for(UINT8 cnt = 0; cnt < MAX_DEFAULT_ATTACHMENTS; cnt++)
{
if(Item [ dummyItem.object.usItem ].defaultattachments[cnt] == 0)
break;
OBJECTTYPE defaultAttachment;
CreateItem(Item [ dummyItem.object.usItem ].defaultattachments[cnt],100,&defaultAttachment);
dummyItem.object.AttachObject(NULL,&defaultAttachment, FALSE);
}
#endif
// sevenfm: don't allow max repair threshold less than current object status
dummyItem.object[0]->data.sRepairThreshold = __max(dummyItem.object[0]->data.sRepairThreshold, dummyItem.object[0]->data.objectStatus);
AddItemToPoolAndGetIndex( dummyItem.sGridNo, &dummyItem.object, dummyItem.bVisible, dummyItem.ubLevel, dummyItem.usFlags, dummyItem.bRenderZHeightAboveLevel, dummyItem.soldierID, &iItemIndex );
@@ -1,12 +1,8 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "sgp.h"
#include "Debug Control.h"
#include "expat.h"
#include "XML.h"
#include "Interface.h"
#endif
#include "tiledef.h"
-4
View File
@@ -1,6 +1,3 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "sgp.h"
#include "overhead types.h"
#include "overhead.h"
@@ -8,7 +5,6 @@
#include "Debug Control.h"
#include "expat.h"
#include "XML.h"
#endif
struct
{
-4
View File
@@ -1,13 +1,9 @@
#ifdef PRECOMPILEDHEADERS
#include "Tactical All.h"
#else
#include "sgp.h"
#include "weapons.h"
#include "overhead.h"
#include "Debug Control.h"
#include "expat.h"
#include "XML.h"
#endif
// Flugente: remember how many ammotypes we read
UINT32 gMAXAMMOTYPES_READ = 0;

Some files were not shown because too many files have changed in this diff Show More