mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Compare commits
72
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9353bf27a1 | ||
|
|
ef51b578c3 | ||
|
|
69904ee003 | ||
|
|
db29feed11 | ||
|
|
1fc5f939bf | ||
|
|
9e0105caec | ||
|
|
0cc7fb4e39 | ||
|
|
db15679ec1 | ||
|
|
6a8a22aba2 | ||
|
|
9b654ff3f1 | ||
|
|
a67f4b8a8f | ||
|
|
673dea01af | ||
|
|
b44b6cebb8 | ||
|
|
8bc3dbd0aa | ||
|
|
b4176bb2d9 | ||
|
|
8b3e417872 | ||
|
|
b949189881 | ||
|
|
cc19490898 | ||
|
|
9fac0a8ecd | ||
|
|
346e5c6293 | ||
|
|
0bea84374e | ||
|
|
3d589bd78e | ||
|
|
e1c8bee1d1 | ||
|
|
ead2932316 | ||
|
|
bb55299ff6 | ||
|
|
2d4f62a5b6 | ||
|
|
03a7b017b6 | ||
|
|
edf8f2f086 | ||
|
|
78ed49c73d | ||
|
|
5697acabb3 | ||
|
|
09197e421c | ||
|
|
46afd90fdc | ||
|
|
80ba0a05d7 | ||
|
|
aab34bff20 | ||
|
|
ef325c1cde | ||
|
|
99a4ff1527 | ||
|
|
f2d1b09fc6 | ||
|
|
31970291bd | ||
|
|
0a758179c2 | ||
|
|
481e95d42d | ||
|
|
8f178a59ab | ||
|
|
a6d96f5f31 | ||
|
|
67f41d4de6 | ||
|
|
1d53b92731 | ||
|
|
42b2cbc7f5 | ||
|
|
04ace5df24 | ||
|
|
323944757d | ||
|
|
7d5a1c2e9e | ||
|
|
dc107f5044 | ||
|
|
f3ce1d5ff9 | ||
|
|
b1c076416c | ||
|
|
cc984b09f6 | ||
|
|
8d00a316c5 | ||
|
|
d51f1e6088 | ||
|
|
1c86d96e9d | ||
|
|
1368962244 | ||
|
|
6f6aadf89c | ||
|
|
96de96e9c6 | ||
|
|
ebcc5449c5 | ||
|
|
6b7bc51a52 | ||
|
|
622cffce82 | ||
|
|
5ed79c3edb | ||
|
|
fe69dba958 | ||
|
|
f8b6ee1672 | ||
|
|
30070035cc | ||
|
|
ff3079ff23 | ||
|
|
aba3688b4b | ||
|
|
d6b30c6f43 | ||
|
|
4fcf03d31a | ||
|
|
03edc532e1 | ||
|
|
1db41f4c36 | ||
|
|
96ede9299f |
@@ -77,7 +77,7 @@ jobs:
|
||||
arch: x86
|
||||
- name: Prepare build
|
||||
run: |
|
||||
cmake -S . -B build -GNinja -DCMAKE_BUILD_TYPE=Release -DLanguages="$Env:JA2Language" -DApplications="$Env:JA2Application"
|
||||
cmake -S . -B build -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLanguages="$Env:JA2Language" -DApplications="$Env:JA2Application"
|
||||
- name: Build
|
||||
run: |
|
||||
cmake --build build/ -- -v
|
||||
|
||||
+2
-2
@@ -27,7 +27,7 @@ if(ADDRESS_SANITIZER)
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
add_compile_options("/wd4838")
|
||||
add_compile_options("/wd4838") # silence implicit narrowing conversion warnings
|
||||
endif()
|
||||
|
||||
# whether we are using MSBuild as a generator
|
||||
@@ -163,5 +163,5 @@ foreach(app IN LISTS ApplicationTargets)
|
||||
# for SGP only
|
||||
target_link_libraries(${app}_sgp PRIVATE "ddraw.lib" "${PROJECT_SOURCE_DIR}/fmodvc.lib")
|
||||
target_link_libraries(${app}_sgp PRIVATE libpng)
|
||||
target_compile_definitions(${app}_sgp PRIVATE NO_ZLIB_COMPRESSION)
|
||||
target_compile_definitions(${app}_sgp PRIVATE ${compilationFlags} ${debugFlags} NO_ZLIB_COMPRESSION)
|
||||
endforeach()
|
||||
|
||||
@@ -2749,6 +2749,7 @@ void LoadSkillTraitsExternalSettings()
|
||||
gSkillTraitValues.ubTERepairRobotPenaltyReduction = iniReader.ReadInteger("Technician","REPAIR_SPEED_ROBOT_PENALTY_REDUCTION", 30, 0, 100);
|
||||
if (gSkillTraitValues.ubTETraitsNumToRepairRobot == 2) {gSkillTraitValues.ubTERepairRobotPenaltyReduction /= 2; }
|
||||
gSkillTraitValues.fTETraitsCanRestoreItemThreshold = iniReader.ReadBoolean( "Technician", "MERCS_CAN_DO_ADVANCED_REPAIRS", FALSE );
|
||||
gSkillTraitValues.ubTechLevelNeededForAdvancedRepair = iniReader.ReadInteger("Technician", "TECH_LEVEL_NEEDED_FOR_ADVANCED_REPAIR", 2, 1, 2);
|
||||
|
||||
// DOCTOR
|
||||
gSkillTraitValues.ubDONumberTraitsNeededForSurgery = iniReader.ReadInteger("Doctor","NUMBER_OF_TRAITS_NEEDED_FOR_SURGERY", 1, 0, 2);
|
||||
|
||||
@@ -2145,6 +2145,7 @@ typedef struct
|
||||
UINT8 ubTERepairRobotPenaltyReduction;
|
||||
UINT8 ubTETraitsNumToRepairRobot;
|
||||
BOOLEAN fTETraitsCanRestoreItemThreshold;
|
||||
UINT8 ubTechLevelNeededForAdvancedRepair; // if we have a high enough technician level, we can repair items above the normal threshold (1 for technician, 2 for engineer)
|
||||
|
||||
// DOCTOR
|
||||
UINT8 ubDONumberTraitsNeededForSurgery;
|
||||
|
||||
+53
-30
@@ -1184,40 +1184,61 @@ if( g_lang != i18n::Lang::en ) {
|
||||
}
|
||||
}
|
||||
|
||||
if ( ReadXMLEmail == TRUE )
|
||||
{
|
||||
if ( ReadXMLEmail == TRUE )
|
||||
{
|
||||
// Externalized emails
|
||||
strcpy(fileName, directoryName);
|
||||
strcat(fileName, EMAILSFILENAME);
|
||||
// Only load external emails if we find the file
|
||||
if ( FileExists(fileName) )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2, DBG_LEVEL_3, String("LoadExternalGameplayData, fileName = %s", fileName));
|
||||
SGP_THROW_IFFALSE(ReadInExternalizedEmails(fileName, FALSE), EMAILSFILENAME);
|
||||
|
||||
if ( g_lang != i18n::Lang::en )
|
||||
{
|
||||
AddLanguagePrefix(fileName);
|
||||
if ( FileExists(fileName) )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2, DBG_LEVEL_3, String("LoadExternalGameplayData, fileName = %s", fileName));
|
||||
if ( !ReadInExternalizedEmails(fileName, TRUE) )
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// EMAIL MERC AVAILABLE by Jazz
|
||||
strcpy(fileName, directoryName);
|
||||
strcat(fileName, EMAILMERCAVAILABLE);
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName));
|
||||
SGP_THROW_IFFALSE(ReadInEmailMercAvailable(fileName,FALSE), EMAILMERCAVAILABLE);
|
||||
DebugMsg(TOPIC_JA2, DBG_LEVEL_3, String("LoadExternalGameplayData, fileName = %s", fileName));
|
||||
SGP_THROW_IFFALSE(ReadInEmailMercAvailable(fileName, FALSE), EMAILMERCAVAILABLE);
|
||||
|
||||
if( g_lang != i18n::Lang::en ) {
|
||||
AddLanguagePrefix(fileName);
|
||||
if ( FileExists(fileName) )
|
||||
if ( g_lang != i18n::Lang::en )
|
||||
{
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName));
|
||||
if(!ReadInEmailMercAvailable(fileName,TRUE))
|
||||
return FALSE;
|
||||
AddLanguagePrefix(fileName);
|
||||
if ( FileExists(fileName) )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2, DBG_LEVEL_3, String("LoadExternalGameplayData, fileName = %s", fileName));
|
||||
if ( !ReadInEmailMercAvailable(fileName, TRUE) )
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// EMAIL MERC LEVEL UP by Jazz
|
||||
strcpy(fileName, directoryName);
|
||||
strcat(fileName, EMAILMERCLEVELUP);
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName));
|
||||
SGP_THROW_IFFALSE(ReadInEmailMercLevelUp(fileName,FALSE), EMAILMERCLEVELUP);
|
||||
DebugMsg(TOPIC_JA2, DBG_LEVEL_3, String("LoadExternalGameplayData, fileName = %s", fileName));
|
||||
SGP_THROW_IFFALSE(ReadInEmailMercLevelUp(fileName, FALSE), EMAILMERCLEVELUP);
|
||||
|
||||
if( g_lang != i18n::Lang::en ) {
|
||||
AddLanguagePrefix(fileName);
|
||||
if ( FileExists(fileName) )
|
||||
{
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName));
|
||||
if(!ReadInEmailMercLevelUp(fileName,TRUE))
|
||||
return FALSE;
|
||||
if ( g_lang != i18n::Lang::en ) {
|
||||
AddLanguagePrefix(fileName);
|
||||
if ( FileExists(fileName) )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2, DBG_LEVEL_3, String("LoadExternalGameplayData, fileName = %s", fileName));
|
||||
if ( !ReadInEmailMercLevelUp(fileName, TRUE) )
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
// EMAIL OTHER by Jazz
|
||||
strcpy(fileName, directoryName);
|
||||
@@ -1225,16 +1246,18 @@ if( g_lang != i18n::Lang::en ) {
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName));
|
||||
SGP_THROW_IFFALSE(ReadInEmailOther(fileName,FALSE), EMAILOTHER);
|
||||
|
||||
if( g_lang != i18n::Lang::en ) {
|
||||
AddLanguagePrefix(fileName);
|
||||
if ( FileExists(fileName) )
|
||||
{
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName));
|
||||
if(!ReadInEmailOther(fileName,TRUE))
|
||||
return FALSE;
|
||||
if( g_lang != i18n::Lang::en ) {
|
||||
AddLanguagePrefix(fileName);
|
||||
if ( FileExists(fileName) )
|
||||
{
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName));
|
||||
if(!ReadInEmailOther(fileName,TRUE))
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
//new vehicles by Jazz
|
||||
|
||||
InitNewVehicles ();
|
||||
|
||||
@@ -1822,7 +1822,7 @@ void HandleHighLightedText( BOOLEAN fHighLight )
|
||||
bLastRegion = -1;
|
||||
}
|
||||
|
||||
if( bHighLight != -1 )
|
||||
if( bHighLight != -1 && toggle_box_array[bHighLight] != -1)
|
||||
{
|
||||
if( bHighLight < OPT_FIRST_COLUMN_TOGGLE_CUT_OFF )
|
||||
{
|
||||
|
||||
@@ -108,6 +108,7 @@
|
||||
#include "connect.h"
|
||||
#include "Map Screen Interface Map Inventory.h"//dnl ch51 081009
|
||||
#include "Ambient Control.h" // added by Flugente for HandleNewSectorAmbience(...)
|
||||
#include "WorldDat.h"
|
||||
/////////////////////////////////////////////////////
|
||||
//
|
||||
// Local Defines
|
||||
@@ -6295,8 +6296,10 @@ BOOLEAN LoadSavedGame( int ubSavedGameID )
|
||||
#ifdef JA2UB
|
||||
|
||||
#else
|
||||
if(!fBookMark && !fEmail)
|
||||
AddEmail(MERC_INTRO, MERC_INTRO_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin( ), -1, -1 , TYPE_EMAIL_EMAIL_EDT);
|
||||
if ( !fBookMark && !fEmail )
|
||||
{
|
||||
AddEmail(MERC_INTRO, MERC_INTRO_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_SPECK_INTRO);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -1560,6 +1560,8 @@ BOOLEAN DisplayMercsInventory(UINT8 ubMercID)
|
||||
CHAR16 gzItemName[ 5000 ];
|
||||
UINT8 ubItemCount=0;
|
||||
UINT8 ubColumnCount=0;
|
||||
const bool realisticGameStyle = gGameOptions.ubGameStyle != STYLE_SCIFI;
|
||||
const bool reducedGuns = gGameOptions.fGunNut == false;
|
||||
|
||||
//if the mercs inventory has already been purchased, dont display the inventory
|
||||
if ( (gMercProfiles[ ubMercID ].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS) && !gGameExternalOptions.fGearKitsAlwaysAvailable )
|
||||
@@ -1583,6 +1585,18 @@ BOOLEAN DisplayMercsInventory(UINT8 ubMercID)
|
||||
{
|
||||
usItem = gMercProfiles[ubMercID].inv[ i ];
|
||||
|
||||
if (realisticGameStyle && ItemIsOnlyInScifi(usItem))
|
||||
{
|
||||
gMercProfiles[ubMercID].inv[i] = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (reducedGuns && ItemIsOnlyInTonsOfGuns(usItem))
|
||||
{
|
||||
gMercProfiles[ubMercID].inv[i] = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
//if its a valid item AND we are only displaying less then 8 items
|
||||
if( usItem && ubItemCount < WEAPONBOX_TOTAL_ITEMS )
|
||||
{
|
||||
@@ -1662,6 +1676,18 @@ BOOLEAN DisplayMercsInventory(UINT8 ubMercID)
|
||||
{
|
||||
usItem = gMercProfiles[ubMercID].inv[ i ];
|
||||
|
||||
if (realisticGameStyle && ItemIsOnlyInScifi(usItem))
|
||||
{
|
||||
gMercProfiles[ubMercID].inv[i] = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (reducedGuns && ItemIsOnlyInTonsOfGuns(usItem))
|
||||
{
|
||||
gMercProfiles[ubMercID].inv[i] = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
//if its a valid item AND we are only displaying less then 8 items
|
||||
if( usItem && ubItemCount < WEAPONBOX_NUMBER )
|
||||
{
|
||||
|
||||
+21
-11
@@ -565,25 +565,35 @@ BOOLEAN CPostalService::DeliverShipment(UINT16 usShipmentID)
|
||||
|
||||
StopTimeCompression();
|
||||
#ifdef JA2UB
|
||||
|
||||
//no UB
|
||||
if ( gGameUBOptions.fBobbyRSite == TRUE )
|
||||
{
|
||||
// Shipment from Bobby Ray
|
||||
if (shs.sSenderID == BOBBYR_SENDER_ID)
|
||||
AddBobbyREmailJA2( 198, 4, BOBBY_R, GetWorldTotalMin(), -1, gusCurShipmentDestinationID, TYPE_EMAIL_BOBBY_R_EMAIL_JA2_EDT);
|
||||
if ( shs.sSenderID == BOBBYR_SENDER_ID )
|
||||
{
|
||||
if ( gEmails.size() > 0 )
|
||||
{
|
||||
AddEmailFromXML(XML_BR_SHIPMENTARRIVAL, GetWorldTotalMin(), -1, gusCurShipmentDestinationID, false, -1, -1, 198, -1, -1, -1);
|
||||
}
|
||||
else
|
||||
{
|
||||
AddBobbyREmailJA2(198, 4, BOBBY_R, GetWorldTotalMin(), -1, gusCurShipmentDestinationID, TYPE_EMAIL_BOBBY_R_EMAIL_JA2_EDT);
|
||||
// Shipment from John Kulba
|
||||
//else
|
||||
// AddEmail( JOHN_KULBA_GIFT_IN_DRASSEN, JOHN_KULBA_GIFT_IN_DRASSEN_LENGTH, JOHN_KULBA, GetWorldTotalMin(), -1, gusCurShipmentDestinationID, TYPE_EMAIL_EMAIL_EDT);
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
|
||||
// Shipment from Bobby Ray
|
||||
if (shs.sSenderID == BOBBYR_SENDER_ID)
|
||||
AddEmail( BOBBYR_SHIPMENT_ARRIVED, BOBBYR_SHIPMENT_ARRIVED_LENGTH, BOBBY_R, GetWorldTotalMin(), -1, gusCurShipmentDestinationID, TYPE_EMAIL_EMAIL_EDT);
|
||||
// Shipment from John Kulba
|
||||
else
|
||||
AddEmail( JOHN_KULBA_GIFT_IN_DRASSEN, JOHN_KULBA_GIFT_IN_DRASSEN_LENGTH, JOHN_KULBA, GetWorldTotalMin(), -1, gusCurShipmentDestinationID, TYPE_EMAIL_EMAIL_EDT);
|
||||
// Shipment from Bobby Ray
|
||||
if ( shs.sSenderID == BOBBYR_SENDER_ID )
|
||||
{
|
||||
AddEmail(BOBBYR_SHIPMENT_ARRIVED, BOBBYR_SHIPMENT_ARRIVED_LENGTH, BOBBY_R, GetWorldTotalMin(), -1, gusCurShipmentDestinationID, TYPE_EMAIL_EMAIL_EDT, XML_BR_SHIPMENTARRIVAL);
|
||||
}
|
||||
// Shipment from John Kulba
|
||||
else
|
||||
{
|
||||
AddEmail(JOHN_KULBA_GIFT_IN_DRASSEN, JOHN_KULBA_GIFT_IN_DRASSEN_LENGTH, JOHN_KULBA, GetWorldTotalMin(), -1, gusCurShipmentDestinationID, TYPE_EMAIL_EMAIL_EDT, XML_JOHNKULBA_SENTGUNS);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
+155
-246
@@ -1,295 +1,204 @@
|
||||
#include "sgp.h"
|
||||
#include "Debug Control.h"
|
||||
#include "expat.h"
|
||||
#include "XML.h"
|
||||
#include "Interface.h"
|
||||
#include "LuaInitNPCs.h"
|
||||
#include "email.h"
|
||||
#include "sgp.h"
|
||||
#include "Debug Control.h"
|
||||
#include "expat.h"
|
||||
#include "XML.h"
|
||||
#include "Interface.h"
|
||||
#include "LuaInitNPCs.h"
|
||||
#include "email.h"
|
||||
|
||||
struct
|
||||
{
|
||||
PARSE_STAGE curElement;
|
||||
PARSE_STAGE curElement;
|
||||
|
||||
CHAR8 szCharData[MAIL_STRING_SIZE+1];
|
||||
EMAIL_OTHER_VALUES curEmailOther;
|
||||
CHAR8 szCharData[MAIL_STRING_SIZE + 1];
|
||||
CHAR16 currentMessage[MAIL_STRING_SIZE];
|
||||
UINT16 currentEmailIndex;
|
||||
UINT16 currentMessageIndex;
|
||||
|
||||
UINT32 maxArraySize;
|
||||
UINT32 curIndex;
|
||||
UINT32 currentDepth;
|
||||
UINT32 maxReadDepth;
|
||||
}
|
||||
UINT32 maxArraySize;
|
||||
UINT32 curIndex;
|
||||
UINT32 currentDepth;
|
||||
UINT32 maxReadDepth;
|
||||
} typedef EmailXMLParseData;
|
||||
|
||||
typedef EmailOtherParseData;
|
||||
|
||||
BOOLEAN EmailOther_TextOnly;
|
||||
BOOLEAN Emails_TextOnly;
|
||||
|
||||
static void XMLCALL
|
||||
EmailOtherStartElementHandle(void *userData, const XML_Char *name, const XML_Char **atts)
|
||||
EmailOtherStartElementHandle(void* userData, const XML_Char* name, const XML_Char** atts)
|
||||
{
|
||||
EmailOtherParseData * pData = (EmailOtherParseData *)userData;
|
||||
EmailXMLParseData* pData = (EmailXMLParseData*)userData;
|
||||
|
||||
if(pData->currentDepth <= pData->maxReadDepth) //are we reading this element?
|
||||
{
|
||||
if(strcmp(name, "NEW_EMAIL") == 0 && pData->curElement == ELEMENT_NONE)
|
||||
{
|
||||
pData->curElement = ELEMENT_LIST;
|
||||
if (pData->currentDepth <= pData->maxReadDepth) //are we reading this element?
|
||||
{
|
||||
if (strcmp(name, "EMAILS") == 0 && pData->curElement == ELEMENT_NONE)
|
||||
{
|
||||
pData->curElement = ELEMENT_LIST;
|
||||
|
||||
pData->maxReadDepth++; //we are not skipping this element
|
||||
}
|
||||
else if(strcmp(name, "EMAIL") == 0 && pData->curElement == ELEMENT_LIST)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->maxReadDepth++; //we are not skipping this element
|
||||
}
|
||||
else if (strcmp(name, "EMAIL") == 0 && pData->curElement == ELEMENT_LIST)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
pData->maxReadDepth++; //we are not skipping this element
|
||||
}
|
||||
else if(pData->curElement == ELEMENT &&
|
||||
(strcmp(name, "uiIndex") == 0 ||
|
||||
strcmp(name, "Subject") == 0 ||
|
||||
strcmp(name, "Message0") == 0 ||
|
||||
strcmp(name, "Message1") == 0 ||
|
||||
strcmp(name, "Message2") == 0 ||
|
||||
strcmp(name, "Message3") == 0 ||
|
||||
strcmp(name, "Message4") == 0 ||
|
||||
strcmp(name, "Message5") == 0 ||
|
||||
strcmp(name, "Message6") == 0 ||
|
||||
strcmp(name, "Message7") == 0 ||
|
||||
strcmp(name, "Message8") == 0 ||
|
||||
strcmp(name, "Message9") == 0 ||
|
||||
strcmp(name, "Message10") == 0 ||
|
||||
strcmp(name, "Message11") == 0 ||
|
||||
strcmp(name, "Message12") == 0 ||
|
||||
strcmp(name, "Message13") == 0 ||
|
||||
strcmp(name, "Message14") == 0 ||
|
||||
strcmp(name, "Message15") == 0 ||
|
||||
strcmp(name, "Message16") == 0 ||
|
||||
strcmp(name, "Message17") == 0 ||
|
||||
strcmp(name, "Message18") == 0 ||
|
||||
strcmp(name, "Message19") == 0 ||
|
||||
strcmp(name, "Message20") == 0 ||
|
||||
strcmp(name, "Message21") == 0 ||
|
||||
strcmp(name, "Message22") == 0 ||
|
||||
strcmp(name, "Message23") == 0 ||
|
||||
strcmp(name, "Message24") == 0 ||
|
||||
strcmp(name, "Message25") == 0 ||
|
||||
strcmp(name, "Message26") == 0 ||
|
||||
strcmp(name, "Message27") == 0 ||
|
||||
strcmp(name, "Message28") == 0 ||
|
||||
strcmp(name, "Message29") == 0 ))
|
||||
{
|
||||
pData->curElement = ELEMENT_PROPERTY;
|
||||
pData->maxReadDepth++; //we are not skipping this element
|
||||
}
|
||||
else if (pData->curElement == ELEMENT &&
|
||||
(strcmp(name, "Index") == 0 ||
|
||||
strcmp(name, "Sender") == 0 ||
|
||||
strcmp(name, "Subject") == 0 ||
|
||||
strcmp(name, "Message") == 0))
|
||||
{
|
||||
pData->curElement = ELEMENT_PROPERTY;
|
||||
|
||||
pData->maxReadDepth++; //we are not skipping this element
|
||||
}
|
||||
pData->maxReadDepth++; //we are not skipping this element
|
||||
}
|
||||
|
||||
pData->szCharData[0] = '\0';
|
||||
}
|
||||
pData->szCharData[0] = '\0';
|
||||
}
|
||||
|
||||
pData->currentDepth++;
|
||||
pData->currentDepth++;
|
||||
|
||||
}
|
||||
|
||||
static void XMLCALL
|
||||
EmailOtherCharacterDataHandle(void *userData, const XML_Char *str, int len)
|
||||
EmailOtherCharacterDataHandle(void* userData, const XML_Char* str, int len)
|
||||
{
|
||||
EmailOtherParseData * pData = (EmailOtherParseData *)userData;
|
||||
EmailXMLParseData* pData = (EmailXMLParseData*)userData;
|
||||
|
||||
if( (pData->currentDepth <= pData->maxReadDepth) &&
|
||||
(strlen(pData->szCharData) < MAX_CHAR_DATA_LENGTH)
|
||||
){
|
||||
strncat(pData->szCharData,str,__min((unsigned int)len,MAX_CHAR_DATA_LENGTH-strlen(pData->szCharData)));
|
||||
}
|
||||
if ((pData->currentDepth <= pData->maxReadDepth) &&
|
||||
(strlen(pData->szCharData) < MAX_CHAR_DATA_LENGTH)
|
||||
) {
|
||||
strncat(pData->szCharData, str, __min((unsigned int)len, MAX_CHAR_DATA_LENGTH - strlen(pData->szCharData)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void XMLCALL
|
||||
EmailOtherEndElementHandle(void *userData, const XML_Char *name)
|
||||
EmailOtherEndElementHandle(void* userData, const XML_Char* name)
|
||||
{
|
||||
EmailOtherParseData * pData = (EmailOtherParseData *)userData;
|
||||
EmailXMLParseData* pData = (EmailXMLParseData*)userData;
|
||||
|
||||
if(pData->currentDepth <= pData->maxReadDepth)
|
||||
{
|
||||
if(strcmp(name, "NEW_EMAIL") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT_NONE;
|
||||
}
|
||||
else if(strcmp(name, "EMAIL") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT_LIST;
|
||||
|
||||
if (!EmailOther_TextOnly)
|
||||
{
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szSubject, pData->curEmailOther.szSubject);
|
||||
// L"12345678901234567890123456789" <- max lenght (szMessage[30])
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[0], L"1. sdssdsfs dfg fdgd fg test" ); //pData-curEmailOther.szMessage[0]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[1], L"2. sdssdsfs dfg fgfgffds test" );
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[2], L"3. sdssdsfsd gdfg fdfgsf test" );
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[3], L"4. sdssdsf dgdfg dgsfdsf test" );
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[4], L"5. sdssdsfdgdfg dgfddsf test" );
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[5], L"6. sdssdsfsffdsf test" );
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[6], L"7. sdssdsfsffdsf test" );
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[7], L"8. sdssdsfsfdgdgfgfdsf test" );
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[8], L"9. sdssdsfsff dg gdg dsf test" );
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[9], L"10. sdssdsfsfgdsgdfgfdsf test" );
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[10], L"11. sdssdsfsff dgfgd dsf test" );
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[11], L"12. sdssdsfsf dfgdfg dsf test" );
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[12], L"13. sdssdsfsf dfgg gfdsf test" );
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[13], L"14. sdssdsf dgdf gsffdsf test" );
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[14], L"15. sdssdsf dgdf f ffdsf test" );
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[15], L"16. sdssdsfs dgdf gffdsf test" );
|
||||
if (pData->currentDepth <= pData->maxReadDepth)
|
||||
{
|
||||
if (strcmp(name, "EMAILS") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT_NONE;
|
||||
}
|
||||
else if (strcmp(name, "EMAIL") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT_LIST;
|
||||
if ( Emails_TextOnly )
|
||||
{
|
||||
pData->currentEmailIndex += 1;
|
||||
pData->currentMessageIndex = 0;
|
||||
}
|
||||
}
|
||||
else if (strcmp(name, "Sender") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
if ( !Emails_TextOnly )
|
||||
{
|
||||
gEmails.push_back(EMAIL_XML {});
|
||||
gEmails.back().Sender = atol(pData->szCharData);
|
||||
}
|
||||
}
|
||||
else if (strcmp(name, "Subject") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
if ( !Emails_TextOnly )
|
||||
{
|
||||
MultiByteToWideChar(CP_UTF8, 0, pData->szCharData, -1, gEmails.back().Subject, sizeof(gEmails.back().Subject) / sizeof(gEmails.back().Subject[0]));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Replace existing text with localized version
|
||||
const auto i = pData->currentEmailIndex;
|
||||
MultiByteToWideChar(CP_UTF8, 0, pData->szCharData, -1, gEmails[i].Subject, sizeof(gEmails[i].Subject) / sizeof(gEmails[i].Subject[0]));
|
||||
}
|
||||
}
|
||||
else if (strcmp(name, "Message") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
MultiByteToWideChar(CP_UTF8, 0, pData->szCharData, -1, pData->currentMessage, sizeof(pData->currentMessage) / sizeof(pData->currentMessage[0]));
|
||||
|
||||
/*
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[1], pData->curEmailOther.szMessage[1]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[2], pData->curEmailOther.szMessage[2]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[3], pData->curEmailOther.szMessage[3]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[4], pData->curEmailOther.szMessage[4]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[5], pData->curEmailOther.szMessage[5]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[6], pData->curEmailOther.szMessage[6]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[7], pData->curEmailOther.szMessage[7]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[8], pData->curEmailOther.szMessage[8]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[9], pData->curEmailOther.szMessage[9]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[10], pData->curEmailOther.szMessage[10]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[11], pData->curEmailOther.szMessage[11]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[12], pData->curEmailOther.szMessage[12]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[13], pData->curEmailOther.szMessage[13]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[14], pData->curEmailOther.szMessage[14]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[15], pData->curEmailOther.szMessage[15]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[16], pData->curEmailOther.szMessage[16]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[17], pData->curEmailOther.szMessage[17]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[18], pData->curEmailOther.szMessage[18]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[19], pData->curEmailOther.szMessage[19]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[20], pData->curEmailOther.szMessage[20]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[21], pData->curEmailOther.szMessage[21]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[22], pData->curEmailOther.szMessage[22]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[23], pData->curEmailOther.szMessage[23]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[24], pData->curEmailOther.szMessage[24]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[25], pData->curEmailOther.szMessage[25]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[26], pData->curEmailOther.szMessage[26]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[27], pData->curEmailOther.szMessage[27]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[28], pData->curEmailOther.szMessage[28]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[29], pData->curEmailOther.szMessage[29]);
|
||||
*/
|
||||
}
|
||||
else
|
||||
{
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szSubject, pData->curEmailOther.szSubject);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[0], L"sdssdsfsffdsf test" ); //pData->curEmailOther.szMessage[0]);
|
||||
/*
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[1], pData->curEmailOther.szMessage[1]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[2], pData->curEmailOther.szMessage[2]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[3], pData->curEmailOther.szMessage[3]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[4], pData->curEmailOther.szMessage[4]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[5], pData->curEmailOther.szMessage[5]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[6], pData->curEmailOther.szMessage[6]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[7], pData->curEmailOther.szMessage[7]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[8], pData->curEmailOther.szMessage[8]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[9], pData->curEmailOther.szMessage[9]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[10], pData->curEmailOther.szMessage[10]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[11], pData->curEmailOther.szMessage[11]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[12], pData->curEmailOther.szMessage[12]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[13], pData->curEmailOther.szMessage[13]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[14], pData->curEmailOther.szMessage[14]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[15], pData->curEmailOther.szMessage[15]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[16], pData->curEmailOther.szMessage[16]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[17], pData->curEmailOther.szMessage[17]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[18], pData->curEmailOther.szMessage[18]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[19], pData->curEmailOther.szMessage[19]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[20], pData->curEmailOther.szMessage[20]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[21], pData->curEmailOther.szMessage[21]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[22], pData->curEmailOther.szMessage[22]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[23], pData->curEmailOther.szMessage[23]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[24], pData->curEmailOther.szMessage[24]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[25], pData->curEmailOther.szMessage[25]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[26], pData->curEmailOther.szMessage[26]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[27], pData->curEmailOther.szMessage[27]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[28], pData->curEmailOther.szMessage[28]);
|
||||
wcscpy(EmailOtherText[pData->curEmailOther.uiIndex].szMessage[29], pData->curEmailOther.szMessage[29]);
|
||||
*/
|
||||
}
|
||||
}
|
||||
else if(strcmp(name, "uiIndex") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curEmailOther.uiIndex = (UINT8) atol(pData->szCharData);
|
||||
}
|
||||
else if(strcmp(name, "Subject") == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
if ( !Emails_TextOnly )
|
||||
{
|
||||
gEmails.back().Messages.emplace_back(pData->currentMessage);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Replace existing text with localized version
|
||||
const auto i = pData->currentEmailIndex;
|
||||
const auto j = pData->currentMessageIndex;
|
||||
gEmails[i].Messages[j] = pData->currentMessage;
|
||||
|
||||
MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEmailOther.szSubject, sizeof(pData->curEmailOther.szSubject)/sizeof(pData->curEmailOther.szSubject[0]) );
|
||||
pData->curEmailOther.szSubject[sizeof(pData->curEmailOther.szSubject)/sizeof(pData->curEmailOther.szSubject[0]) - 1] = '\0';
|
||||
}
|
||||
/*
|
||||
else if(strcmp(name, "Message0") == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->currentMessageIndex++;
|
||||
}
|
||||
}
|
||||
|
||||
MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEmailOther.szMessage[0], sizeof(pData->curEmailOther.szMessage[0])/sizeof(pData->curEmailOther.szMessage[0]) );
|
||||
pData->curEmailOther.szMessage[sizeof(pData->curEmailOther.szMessage[0])/sizeof(pData->curEmailOther.szMessage[0]) - 1][0] = '\0';
|
||||
}
|
||||
*/
|
||||
pData->maxReadDepth--;
|
||||
}
|
||||
pData->currentDepth--;
|
||||
pData->maxReadDepth--;
|
||||
}
|
||||
pData->currentDepth--;
|
||||
}
|
||||
|
||||
BOOLEAN ReadInEmailOther(STR fileName, BOOLEAN localizedVersion)
|
||||
BOOLEAN ReadInExternalizedEmails(STR fileName, BOOLEAN localizedVersion)
|
||||
{
|
||||
HWFILE hFile;
|
||||
UINT32 uiBytesRead;
|
||||
UINT32 uiFSize;
|
||||
CHAR8 * lpcBuffer;
|
||||
XML_Parser parser = XML_ParserCreate(NULL);
|
||||
HWFILE hFile;
|
||||
UINT32 uiBytesRead;
|
||||
UINT32 uiFSize;
|
||||
CHAR8* lpcBuffer;
|
||||
XML_Parser parser = XML_ParserCreate(NULL);
|
||||
|
||||
EmailOtherParseData pData;
|
||||
EmailXMLParseData pData;
|
||||
|
||||
DebugMsg(TOPIC_JA2, DBG_LEVEL_3, "Loading EmailOther.xml" );
|
||||
DebugMsg(TOPIC_JA2, DBG_LEVEL_3, "Loading Emails.xml");
|
||||
|
||||
EmailOther_TextOnly = localizedVersion;
|
||||
|
||||
// Open file
|
||||
hFile = FileOpen( fileName, FILE_ACCESS_READ, FALSE );
|
||||
if ( !hFile )
|
||||
return( localizedVersion );
|
||||
Emails_TextOnly = localizedVersion;
|
||||
|
||||
uiFSize = FileGetSize(hFile);
|
||||
lpcBuffer = (CHAR8 *) MemAlloc(uiFSize+1);
|
||||
// Open file
|
||||
hFile = FileOpen(fileName, FILE_ACCESS_READ, FALSE);
|
||||
if (!hFile)
|
||||
return(localizedVersion);
|
||||
|
||||
//Read in block
|
||||
if ( !FileRead( hFile, lpcBuffer, uiFSize, &uiBytesRead ) )
|
||||
{
|
||||
MemFree(lpcBuffer);
|
||||
return( FALSE );
|
||||
}
|
||||
uiFSize = FileGetSize(hFile);
|
||||
lpcBuffer = (CHAR8*)MemAlloc(uiFSize + 1);
|
||||
|
||||
lpcBuffer[uiFSize] = 0; //add a null terminator
|
||||
//Read in block
|
||||
if (!FileRead(hFile, lpcBuffer, uiFSize, &uiBytesRead))
|
||||
{
|
||||
MemFree(lpcBuffer);
|
||||
return(FALSE);
|
||||
}
|
||||
|
||||
FileClose( hFile );
|
||||
lpcBuffer[uiFSize] = 0; //add a null terminator
|
||||
|
||||
FileClose(hFile);
|
||||
|
||||
|
||||
XML_SetElementHandler(parser, EmailOtherStartElementHandle, EmailOtherEndElementHandle);
|
||||
XML_SetCharacterDataHandler(parser, EmailOtherCharacterDataHandle);
|
||||
XML_SetElementHandler(parser, EmailOtherStartElementHandle, EmailOtherEndElementHandle);
|
||||
XML_SetCharacterDataHandler(parser, EmailOtherCharacterDataHandle);
|
||||
|
||||
|
||||
memset(&pData,0,sizeof(pData));
|
||||
XML_SetUserData(parser, &pData);
|
||||
memset(&pData, 0, sizeof(pData));
|
||||
XML_SetUserData(parser, &pData);
|
||||
|
||||
gEmails.reserve(XML_JA2UB_SPECK_DISMISSALREFUND);
|
||||
if (!XML_Parse(parser, lpcBuffer, uiFSize, TRUE))
|
||||
{
|
||||
CHAR8 errorBuf[511];
|
||||
|
||||
sprintf(errorBuf, "XML Parser Error in Emails.xml: %s at line %d", XML_ErrorString(XML_GetErrorCode(parser)), XML_GetCurrentLineNumber(parser));
|
||||
LiveMessage(errorBuf);
|
||||
|
||||
MemFree(lpcBuffer);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
MemFree(lpcBuffer);
|
||||
|
||||
|
||||
if(!XML_Parse(parser, lpcBuffer, uiFSize, TRUE))
|
||||
{
|
||||
CHAR8 errorBuf[511];
|
||||
|
||||
sprintf(errorBuf, "XML Parser Error in EmailOther.xml: %s at line %d", XML_ErrorString(XML_GetErrorCode(parser)), XML_GetCurrentLineNumber(parser));
|
||||
LiveMessage(errorBuf);
|
||||
|
||||
MemFree(lpcBuffer);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
MemFree(lpcBuffer);
|
||||
XML_ParserFree(parser);
|
||||
|
||||
|
||||
XML_ParserFree(parser);
|
||||
|
||||
|
||||
return( TRUE );
|
||||
return(TRUE);
|
||||
}
|
||||
|
||||
+518
-511
File diff suppressed because it is too large
Load Diff
+97
-19
@@ -5,8 +5,7 @@
|
||||
#include "soldier profile type.h"
|
||||
|
||||
// defines
|
||||
#define MAX_EMAIL_LINES 10 //max number of lines can be shown in a message
|
||||
#define MAX_MESSAGES_PAGE 18 // max number of messages per page
|
||||
#define MAX_MESSAGES_PAGE 18 // max number of emails per page in inbox
|
||||
|
||||
//---ja25 ub
|
||||
#ifdef JA2UB
|
||||
@@ -567,11 +566,10 @@ void RenderEmail();
|
||||
|
||||
|
||||
// message manipulation
|
||||
void AddEmailMessage(INT32 iMessageOffset, INT32 iMessageLength,STR16 pSubject, INT32 iDate, UINT8 ubSender, BOOLEAN fAlreadyRead, INT32 uiFirstData, UINT32 uiSecondData, INT32 iCurrentIMPPosition, INT16 iCurrentShipmentDestinationID, UINT8 EmailType, UINT32 EmailAIM );
|
||||
void AddEmailMessage(INT32 iMessageOffset, INT32 iMessageLength,STR16 pSubject, INT32 iDate, UINT8 ubSender, BOOLEAN fAlreadyRead, INT32 iFirstData, UINT32 uiSecondData, INT32 iThirdData, INT32 iFourthData, UINT32 uiFifthData, UINT32 uiSixData, INT32 iCurrentIMPPosition, INT16 iCurrentShipmentDestinationID, UINT8 EmailType, UINT32 EmailAIM );
|
||||
void RemoveEmailMessage(INT32 iId);
|
||||
EmailPtr GetEmailMessage(INT32 iId);
|
||||
void LookForUnread();
|
||||
void AddEmail(INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, INT32 iDate, INT32 iCurrentIMPPosition, INT16 iCurrentShipmentDestinationID, UINT8 EmailType);
|
||||
|
||||
// WANNE: For the new WF merc, when they available again
|
||||
void AddEmailWFMercAvailable(INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, INT32 iDate, INT32 iCurrentIMPPosition, UINT8 EmailType);
|
||||
@@ -586,14 +584,19 @@ void ReDrawNewMailBox( void );
|
||||
void ReDisplayBoxes( void );
|
||||
void ShutDownEmailList();
|
||||
void AddMessageToPages(INT32 iMessageId);
|
||||
void AddEmailWithSpecialData(INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, INT32 iDate, INT32 iFirstData, UINT32 uiSecondData, UINT8 EmailType, UINT32 EmailAIM );
|
||||
|
||||
void AddCustomEmail(INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, INT32 iDate, INT32 iCurrentIMPPosition, INT16 iCurrentShipmentDestinationID, UINT8 EmailType);
|
||||
|
||||
#ifdef JA2BETAVERSION
|
||||
void AddAllEmails();
|
||||
#endif
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT8 Sender;
|
||||
CHAR16 Subject[EMAIL_SUBJECT_LENGTH];
|
||||
std::vector<std::wstring> Messages;
|
||||
} EMAIL_XML;
|
||||
extern std::vector<EMAIL_XML> gEmails;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT8 uiIndex;
|
||||
@@ -674,8 +677,8 @@ enum {
|
||||
TYPE_EMAIL_KING_PIN,
|
||||
TYPE_EMAIL_JOHN_KULBA,
|
||||
TYPE_EMAIL_AIM_SITE,
|
||||
|
||||
TYPE_EMAIL_OTHER,
|
||||
//Read message from Email\Emails.xml and sender read from Email\EmailSenderNameList.xml
|
||||
TYPE_EMAIL_XML,
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -697,15 +700,96 @@ enum {
|
||||
TYPE_EMAIL_BOBBY_R_L1 = 11,
|
||||
};
|
||||
|
||||
enum {
|
||||
XML_NOEMAIL = -1,
|
||||
XML_ENRICO_INQUIRY = 0,
|
||||
XML_ENRICO_FOLLOWUP,
|
||||
XML_ENRICO_CONFIRMED,
|
||||
XML_ENRICO_GOODLUCK,
|
||||
XML_ENRICO_GREATNEWS,
|
||||
XML_ENRICO_PROGRESS,
|
||||
XML_ENRICO_GOODWORK,
|
||||
XML_ENRICO_FINALPUSH,
|
||||
XML_ENRICO_SETBACK,
|
||||
XML_ENRICO_BADNEWS,
|
||||
XML_ENRICO_CREPITUS,
|
||||
XML_ENRICO_CONCERNED,
|
||||
XML_ENRICO_WORRIED,
|
||||
XML_ENRICO_DISAPPOINTED,
|
||||
XML_ENRICO_MILITIA_WEBSITE,
|
||||
XML_ENRICO_INTEL,
|
||||
XML_IMP_INTRO,
|
||||
XML_IMP_INTROAGAIN,
|
||||
XML_SPECK_INTRO,
|
||||
XML_SPECK_NEWSITE,
|
||||
XML_SPECK_NOTICE,
|
||||
XML_SPECK_NEWPERSONNEL,
|
||||
XML_SPECK_PLEASEPAY,
|
||||
XML_SPECK_DELINQUENT,
|
||||
XML_RISREPORT,
|
||||
XML_INSURANCE_APPROVED,
|
||||
XML_INSURANCE_SUSPICIOUS,
|
||||
XML_INSURANCE_COMPLETED,
|
||||
XML_INSURANCE_INVESTIGATION,
|
||||
XML_INSURANCE_REFUSED,
|
||||
XML_INSURANCE_POLICYVIOLATION,
|
||||
XML_BR_VISITEDSITE,
|
||||
XML_BR_SHIPMENTARRIVAL,
|
||||
XML_BR_MEDUNA,
|
||||
XML_KINGPIN_STOLEMONEY,
|
||||
XML_KINGPIN_JOBOPPORTUNITY,
|
||||
XML_KINGPIN_WELLDONE,
|
||||
XML_KINGPIN_FAILURE,
|
||||
XML_KINGPIN_FAILUREOBSTACLES,
|
||||
XML_JOHNKULBA_SENTGUNS,
|
||||
XML_JOHNKULBA_MISSEDTRANSFERFLIGHT,
|
||||
XML_JOHNKULBA_CRASHLANDEDHELI,
|
||||
XML_JOHNKULBA_AMBUSHEDBYCATS,
|
||||
XML_AIM_NOTICE_OF_DEATH,
|
||||
XML_AIM_REFUND,
|
||||
XML_AIM_PARTIALREFUND,
|
||||
XML_AIM_NOREFUND,
|
||||
XML_KERBERUS_OFFER,
|
||||
XML_DASILVA_THANKYOU,
|
||||
XML_JA2UB_ENRICO_HELP,
|
||||
XML_JA2UB_ENRICO_INQUIRY,
|
||||
XML_JA2UB_ENRICO_STILLNOWORD,
|
||||
XML_JA2UB_ENRICO_GOODNEWS,
|
||||
XML_JA2UB_ENRICO_CONCERNED,
|
||||
XML_JA2UB_ENRICO_URGENT,
|
||||
XML_JA2UB_ENRICO_RECEIVEDEMAIL,
|
||||
XML_JA2UB_ENRICO_RECEIVEDEMAILMONEY,
|
||||
XML_JA2UB_ENRICO_PILOTFOUND,
|
||||
XML_JA2UB_ENRICO_CONGRATS,
|
||||
XML_JA2UB_ENRICO_CONGRATS_MIGUELSICK,
|
||||
XML_JA2UB_ENRICO_CONGRATS_MIGUELSICK_MANUELDEAD,
|
||||
XML_JA2UB_ENRICO_CONGRATS_MIGUELSICK_MANUELALIVE,
|
||||
XML_JA2UB_ENRICO_CONGRATS_MANUELDEAD,
|
||||
XML_JA2UB_ENRICO_CONGRATS_MANUELALIVE,
|
||||
XML_JA2UB_IMP_INTRO,
|
||||
XML_JA2UB_IMP_INTROAGAIN,
|
||||
XML_JA2UB_MIGUEL_HELLO,
|
||||
XML_JA2UB_MIGUEL_SORRY,
|
||||
XML_JA2UB_MIGUEL_SORRY_HIREDMANUEL,
|
||||
XML_JA2UB_MIGUEL_SICK,
|
||||
XML_JA2UB_MIGUEL_CIGARETTES,
|
||||
XML_JA2UB_AIM_SPECIALOFFER,
|
||||
XML_JA2UB_AIM_BONUSOFFER,
|
||||
XML_JA2UB_AIM_SPECIALBONUSOFFER,
|
||||
XML_JA2UB_AIM_DISMISSALREFUND,
|
||||
XML_JA2UB_SPECK_EVENBETTEROFFER,
|
||||
XML_JA2UB_SPECK_DISMISSALREFUND
|
||||
};
|
||||
void AddEmail(INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, INT32 iDate, INT32 iCurrentIMPPosition, INT16 iCurrentShipmentDestinationID, UINT8 EmailType, UINT16 EnumEmailXML = XML_NOEMAIL);
|
||||
void AddEmailWithSpecialData(INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, INT32 iDate, INT32 iFirstData, UINT32 uiSecondData, UINT8 EmailType, UINT32 EmailAIM, UINT16 EnumEmailXML = XML_NOEMAIL);
|
||||
|
||||
extern EMAIL_MERC_AVAILABLE_VALUES EmailMercAvailableText[NUM_PROFILES];
|
||||
extern EMAIL_MERC_LEVEL_UP_VALUES EmailMercLevelUpText[NUM_PROFILES];
|
||||
extern EMAIL_MERC_INSURANCE_VALUES EmailInsuranceText[NUM_PROFILES];
|
||||
|
||||
extern EMAIL_OTHER_VALUES EmailOtherText[EMAIL_INDEX];
|
||||
extern BOOLEAN ReadXMLEmail;
|
||||
extern void AddEmailTypeXML( INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, INT32 iDate, INT32 iCurrentIMPPosition, UINT8 EmailType );
|
||||
extern void AddPreReadEmailTypeXML( INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, INT32 iDate, UINT8 EmailType );
|
||||
extern void AddEmailWithSpecialDataXML(INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, INT32 iDate, INT32 iFirstData, UINT32 uiSecondData, UINT8 EmailTyp, UINT32 EmailAIMe );
|
||||
extern void AddEmailFromXML(INT32 iMessageOffset, INT32 iDate, INT32 iCurrentIMPPosition, INT16 iCurrentShipmentDestinationID, BOOLEAN alreadyRead, INT32 iFirstData, UINT32 uiSecondData, INT32 iThirdData, INT32 iFourthData, UINT32 uiFifthData, UINT32 uiSixData);
|
||||
extern void AddEmailWithSpecialDataXML(INT32 iMessageOffset, INT32 iDate, INT32 iCurrentIMPPosition, INT16 iCurrentShipmentDestinationID, BOOLEAN alreadyRead, INT32 iFirstData, UINT32 uiSecondData, INT32 iThirdData, INT32 iFourthData, UINT32 uiFifthData, UINT32 uiSixData);
|
||||
extern BOOLEAN SaveNewEmailDataToSaveGameFile( HWFILE hFile );
|
||||
extern BOOLEAN LoadNewEmailDataFromLoadGameFile( HWFILE hFile );
|
||||
|
||||
@@ -714,9 +798,3 @@ extern void AddBobbyREmailJA2(INT32 iMessageOffset, INT32 iMessageLength, UINT8
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1350,7 +1350,8 @@ BOOLEAN AddLifeInsurancePayout( SOLDIERTYPE *pSoldier )
|
||||
|
||||
void StartInsuranceInvestigation( UINT16 ubPayoutID )
|
||||
{
|
||||
UINT8 ubDays;
|
||||
const auto mercID = LaptopSaveInfo.pLifeInsurancePayouts[ubPayoutID].ubMercID;
|
||||
const auto payoutPrice = LaptopSaveInfo.pLifeInsurancePayouts[ubPayoutID].iPayOutPrice;
|
||||
|
||||
// send an email telling player an investigation is taking place
|
||||
if (gStrategicStatus.ubInsuranceInvestigationsCnt == 0)
|
||||
@@ -1361,10 +1362,12 @@ void StartInsuranceInvestigation( UINT16 ubPayoutID )
|
||||
if( gubQuest[ QUEST_FIX_LAPTOP ] == QUESTDONE || gGameUBOptions.LaptopQuestEnabled == FALSE )
|
||||
{
|
||||
if ( gGameUBOptions.LaptopLinkInsurance == TRUE )
|
||||
AddEmailWithSpecialData( 173, INSUR_SUSPIC_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].iPayOutPrice, LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubMercID, TYPE_EMAIL_INSURANCE_COMPANY_EMAIL_JA2_EDT, TYPE_E_INSURANCE_L4 );
|
||||
{
|
||||
AddEmailWithSpecialData(173, INSUR_SUSPIC_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), payoutPrice, mercID, TYPE_EMAIL_INSURANCE_COMPANY_EMAIL_JA2_EDT, TYPE_E_INSURANCE_L4, XML_INSURANCE_SUSPICIOUS);
|
||||
}
|
||||
}
|
||||
#else
|
||||
AddEmailWithSpecialData( INSUR_SUSPIC, INSUR_SUSPIC_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].iPayOutPrice, LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubMercID, TYPE_EMAIL_EMAIL_EDT, TYPE_E_NONE );
|
||||
AddEmailWithSpecialData(INSUR_SUSPIC, INSUR_SUSPIC_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), payoutPrice, mercID, TYPE_EMAIL_EMAIL_EDT, TYPE_E_NONE, XML_INSURANCE_SUSPICIOUS);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
@@ -1375,14 +1378,17 @@ void StartInsuranceInvestigation( UINT16 ubPayoutID )
|
||||
if( gubQuest[ QUEST_FIX_LAPTOP ] == QUESTDONE || gGameUBOptions.LaptopQuestEnabled == FALSE )
|
||||
{
|
||||
if ( gGameUBOptions.LaptopLinkInsurance == TRUE )
|
||||
AddEmailWithSpecialData( 179, INSUR_SUSPIC_2_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].iPayOutPrice, LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubMercID, TYPE_EMAIL_INSURANCE_COMPANY_EMAIL_JA2_EDT, TYPE_E_INSURANCE_L5 );
|
||||
{
|
||||
AddEmailWithSpecialData(179, INSUR_SUSPIC_2_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), payoutPrice, mercID, TYPE_EMAIL_INSURANCE_COMPANY_EMAIL_JA2_EDT, TYPE_E_INSURANCE_L5, XML_INSURANCE_INVESTIGATION);
|
||||
}
|
||||
}
|
||||
#else
|
||||
AddEmailWithSpecialData( INSUR_SUSPIC_2, INSUR_SUSPIC_2_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].iPayOutPrice, LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubMercID, TYPE_EMAIL_EMAIL_EDT, TYPE_E_NONE );
|
||||
AddEmailWithSpecialData(INSUR_SUSPIC_2, INSUR_SUSPIC_2_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), payoutPrice, mercID, TYPE_EMAIL_EMAIL_EDT, TYPE_E_NONE, XML_INSURANCE_INVESTIGATION);
|
||||
#endif
|
||||
}
|
||||
|
||||
if ( gMercProfiles[ LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubMercID ].ubSuspiciousDeath == VERY_SUSPICIOUS_DEATH )
|
||||
UINT8 ubDays;
|
||||
if ( gMercProfiles[ mercID ].ubSuspiciousDeath == VERY_SUSPICIOUS_DEATH )
|
||||
{
|
||||
// the fact that you tried to cheat them gets realized very quickly. :-)
|
||||
ubDays = 1;
|
||||
@@ -1403,42 +1409,47 @@ void StartInsuranceInvestigation( UINT16 ubPayoutID )
|
||||
|
||||
void EndInsuranceInvestigation( UINT16 ubPayoutID )
|
||||
{
|
||||
const auto mercID = LaptopSaveInfo.pLifeInsurancePayouts[ubPayoutID].ubMercID;
|
||||
const auto payoutPrice = LaptopSaveInfo.pLifeInsurancePayouts[ubPayoutID].iPayOutPrice;
|
||||
|
||||
// send an email telling player the investigation is over
|
||||
if ( gMercProfiles[ LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubMercID ].ubSuspiciousDeath == VERY_SUSPICIOUS_DEATH )
|
||||
if ( gMercProfiles[ mercID ].ubSuspiciousDeath == VERY_SUSPICIOUS_DEATH )
|
||||
{
|
||||
// fraud, no payout!
|
||||
#ifdef JA2UB
|
||||
// no UB
|
||||
if( gubQuest[ QUEST_FIX_LAPTOP ] == QUESTDONE || gGameUBOptions.LaptopQuestEnabled == FALSE )
|
||||
{
|
||||
if ( gGameUBOptions.LaptopLinkInsurance == TRUE )
|
||||
AddEmailWithSpecialData( INSUR_1HOUR_FRAUD, INSUR_1HOUR_FRAUD_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].iPayOutPrice, LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubMercID, TYPE_EMAIL_INSURANCE_COMPANY_EMAIL_JA2_EDT, TYPE_E_INSURANCE_L2 );
|
||||
}
|
||||
if ( gubQuest[QUEST_FIX_LAPTOP] == QUESTDONE || gGameUBOptions.LaptopQuestEnabled == FALSE )
|
||||
{
|
||||
if ( gGameUBOptions.LaptopLinkInsurance == TRUE )
|
||||
{
|
||||
AddEmailWithSpecialData(INSUR_1HOUR_FRAUD, INSUR_1HOUR_FRAUD_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), payoutPrice, mercID, TYPE_EMAIL_INSURANCE_COMPANY_EMAIL_JA2_EDT, TYPE_E_INSURANCE_L2, XML_INSURANCE_REFUSED);
|
||||
}
|
||||
}
|
||||
#else
|
||||
AddEmailWithSpecialData( INSUR_1HOUR_FRAUD, INSUR_1HOUR_FRAUD_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].iPayOutPrice, LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubMercID, TYPE_EMAIL_EMAIL_EDT, TYPE_E_NONE );
|
||||
AddEmailWithSpecialData(INSUR_1HOUR_FRAUD, INSUR_1HOUR_FRAUD_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), payoutPrice, mercID, TYPE_EMAIL_EMAIL_EDT, TYPE_E_NONE, XML_INSURANCE_REFUSED);
|
||||
#endif
|
||||
}
|
||||
// Flugente: also don't pay out if the death was suspicious. I mean, we get this if there were no enemies of the player straight up shot the guy...
|
||||
else if ( gMercProfiles[LaptopSaveInfo.pLifeInsurancePayouts[ubPayoutID].ubMercID].ubSuspiciousDeath == SUSPICIOUS_DEATH )
|
||||
else if ( gMercProfiles[mercID].ubSuspiciousDeath == SUSPICIOUS_DEATH )
|
||||
{
|
||||
#ifdef JA2UB
|
||||
// WANNE: I really don't know if we should call something here. At least it fixed the compilation error when compiling UB version.
|
||||
#else
|
||||
// fraud, no payout!
|
||||
AddEmailWithSpecialData( INSUR_CHEAT_FRAUD, INSUR_CHEAT_FRAUD_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), LaptopSaveInfo.pLifeInsurancePayouts[ubPayoutID].iPayOutPrice, LaptopSaveInfo.pLifeInsurancePayouts[ubPayoutID].ubMercID, TYPE_EMAIL_EMAIL_EDT, TYPE_E_NONE );
|
||||
AddEmailWithSpecialData(INSUR_CHEAT_FRAUD, INSUR_CHEAT_FRAUD_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), payoutPrice, mercID, TYPE_EMAIL_EMAIL_EDT, TYPE_E_NONE, XML_INSURANCE_POLICYVIOLATION);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef JA2UB
|
||||
// No UB
|
||||
if( gubQuest[ QUEST_FIX_LAPTOP ] == QUESTDONE || gGameUBOptions.LaptopQuestEnabled == FALSE )
|
||||
{
|
||||
if ( gGameUBOptions.LaptopLinkInsurance == TRUE )
|
||||
AddEmailWithSpecialData( 176, INSUR_INVEST_OVER_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].iPayOutPrice, LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubMercID, TYPE_EMAIL_INSURANCE_COMPANY_EMAIL_JA2_EDT, TYPE_E_INSURANCE_L6 );
|
||||
{
|
||||
AddEmailWithSpecialData(176, INSUR_INVEST_OVER_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), payoutPrice, mercID, TYPE_EMAIL_INSURANCE_COMPANY_EMAIL_JA2_EDT, TYPE_E_INSURANCE_L6, XML_INSURANCE_COMPLETED);
|
||||
}
|
||||
}
|
||||
#else
|
||||
AddEmailWithSpecialData( INSUR_INVEST_OVER, INSUR_INVEST_OVER_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].iPayOutPrice, LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubMercID, TYPE_EMAIL_EMAIL_EDT, TYPE_E_NONE );
|
||||
AddEmailWithSpecialData(INSUR_INVEST_OVER, INSUR_INVEST_OVER_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), payoutPrice, mercID, TYPE_EMAIL_EMAIL_EDT, TYPE_E_NONE, XML_INSURANCE_COMPLETED);
|
||||
#endif
|
||||
|
||||
// only now make a payment (immediately)
|
||||
@@ -1450,6 +1461,9 @@ void EndInsuranceInvestigation( UINT16 ubPayoutID )
|
||||
//void InsuranceContractPayLifeInsuranceForDeadMerc( LIFE_INSURANCE_PAYOUT *pPayoutStruct )
|
||||
void InsuranceContractPayLifeInsuranceForDeadMerc( UINT16 ubPayoutID )
|
||||
{
|
||||
const auto mercID = LaptopSaveInfo.pLifeInsurancePayouts[ubPayoutID].ubMercID;
|
||||
const auto payoutPrice = LaptopSaveInfo.pLifeInsurancePayouts[ubPayoutID].iPayOutPrice;
|
||||
|
||||
//if the mercs id number is the same what is in the soldier array
|
||||
if( LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubSoldierID == LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubSoldierID->ubID )
|
||||
{
|
||||
@@ -1459,24 +1473,25 @@ void InsuranceContractPayLifeInsuranceForDeadMerc( UINT16 ubPayoutID )
|
||||
}
|
||||
|
||||
//add transaction to players account
|
||||
AddTransactionToPlayersBook( INSURANCE_PAYOUT, LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubMercID, GetWorldTotalMin(), LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].iPayOutPrice );
|
||||
AddTransactionToPlayersBook( INSURANCE_PAYOUT, mercID, GetWorldTotalMin(), payoutPrice );
|
||||
|
||||
//add to the history log the fact that the we paid the insurance claim
|
||||
AddHistoryToPlayersLog( HISTORY_INSURANCE_CLAIM_PAYOUT, LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubMercID, GetWorldTotalMin(), -1, -1 );
|
||||
AddHistoryToPlayersLog( HISTORY_INSURANCE_CLAIM_PAYOUT, mercID, GetWorldTotalMin(), -1, -1 );
|
||||
|
||||
//if there WASNT an investigation
|
||||
if( gMercProfiles[ LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubMercID ].ubSuspiciousDeath == 0 )
|
||||
if( gMercProfiles[ mercID ].ubSuspiciousDeath == 0 )
|
||||
{
|
||||
//Add an email telling the user that he received an insurance payment
|
||||
#ifdef JA2UB
|
||||
// no UB
|
||||
if( gubQuest[ QUEST_FIX_LAPTOP ] == QUESTDONE || gGameUBOptions.LaptopQuestEnabled == FALSE )
|
||||
{
|
||||
if ( gGameUBOptions.LaptopLinkInsurance == TRUE )
|
||||
AddEmailWithSpecialData( 170, INSUR_PAYMENT_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].iPayOutPrice, LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubMercID, TYPE_EMAIL_INSURANCE_COMPANY_EMAIL_JA2_EDT, TYPE_E_INSURANCE_L3 );
|
||||
{
|
||||
AddEmailWithSpecialData(170, INSUR_PAYMENT_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), payoutPrice, mercID, TYPE_EMAIL_INSURANCE_COMPANY_EMAIL_JA2_EDT, TYPE_E_INSURANCE_L3, XML_INSURANCE_APPROVED);
|
||||
}
|
||||
}
|
||||
#else
|
||||
AddEmailWithSpecialData( INSUR_PAYMENT, INSUR_PAYMENT_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].iPayOutPrice, LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubMercID, TYPE_EMAIL_EMAIL_EDT, TYPE_E_NONE );
|
||||
AddEmailWithSpecialData(INSUR_PAYMENT, INSUR_PAYMENT_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), payoutPrice, mercID, TYPE_EMAIL_EMAIL_EDT, TYPE_E_NONE, XML_INSURANCE_APPROVED);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -3294,7 +3294,7 @@ void HaventMadeImpMercEmailCallBack()
|
||||
if( ( LaptopSaveInfo.fIMPCompletedFlag == FALSE ) && ( LaptopSaveInfo.fSentImpWarningAlready == FALSE ) )
|
||||
{
|
||||
LaptopSaveInfo.fSentImpWarningAlready = TRUE;
|
||||
AddEmail(IMP_EMAIL_AGAIN,IMP_EMAIL_AGAIN_LENGTH,1, GetWorldTotalMin( ), -1, -1, TYPE_EMAIL_EMAIL_EDT );
|
||||
AddEmail(IMP_EMAIL_AGAIN,IMP_EMAIL_AGAIN_LENGTH,1, GetWorldTotalMin( ), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_IMP_INTROAGAIN);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
+5
-6
@@ -1039,7 +1039,7 @@ void DailyUpdateOfMercSite( UINT16 usDate)
|
||||
LaptopSaveInfo.gubPlayersMercAccountStatus = MERC_ACCOUNT_INVALID;
|
||||
if( IsSpeckComAvailable() )
|
||||
{
|
||||
AddEmail( MERC_INVALID, MERC_INVALID_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(MERC_INVALID, MERC_INVALID_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_SPECK_NOTICE);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1055,7 +1055,7 @@ void DailyUpdateOfMercSite( UINT16 usDate)
|
||||
LaptopSaveInfo.gubPlayersMercAccountStatus = MERC_ACCOUNT_SUSPENDED;
|
||||
if( IsSpeckComAvailable() )
|
||||
{
|
||||
AddEmail( MERC_WARNING, MERC_WARNING_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(MERC_WARNING, MERC_WARNING_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_SPECK_DELINQUENT);
|
||||
|
||||
// Have speck complain next time player come to site
|
||||
LaptopSaveInfo.uiSpeckQuoteFlags |= SPECK_QUOTE__SENT_EMAIL_ABOUT_LACK_OF_PAYMENT;
|
||||
@@ -1074,7 +1074,7 @@ void DailyUpdateOfMercSite( UINT16 usDate)
|
||||
LaptopSaveInfo.gubPlayersMercAccountStatus = MERC_ACCOUNT_VALID_FIRST_WARNING;
|
||||
if( IsSpeckComAvailable() )
|
||||
{
|
||||
AddEmail( MERC_FIRST_WARNING, MERC_FIRST_WARNING_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(MERC_FIRST_WARNING, MERC_FIRST_WARNING_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_SPECK_PLEASEPAY);
|
||||
|
||||
// Have speck complain next time player come to site
|
||||
LaptopSaveInfo.uiSpeckQuoteFlags |= SPECK_QUOTE__SENT_EMAIL_ABOUT_LACK_OF_PAYMENT;
|
||||
@@ -2899,8 +2899,7 @@ void GetMercSiteBackOnline()
|
||||
if( IsSpeckComAvailable() )
|
||||
{
|
||||
//Add an email telling the user the site is back up
|
||||
AddEmail( MERC_NEW_SITE_ADDRESS, MERC_NEW_SITE_ADDRESS_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1, -1 , TYPE_EMAIL_EMAIL_EDT);
|
||||
|
||||
AddEmail(MERC_NEW_SITE_ADDRESS, MERC_NEW_SITE_ADDRESS_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_SPECK_NEWSITE);
|
||||
//Set a flag indicating that the server just went up ( so speck can make a comment when the player next visits the site )
|
||||
LaptopSaveInfo.fFirstVisitSinceServerWentDown = TRUE;
|
||||
}
|
||||
@@ -3213,7 +3212,7 @@ void NewMercsAvailableAtMercSiteCallBack()
|
||||
if (!sentNewMercsEmail)
|
||||
{
|
||||
sentNewMercsEmail = true;
|
||||
AddEmail(NEW_MERCS_AT_MERC, NEW_MERCS_AT_MERC_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(NEW_MERCS_AT_MERC, NEW_MERCS_AT_MERC_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_SPECK_NEWPERSONNEL);
|
||||
}
|
||||
|
||||
//new mercs are available
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#pragma once
|
||||
|
||||
#include "Event Pump.h"
|
||||
//time for a new header :)
|
||||
extern int readyteamreg[10];
|
||||
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
#include "vsurface.h"
|
||||
#include "Button System.h"
|
||||
#include "Font Control.h"
|
||||
#include "Editor Taskbar Utils.h"
|
||||
#include "line.h"
|
||||
#include "input.h"
|
||||
#include "vobject_blitters.h"
|
||||
@@ -16,7 +15,6 @@
|
||||
#include "mousesystem.h"
|
||||
#include "strategicmap.h"
|
||||
#include "FileMan.h"
|
||||
#include "Map Information.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "Game Clock.h"
|
||||
#include "Campaign Types.h"
|
||||
|
||||
+1
-21
@@ -6,35 +6,18 @@
|
||||
#include <math.h>
|
||||
#include "ASD.h"
|
||||
#include "strategic.h"
|
||||
#include "WCheck.h"
|
||||
#include "Utilities.h"
|
||||
#include "WordWrap.h"
|
||||
#include "Cursors.h"
|
||||
#include "line.h"
|
||||
#include "Insurance Text.h"
|
||||
#include "Encrypted File.h"
|
||||
#include "Text.h"
|
||||
#include "Multi Language Graphic Utils.h"
|
||||
#include "random.h"
|
||||
#include "Interface.h"
|
||||
#include "Soldier Add.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Overhead.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "finances.h"
|
||||
#include <Font Control.h>
|
||||
#include "Game Clock.h"
|
||||
#include "SaveLoadGame.h"
|
||||
#include "GameVersion.h"
|
||||
#include "message.h"
|
||||
#include "Game Event Hook.h"
|
||||
#include "Militia Control.h"
|
||||
#include "Town Militia.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "Map Information.h"
|
||||
|
||||
#include "Campaign.h"
|
||||
#include "random.h"
|
||||
#include "Explosion Control.h"
|
||||
#include "Strategic AI.h"
|
||||
#include "Strategic Mines.h"
|
||||
#include "Reinforcement.h"
|
||||
@@ -42,9 +25,6 @@
|
||||
#include "Queen Command.h"
|
||||
#include "Map Screen Helicopter.h"
|
||||
#include "Points.h"
|
||||
#include "worldman.h"
|
||||
#include "Map Information.h"
|
||||
#include "opplist.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "Sound Control.h"
|
||||
#include "renderworld.h"
|
||||
|
||||
@@ -4948,7 +4948,7 @@ static void CollectRepairableItems(SOLDIERTYPE* pRepairSoldier, SOLDIERTYPE* pSo
|
||||
// Check for attachments (are there stackable items that can take attachments though?)
|
||||
UINT8 attachmentIndex = 0;
|
||||
for (attachmentList::const_iterator iter = (*pObj)[stackIndex]->attachments.begin(); iter != (*pObj)[stackIndex]->attachments.end(); ++iter, ++attachmentIndex) {
|
||||
if (IsItemRepairable(pRepairSoldier, iter->usItem, (*iter)[attachmentIndex]->data.objectStatus, (*iter)[attachmentIndex]->data.sRepairThreshold )) {
|
||||
if ( iter->exists() && IsItemRepairable(pRepairSoldier, iter->usItem, (*iter)[attachmentIndex]->data.objectStatus, (*iter)[attachmentIndex]->data.sRepairThreshold )) {
|
||||
// Send the main item, not the attachment
|
||||
RepairItem item(pObj, pSoldier, (INVENTORY_SLOT) pocketIndex);
|
||||
itemsToFix.push(item);
|
||||
@@ -5081,7 +5081,7 @@ OBJECTTYPE* FindRepairableItemInSpecificPocket(SOLDIERTYPE * pSoldier, OBJECTTYP
|
||||
// have to check for attachments after...
|
||||
for (attachmentList::iterator iter = (*pObj)[subObject]->attachments.begin(); iter != (*pObj)[subObject]->attachments.end(); ++iter) {
|
||||
// if it's repairable and NEEDS repairing
|
||||
if ( IsItemRepairable( pSoldier, iter->usItem, (*iter)[subObject]->data.objectStatus, (*iter)[subObject]->data.sRepairThreshold ) && iter->exists() ) {
|
||||
if ( iter->exists() && IsItemRepairable( pSoldier, iter->usItem, (*iter)[subObject]->data.objectStatus, (*iter)[subObject]->data.sRepairThreshold ) ) {
|
||||
return( &(*iter) );
|
||||
}
|
||||
}
|
||||
@@ -5171,8 +5171,12 @@ BOOLEAN RepairObject( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pOwner, OBJECTTYPE *
|
||||
INT16 threshold = 100;
|
||||
if ( gGameExternalOptions.fAdvRepairSystem && (Item[pObj->usItem].usItemClass & (IC_WEAPON|IC_ARMOUR)) )
|
||||
{
|
||||
if ( !gSkillTraitValues.fTETraitsCanRestoreItemThreshold || !HAS_SKILL_TRAIT( pSoldier, TECHNICIAN_NT ) )
|
||||
if (gSkillTraitValues.fTETraitsCanRestoreItemThreshold && NUM_SKILL_TRAITS(pSoldier, TECHNICIAN_NT) >= gSkillTraitValues.ubTechLevelNeededForAdvancedRepair) // Greysa: added skill check for advanced repair. If we have a high enough technician level, we can repair items above the normal threshold (1 for technician, 2 for engineer)
|
||||
{
|
||||
threshold = 100;
|
||||
}
|
||||
else
|
||||
{
|
||||
threshold = (*pObj)[ubLoop]->data.sRepairThreshold;
|
||||
}
|
||||
}
|
||||
@@ -11085,7 +11089,8 @@ void DetermineWhichAssignmentMenusCanBeShown( void )
|
||||
CreateDestroyMouseRegionForFacilityMenu();
|
||||
CreateDestroyMouseRegionsForFacilityAssignmentMenu();
|
||||
|
||||
if( ( ( gCharactersList[ bSelectedInfoChar ].usSolID->stats.bLife == 0 )||( gCharactersList[bSelectedInfoChar].usSolID->bAssignment == ASSIGNMENT_POW ) ) && ( (guiTacticalInterfaceFlags & INTERFACE_MAPSCREEN ) ) )
|
||||
const auto selectedCharacter = gCharactersList[bSelectedInfoChar].usSolID;
|
||||
if( selectedCharacter < NOBODY && ( (selectedCharacter->stats.bLife == 0 )||(selectedCharacter->bAssignment == ASSIGNMENT_POW ) ) && ( (guiTacticalInterfaceFlags & INTERFACE_MAPSCREEN ) ) )
|
||||
{
|
||||
// show basic assignment menu
|
||||
ShowBox( ghRemoveMercAssignBox );
|
||||
|
||||
@@ -2481,6 +2481,12 @@ DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"Autoresolve2");
|
||||
DeleteVideoObjectFromIndex( gpAR->iIndent );
|
||||
DeleteVideoSurfaceFromIndex( gpAR->iInterfaceBuffer );
|
||||
|
||||
// Load necessary mapinfo to place corpses
|
||||
CHAR8 bFilename[50];
|
||||
INT32 worldRows, worldCols;
|
||||
GetMapFileName(gpAR->ubSectorX, gpAR->ubSectorY, 0, bFilename, TRUE, TRUE);
|
||||
LoadWorldInfoForAutoResolve(bFilename, worldRows, worldCols);
|
||||
|
||||
if( fDeleteForGood )
|
||||
{ //Delete the soldier instances -- done when we are completely finished.
|
||||
|
||||
@@ -2519,7 +2525,7 @@ DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"Autoresolve2");
|
||||
RemoveCharacterFromSquads( gpMercs[ i ].pSoldier );
|
||||
ChangeSoldiersAssignment( gpMercs[ i ].pSoldier, ASSIGNMENT_DEAD );
|
||||
|
||||
AddDeadSoldierToUnLoadedSector( gpAR->ubSectorX, gpAR->ubSectorY, 0, gpMercs[ i ].pSoldier, RandomGridNo(), ADD_DEAD_SOLDIER_TO_SWEETSPOT );
|
||||
AddDeadSoldierToUnLoadedSector( gpAR->ubSectorX, gpAR->ubSectorY, 0, gpMercs[ i ].pSoldier, RandomGridNoUnloadedSector(worldRows, worldCols), ADD_DEAD_SOLDIER_TO_SWEETSPOT );
|
||||
}
|
||||
else if( gpAR->ubBattleStatus == BATTLE_SURRENDERED || gpAR->ubBattleStatus == BATTLE_CAPTURED )
|
||||
{
|
||||
@@ -2624,7 +2630,8 @@ DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"Autoresolve2");
|
||||
}
|
||||
|
||||
// Flugente: drop sector equipment
|
||||
gpCivs[ i ].pSoldier->DropSectorEquipment();
|
||||
const auto gridno = RandomGridNoUnloadedSector(worldRows, worldCols);
|
||||
gpCivs[ i ].pSoldier->DropSectorEquipment(gridno);
|
||||
|
||||
if( fDeleteForGood && gpCivs[ i ].pSoldier->stats.bLife < OKLIFE/2 )
|
||||
{
|
||||
@@ -2649,7 +2656,7 @@ DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"Autoresolve2");
|
||||
UpdateMilitia( militia );
|
||||
}
|
||||
|
||||
AddDeadSoldierToUnLoadedSector( gpAR->ubSectorX, gpAR->ubSectorY, 0, gpCivs[ i ].pSoldier, RandomGridNo(), ADD_DEAD_SOLDIER_TO_SWEETSPOT );
|
||||
AddDeadSoldierToUnLoadedSector( gpAR->ubSectorX, gpAR->ubSectorY, 0, gpCivs[ i ].pSoldier, gridno, ADD_DEAD_SOLDIER_TO_SWEETSPOT );
|
||||
StrategicRemoveMilitiaFromSector( gpCivs[ i ].pSoldier->sSectorX, gpCivs[ i ].pSoldier->sSectorY, ubCurrentRank, 1 );
|
||||
|
||||
if( ProcessLoyalty() )
|
||||
@@ -2681,7 +2688,8 @@ DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"Autoresolve2");
|
||||
TrackEnemiesKilled( ENEMY_KILLED_IN_AUTO_RESOLVE, gpEnemies[ i ].pSoldier->ubSoldierClass ); //add casualty to some statistic
|
||||
if( ProcessLoyalty() )HandleGlobalLoyaltyEvent( GLOBAL_LOYALTY_ENEMY_KILLED, gpAR->ubSectorX, gpAR->ubSectorY, 0 );
|
||||
ProcessQueenCmdImplicationsOfDeath( gpEnemies[ i ].pSoldier );
|
||||
AddDeadSoldierToUnLoadedSector( gpAR->ubSectorX, gpAR->ubSectorY, 0, gpEnemies[ i ].pSoldier, RandomGridNo(), ADD_DEAD_SOLDIER_TO_SWEETSPOT );
|
||||
const auto gridno = RandomGridNoUnloadedSector(worldRows, worldCols);
|
||||
AddDeadSoldierToUnLoadedSector( gpAR->ubSectorX, gpAR->ubSectorY, 0, gpEnemies[ i ].pSoldier, gridno, ADD_DEAD_SOLDIER_TO_SWEETSPOT);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6007,7 +6015,7 @@ void AutoResolveMilitiaDropAndPromote()
|
||||
}
|
||||
|
||||
// Flugente: drop sector equipment
|
||||
gpCivs[i].pSoldier->DropSectorEquipment( );
|
||||
gpCivs[i].pSoldier->DropSectorEquipment( NOWHERE );
|
||||
|
||||
if ( gpCivs[i].pSoldier->stats.bLife < OKLIFE / 2 )
|
||||
{
|
||||
|
||||
@@ -249,10 +249,6 @@ void AdvanceClock( UINT8 ubWarpCode )
|
||||
guiDay = ( guiGameClock / NUM_SEC_IN_DAY );
|
||||
guiHour = ( guiGameClock - ( guiDay * NUM_SEC_IN_DAY ) ) / NUM_SEC_IN_HOUR;
|
||||
guiMin = ( guiGameClock - ( ( guiDay * NUM_SEC_IN_DAY ) + ( guiHour * NUM_SEC_IN_HOUR ) ) ) / NUM_SEC_IN_MIN;
|
||||
|
||||
uiHourLua = guiHour;
|
||||
uiDayLua = guiDay;
|
||||
uiMinLua = guiMin;
|
||||
|
||||
swprintf( WORLDTIMESTR, L"%s %d, %02d:%02d", gpGameClockString[ STR_GAMECLOCK_DAY_NAME ], guiDay, guiHour, guiMin );
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
#include "environment.h"
|
||||
#include "Ambient Control.h"
|
||||
#include "Quests.h"
|
||||
// #include "Sound Control.h"
|
||||
#include "AimMembers.h"
|
||||
#include "Strategic Event Handler.h"
|
||||
#include "BobbyR.h"
|
||||
@@ -211,7 +210,7 @@ BOOLEAN ExecuteStrategicEvent( STRATEGICEVENT *pEvent )
|
||||
#ifdef JA2UB
|
||||
//No JA25 UB
|
||||
#else
|
||||
AddEmail(MERC_INTRO, MERC_INTRO_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin( ), -1, -1 ,TYPE_EMAIL_EMAIL_EDT );
|
||||
AddEmail(MERC_INTRO, MERC_INTRO_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_SPECK_INTRO);
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
@@ -488,7 +487,7 @@ BOOLEAN ExecuteStrategicEvent( STRATEGICEVENT *pEvent )
|
||||
// No PCM in UB
|
||||
#else
|
||||
case EVENT_PMC_EMAIL:
|
||||
AddEmail( PMC_INTRO, PMC_INTRO_LENGTH, PMC, GetWorldTotalMin( ), -1, -1, TYPE_EMAIL_EMAIL_EDT );
|
||||
AddEmail(PMC_INTRO, PMC_INTRO_LENGTH, PMC, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_KERBERUS_OFFER);
|
||||
break;
|
||||
#endif
|
||||
|
||||
@@ -504,16 +503,14 @@ BOOLEAN ExecuteStrategicEvent( STRATEGICEVENT *pEvent )
|
||||
gMercProfiles[MARIA].bMercStatus != MERC_IS_DEAD && gMercProfiles[ANGEL].bMercStatus != MERC_IS_DEAD )
|
||||
{
|
||||
StartQuest( QUEST_KINGPIN_ANGEL_MARIA, gWorldSectorX, gWorldSectorY );
|
||||
|
||||
AddEmail( KINGPIN_BOUNTY_INITIAL, KINGPIN_BOUNTY_INITIAL_LENGTH, KING_PIN, GetWorldTotalMin( ), -1, -1, TYPE_EMAIL_EMAIL_EDT );
|
||||
AddEmail(KINGPIN_BOUNTY_INITIAL, KINGPIN_BOUNTY_INITIAL_LENGTH, KING_PIN, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_KINGPIN_JOBOPPORTUNITY);
|
||||
}
|
||||
break;
|
||||
|
||||
case EVENT_KINGPIN_BOUNTY_END_KILLEDTHEM:
|
||||
if ( gMercProfiles[KINGPIN].bMercStatus != MERC_IS_DEAD && !CheckFact( FACT_KINGPIN_DEAD, NO_PROFILE ) && !CheckFact( FACT_KINGPIN_IS_ENEMY, NO_PROFILE ) )
|
||||
{
|
||||
AddEmail( KINGPIN_BOUNTY_KINGPIN_REWARD, KINGPIN_BOUNTY_KINGPIN_REWARD_LENGTH, KING_PIN, GetWorldTotalMin( ), -1, -1, TYPE_EMAIL_EMAIL_EDT );
|
||||
|
||||
AddEmail(KINGPIN_BOUNTY_KINGPIN_REWARD, KINGPIN_BOUNTY_KINGPIN_REWARD_LENGTH, KING_PIN, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_KINGPIN_WELLDONE);
|
||||
// also authorise payment from kingpin to the player
|
||||
AddTransactionToPlayersBook( ANONYMOUS_DEPOSIT, 0, GetWorldTotalMin( ), 10000 );
|
||||
}
|
||||
@@ -529,14 +526,13 @@ BOOLEAN ExecuteStrategicEvent( STRATEGICEVENT *pEvent )
|
||||
if ( gMercProfiles[MARIA].bMercStatus != MERC_IS_DEAD && gMercProfiles[ANGEL].bMercStatus != MERC_IS_DEAD
|
||||
&& CheckFact( FACT_BOUNTYHUNTER_KILLED_1, NO_PROFILE ) && CheckFact( FACT_BOUNTYHUNTER_KILLED_2, NO_PROFILE ) )
|
||||
{
|
||||
AddEmail( KINGPIN_BOUNTY_ANGEL_THANKS, KINGPIN_BOUNTY_ANGEL_THANKS_LENGTH, ANGEL_DASILVA, GetWorldTotalMin( ), -1, -1, TYPE_EMAIL_EMAIL_EDT );
|
||||
|
||||
AddEmail( KINGPIN_BOUNTY_TARGET_GOTAWAY, KINGPIN_BOUNTY_TARGET_GOTAWAY_LENGTH, KING_PIN, GetWorldTotalMin( ), -1, -1, TYPE_EMAIL_EMAIL_EDT );
|
||||
AddEmail(KINGPIN_BOUNTY_ANGEL_THANKS, KINGPIN_BOUNTY_ANGEL_THANKS_LENGTH, ANGEL_DASILVA, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_DASILVA_THANKYOU);
|
||||
AddEmail(KINGPIN_BOUNTY_TARGET_GOTAWAY, KINGPIN_BOUNTY_TARGET_GOTAWAY_LENGTH, KING_PIN, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_KINGPIN_FAILUREOBSTACLES);
|
||||
}
|
||||
// we can assume that the bounty hunters for to them first - Kingpin sends an email and states that someone else finished the job
|
||||
else if ( gMercProfiles[KINGPIN].bMercStatus != MERC_IS_DEAD && !CheckFact( FACT_KINGPIN_DEAD, NO_PROFILE ) && !CheckFact( FACT_KINGPIN_IS_ENEMY, NO_PROFILE ) )
|
||||
{
|
||||
AddEmail( KINGPIN_BOUNTY_BH_GOTTARGET, KINGPIN_BOUNTY_BH_GOTTARGET_LENGTH, KING_PIN, GetWorldTotalMin( ), -1, -1, TYPE_EMAIL_EMAIL_EDT );
|
||||
AddEmail(KINGPIN_BOUNTY_BH_GOTTARGET, KINGPIN_BOUNTY_BH_GOTTARGET_LENGTH, KING_PIN, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_KINGPIN_FAILURE);
|
||||
}
|
||||
|
||||
// in any case, this quest is now over
|
||||
@@ -602,7 +598,7 @@ BOOLEAN ExecuteStrategicEvent( STRATEGICEVENT *pEvent )
|
||||
|
||||
#ifndef JA2UB
|
||||
case EVENT_MILITIAROSTER_EMAIL:
|
||||
AddEmail( MILITIAROSTER_INTRO, MILITIAROSTER_INTRO_LENGTH, MAIL_ENRICO, GetWorldTotalMin( ), -1, -1, TYPE_EMAIL_EMAIL_EDT );
|
||||
AddEmail(MILITIAROSTER_INTRO, MILITIAROSTER_INTRO_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_ENRICO_MILITIA_WEBSITE);
|
||||
break;
|
||||
#endif
|
||||
|
||||
@@ -629,7 +625,7 @@ BOOLEAN ExecuteStrategicEvent( STRATEGICEVENT *pEvent )
|
||||
|
||||
#ifndef JA2UB
|
||||
case EVENT_INTEL_ENRICO_EMAIL:
|
||||
AddEmail( INTEL_ENRICO_INTRO, INTEL_ENRICO_INTRO_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT );
|
||||
AddEmail(INTEL_ENRICO_INTRO, INTEL_ENRICO_INTRO_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_ENRICO_INTEL);
|
||||
break;
|
||||
#endif
|
||||
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
#include "Soldier Profile.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Game Init.h"
|
||||
#include "finances.h"
|
||||
#include "finances.h"
|
||||
#include "Soldier Create.h"
|
||||
#include "strategic.h"
|
||||
#include "strategic.h"
|
||||
#include "history.h"
|
||||
#include "merc entering.h"
|
||||
#include "Squads.h"
|
||||
|
||||
@@ -158,7 +158,6 @@ CHAR16 zString[128];
|
||||
|
||||
HourlyDrugUpdate();
|
||||
|
||||
RebelCommand::HourlyUpdate();
|
||||
|
||||
// WANNE: This check should avoid the resaving of a loaded auto-save game, when entering tactical
|
||||
BOOLEAN doAutoSave = TRUE;
|
||||
@@ -169,6 +168,10 @@ CHAR16 zString[128];
|
||||
|
||||
if (doAutoSave)
|
||||
{
|
||||
// We're also using the doAutoSave check to prevent RebelCommand::DailyUpdate() from running a second time when loading an autosave at 00:00
|
||||
RebelCommand::HourlyUpdate();
|
||||
|
||||
|
||||
if ( AutoSaveToSlot[1] == FALSE && AutoSaveToSlot[2] == FALSE && AutoSaveToSlot[3] == FALSE && AutoSaveToSlot[4] == FALSE )
|
||||
AutoSaveToSlot[0] = TRUE;
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#ifdef JA2UB
|
||||
#include "builddefines.h"
|
||||
|
||||
#include "strategicmap.h"
|
||||
@@ -68,7 +69,6 @@
|
||||
#include "Auto Resolve.h"
|
||||
#include "Cursors.h"
|
||||
|
||||
#ifdef JA2UB
|
||||
#include "Soldier Init List.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "Game Clock.h"
|
||||
|
||||
+70
-40
@@ -112,8 +112,6 @@ static int l_CheckMission(lua_State* L);
|
||||
|
||||
void FatigueCharacter(SOLDIERTYPE* pSoldier);
|
||||
|
||||
static int l_AddCustomEmail(lua_State* L);
|
||||
|
||||
static int l_SetDefaultArrivalSector(lua_State* L);
|
||||
static int l_GetDefaultArrivalSector(lua_State* L);
|
||||
static int l_SetMercArrivalLocation(lua_State* L);
|
||||
@@ -405,9 +403,9 @@ static int l_AddToShouldBecomeHostileOrSayQuoteList(lua_State* L);
|
||||
|
||||
static int l_AddPreReadEmail(lua_State* L);
|
||||
static int l_AddEmail(lua_State* L);
|
||||
static int l_AddEmailXML(lua_State* L);
|
||||
static int l_AddEmailXML2(lua_State* L);
|
||||
static int l_AddEmailMercAvailableXML(lua_State* L);
|
||||
static int l_AddEmailLevelUpXML(lua_State* L);
|
||||
static int l_AddEmailFromXML(lua_State* L);
|
||||
|
||||
static int l_EVENT_SoldierGotHit(lua_State* L);
|
||||
static int l_EVENT_InitNewSoldierAnim(lua_State* L);
|
||||
@@ -861,6 +859,7 @@ static int l_PlayerTeamFull(lua_State* L);
|
||||
|
||||
static int l_ProfilesStrategicInsertionData(lua_State* L);
|
||||
|
||||
static int l_HealBoxers(lua_State* L);
|
||||
static int l_ResetBoxers(lua_State* L);
|
||||
|
||||
static int l_AddVolunteers(lua_State* L);
|
||||
@@ -914,9 +913,6 @@ static int l_SetIntelAndQuestMapDataForSector(lua_State* L);
|
||||
using namespace std;
|
||||
|
||||
UINT16 idProfil;
|
||||
UINT32 uiHourLua;
|
||||
UINT32 uiDayLua;
|
||||
UINT32 uiMinLua;
|
||||
|
||||
UINT16 PROFILLUA_sSectorX;
|
||||
UINT16 PROFILLUA_sSectorY;
|
||||
@@ -1027,9 +1023,9 @@ static void IniFunction(lua_State* L, BOOLEAN bQuests)
|
||||
|
||||
lua_register(L, "AddPreReadEmail", l_AddPreReadEmail);
|
||||
lua_register(L, "AddEmail", l_AddEmail);
|
||||
lua_register(L, "AddEmailMercAvailableXML", l_AddEmailXML);
|
||||
lua_register(L, "AddEmailMercAvailableXML", l_AddEmailMercAvailableXML);
|
||||
lua_register(L, "AddEmailMercLevelUpXML", l_AddEmailLevelUpXML);
|
||||
lua_register(L, "AddEmailXML", l_AddEmailXML2);
|
||||
lua_register(L, "AddEmailFromXML", l_AddEmailFromXML);
|
||||
|
||||
//------Time------
|
||||
|
||||
@@ -1191,6 +1187,7 @@ static void IniFunction(lua_State* L, BOOLEAN bQuests)
|
||||
lua_register(L, "TacticalCharacterDialogueWithSpecialEvent", l_TacticalCharacterDialogueWithSpecialEvent);
|
||||
lua_register(L, "SetSalary", l_MercSalary);
|
||||
lua_register(L, "SetProfileStrategicInsertionData", l_ProfilesStrategicInsertionData);
|
||||
lua_register(L, "HealBoxers", l_HealBoxers);
|
||||
|
||||
//Get merc
|
||||
lua_register(L, "GetDirection", l_GetDirection); //new
|
||||
@@ -1642,8 +1639,6 @@ static void IniFunction(lua_State* L, BOOLEAN bQuests)
|
||||
|
||||
lua_register(L, "ReStartingGame", l_ReStartingGame);
|
||||
|
||||
lua_register(L, "AddCustomEmail", l_AddCustomEmail);
|
||||
|
||||
lua_register(L, "SetDefaultArrivalSector", l_SetDefaultArrivalSector);
|
||||
lua_register(L, "GetDefaultArrivalSector", l_GetDefaultArrivalSector);
|
||||
lua_register(L, "SetDefaultArrivalGridNo", l_SetMercArrivalLocation);
|
||||
@@ -2002,20 +1997,6 @@ static int l_SetHandleGlobalLoyaltyEvent(lua_State* L)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int l_AddCustomEmail(lua_State* L)
|
||||
{
|
||||
if (lua_gettop(L) >= 3)
|
||||
{
|
||||
INT32 iMessageOffset = lua_tointeger(L, 1);
|
||||
INT32 iMessageLength = lua_tointeger(L, 2);
|
||||
UINT8 ubSender = lua_tointeger(L, 3);
|
||||
|
||||
AddCustomEmail(iMessageOffset, iMessageLength, ubSender, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_OTHER);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int l_gMercProfileGearset(lua_State* L)
|
||||
{
|
||||
if (lua_gettop(L) >= 8)
|
||||
@@ -7448,23 +7429,9 @@ static int l_ExecuteStrategicAIAction(lua_State* L)
|
||||
return 0;
|
||||
}
|
||||
|
||||
//AddEmailXML
|
||||
static int l_AddEmailXML2(lua_State* L)
|
||||
{
|
||||
if (lua_gettop(L) >= 3)
|
||||
{
|
||||
INT32 offset = lua_tointeger(L, 1);
|
||||
INT32 messagelength = lua_tointeger(L, 2);
|
||||
UINT8 sender = lua_tointeger(L, 3);
|
||||
|
||||
AddEmailTypeXML(offset, messagelength, sender, GetWorldTotalMin(), -1, TYPE_EMAIL_OTHER);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//AddEmailXML
|
||||
static int l_AddEmailXML(lua_State* L)
|
||||
static int l_AddEmailMercAvailableXML(lua_State* L)
|
||||
{
|
||||
if (lua_gettop(L))
|
||||
{
|
||||
@@ -7531,6 +7498,48 @@ static int l_AddPreReadEmail(lua_State* L)
|
||||
return 0;
|
||||
}
|
||||
|
||||
// New externalized emails
|
||||
//AddEmail
|
||||
static int l_AddEmailFromXML(lua_State* L)
|
||||
{
|
||||
if (lua_gettop(L))
|
||||
{
|
||||
UINT8 index = lua_tointeger(L, 1);
|
||||
bool preReadMail = false;
|
||||
INT32 iCurrentIMPPosition = -1;
|
||||
INT16 iCurrentShipmentDestinationID = -1;
|
||||
INT32 specialData1 = -1;
|
||||
UINT32 specialData2 = -1;
|
||||
INT32 specialData3 = -1;
|
||||
INT32 specialData4 = -1;
|
||||
UINT32 specialData5 = -1;
|
||||
UINT32 specialData6 = -1;
|
||||
|
||||
if ( lua_gettop(L) >= 2 )
|
||||
{
|
||||
preReadMail = lua_toboolean(L, 2);
|
||||
}
|
||||
if ( lua_gettop(L) >= 7 )
|
||||
{
|
||||
iCurrentIMPPosition = lua_tointeger(L, 3);
|
||||
iCurrentShipmentDestinationID = lua_tointeger(L, 4);
|
||||
specialData1 = lua_tointeger(L, 5);
|
||||
specialData2 = lua_tointeger(L, 6);
|
||||
specialData3 = lua_tointeger(L, 7);
|
||||
}
|
||||
|
||||
if ( specialData1 != -1 || specialData2 != -1 )
|
||||
{
|
||||
AddEmailWithSpecialDataXML(index, GetWorldTotalMin(), iCurrentIMPPosition, iCurrentShipmentDestinationID, preReadMail, specialData1, specialData2, specialData3, specialData4, specialData5, specialData6);
|
||||
}
|
||||
else
|
||||
{
|
||||
AddEmailFromXML(index, GetWorldTotalMin(), iCurrentIMPPosition, iCurrentShipmentDestinationID, preReadMail, specialData1, specialData2, specialData3, specialData4, specialData5, specialData6);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
//gfBoxerFought
|
||||
static int l_SetgfBoxerFought(lua_State* L)
|
||||
{
|
||||
@@ -9305,6 +9314,27 @@ static int l_ResetBoxers(lua_State* L)
|
||||
return 0;
|
||||
}
|
||||
|
||||
// heal boxers back to max health in case the player stays in sector while the boxers are resting
|
||||
static int l_HealBoxers(lua_State* L)
|
||||
{
|
||||
for (UINT8 i = 0; i < NUM_BOXERS; ++i)
|
||||
{
|
||||
// Get breath back
|
||||
gubBoxerID[i]->bBreath = gubBoxerID[i]->bBreathMax;
|
||||
gubBoxerID[i]->sBreathRed = 0;
|
||||
// Get life back
|
||||
gubBoxerID[i]->stats.bLife = gubBoxerID[i]->stats.bLifeMax;
|
||||
gubBoxerID[i]->bBleeding = 0;
|
||||
// erase insta-healable injury
|
||||
gubBoxerID[i]->iHealableInjury = 0;
|
||||
|
||||
DebugQuestInfo(String("Lua: healed gubBoxerID[%d] %d back to full health", i, gubBoxerID[i]));
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
//Set character to sector Y
|
||||
static int l_SetCharacterSectorY(lua_State* L)
|
||||
{
|
||||
|
||||
@@ -26,9 +26,6 @@ typedef struct
|
||||
|
||||
extern ACTION_ITEM_VALUES ActionItemsValues[500];
|
||||
|
||||
extern UINT32 uiHourLua;
|
||||
extern UINT32 uiDayLua;
|
||||
extern UINT32 uiMinLua;
|
||||
extern UINT16 PROFILLUA_sSectorX;
|
||||
extern UINT16 PROFILLUA_sSectorY;
|
||||
extern UINT8 PROFILLUA_bSectorZ;
|
||||
|
||||
+10
-9
@@ -510,15 +510,6 @@ void IniGlobalGameSetting(lua_State *L)
|
||||
lua_pushinteger(L, gubBoxingMatchesWon);
|
||||
lua_setglobal(L, "gubBoxingMatchesWon");
|
||||
|
||||
lua_pushinteger(L, uiHourLua);
|
||||
lua_setglobal(L, "cHour");
|
||||
|
||||
lua_pushinteger(L, uiDayLua);
|
||||
lua_setglobal(L, "cDay");
|
||||
|
||||
lua_pushinteger(L, uiMinLua);
|
||||
lua_setglobal(L, "cMin");
|
||||
|
||||
lua_pushinteger(L, gbPlayerNum);
|
||||
lua_setglobal(L, "gbPlayerNum");
|
||||
|
||||
@@ -590,6 +581,16 @@ void IniGlobalGameSetting(lua_State *L)
|
||||
lua_pushinteger(L, guiMin);
|
||||
lua_setglobal(L, "guiMin");
|
||||
|
||||
lua_pushinteger(L, guiDay);
|
||||
lua_setglobal(L, "cDay");
|
||||
|
||||
lua_pushinteger(L, guiHour);
|
||||
lua_setglobal(L, "cHour");
|
||||
|
||||
lua_pushinteger(L, guiMin);
|
||||
lua_setglobal(L, "cMin");
|
||||
|
||||
|
||||
lua_pushinteger(L, guiCurrentScreen);
|
||||
lua_setglobal(L, "guiCurrentScreen");
|
||||
|
||||
|
||||
@@ -11,21 +11,16 @@
|
||||
#include "mapscreen.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "Map Screen Interface Map.h"
|
||||
#include "Map Screen Interface Border.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "Map Screen Interface Map Inventory.h"
|
||||
#include "Map Screen Helicopter.h"
|
||||
#include "Text.h"
|
||||
#include "Campaign Types.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Assignments.h"
|
||||
// HEADROCK HAM 4: Now accepts INI settings
|
||||
#include "GameSettings.h"
|
||||
// Also include Quests, for checking whether a fact is true.
|
||||
#include "Quests.h"
|
||||
// HEADROCK HAM 5: Required for inventory filter popup
|
||||
#include "popup_callback.h"
|
||||
#include "popup_class.h"
|
||||
#include "Queen Command.h" // added by Flugente
|
||||
|
||||
|
||||
@@ -22,10 +22,8 @@
|
||||
#include "Options Screen.h"
|
||||
#include "Cursor Control.h"
|
||||
#include "gameloop.h"
|
||||
#include "ai.h"
|
||||
#include "Tactical Save.h"
|
||||
#include "Campaign Types.h"
|
||||
#include "Air Raid.h"
|
||||
#include "finances.h"
|
||||
#include "LaptopSave.h"
|
||||
#include "Interface Items.h"
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#include "Map Screen Interface Map Inventory.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "vobject.h"
|
||||
#include "Utilities.h"
|
||||
#include "WCheck.h"
|
||||
#include "sysutil.h"
|
||||
#include "Map Screen Interface Border.h"
|
||||
@@ -28,7 +27,6 @@
|
||||
#include "WordWrap.h"
|
||||
#include "Soldier macros.h"
|
||||
#include "rt time defines.h"
|
||||
#include "Encyclopedia_new.h" //Moa: item visibility
|
||||
#include "Town Militia.h" // added by Flugente
|
||||
|
||||
#include "ShopKeeper Interface.h"
|
||||
@@ -36,10 +34,7 @@
|
||||
#include <algorithm>
|
||||
#include "InterfaceItemImages.h"
|
||||
#include "SaveLoadGame.h"//dnl ch51 081009
|
||||
#include "Map Information.h"//dnl ch51 091009
|
||||
#include "Interface Items.h"
|
||||
#include "Food.h" // added by Flugente
|
||||
#include "Campaign Types.h" // added by Flugente
|
||||
#include "mapscreen.h"
|
||||
|
||||
//forward declarations of common classes to eliminate includes
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#include "Squads.h"
|
||||
#include "message.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Player Command.h"
|
||||
#include "Strategic Movement.h"
|
||||
#include "Queen Command.h"
|
||||
#include "Campaign Types.h"
|
||||
@@ -28,7 +27,6 @@
|
||||
#include "Vehicles.h"
|
||||
#include "Map Screen Helicopter.h"
|
||||
#include "Game Clock.h"
|
||||
#include "finances.h"
|
||||
#include "line.h"
|
||||
#include "english.h"
|
||||
#include "PreBattle Interface.h"
|
||||
@@ -39,7 +37,6 @@
|
||||
#include "Tactical Save.h"
|
||||
#include "Map Information.h"
|
||||
#include "Air Raid.h"
|
||||
#include "Auto Resolve.h"
|
||||
#include "ASD.h" // added by Flugente
|
||||
#include "MilitiaIndividual.h" // added by Flugente
|
||||
#include "Map Screen Interface Map Inventory.h" // added by Flugente
|
||||
@@ -50,10 +47,8 @@
|
||||
|
||||
#include "Quests.h"
|
||||
#include "connect.h"
|
||||
#include "Strategic Mines.h"
|
||||
// HEADROCK HAM 3.5: included for detectionlevels
|
||||
#include "Facilities.h"
|
||||
#include "MilitiaSquads.h"
|
||||
|
||||
#include "LaptopSave.h"
|
||||
#include <language.hpp>
|
||||
|
||||
@@ -5,19 +5,15 @@
|
||||
#include "Queen Command.h"
|
||||
#include "Player Command.h"
|
||||
#include "Font Control.h"
|
||||
#include "Font.h"
|
||||
#include "Text.h"
|
||||
#include "Map Screen Interface Map.h"
|
||||
#include "Map Screen Interface Border.h"
|
||||
#include "Handle UI.h"
|
||||
#include "NPC.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "Strategic Mines.h"
|
||||
#include "finances.h"
|
||||
#include "Map Screen Interface Map Inventory.h"
|
||||
#include "strategic.h"
|
||||
#include "Utilities.h"
|
||||
#include "video.h"
|
||||
#include <vsurface.h>
|
||||
#include "Town Militia.h"
|
||||
#include "HelpScreen.h"
|
||||
#include "Map Screen Helicopter.h"
|
||||
@@ -25,10 +21,7 @@
|
||||
#include "GameSettings.h"
|
||||
#include "DEBUG.H"
|
||||
#include "Overhead.h" // added by Flugente
|
||||
#include "Game Clock.h" // added by Flugente
|
||||
#include "Game Event Hook.h" // added by Flugente
|
||||
|
||||
#include "Strategic Mines.h"
|
||||
|
||||
|
||||
#define BOX_BUTTON_WIDTH 100
|
||||
#define BOX_BUTTON_HEIGHT 20
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#include "Map Screen Interface.h"
|
||||
#include "string.h"
|
||||
#include "Map Screen Interface Map.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "Font Control.h"
|
||||
@@ -28,7 +27,6 @@
|
||||
#include "Vehicles.h"
|
||||
#include "line.h"
|
||||
#include "Text.h"
|
||||
#include "gameloop.h"
|
||||
#include "Map Screen Helicopter.h"
|
||||
#include "PreBattle Interface.h"
|
||||
#include "WordWrap.h"
|
||||
@@ -46,11 +44,9 @@
|
||||
#include "Game Init.h"
|
||||
#include "Strategic Mines.h"
|
||||
#include "finances.h"
|
||||
#include "strategic.h"
|
||||
#include "Air Raid.h"
|
||||
#include "Queen Command.h"
|
||||
#include "Render Fun.h"
|
||||
#include "Food.h"
|
||||
#include "personnel.h"
|
||||
#include "mapscreen.h"
|
||||
|
||||
@@ -6166,7 +6162,7 @@ BOOLEAN HandleTimeCompressWithTeamJackedInAndGearedToGo( void )
|
||||
//no ja25 UB
|
||||
#else
|
||||
// Add e-mail message
|
||||
AddEmail(ENRICO_CONGRATS,ENRICO_CONGRATS_LENGTH,MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(ENRICO_CONGRATS, ENRICO_CONGRATS_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_ENRICO_GOODLUCK);
|
||||
#endif
|
||||
|
||||
return( TRUE );
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "Map Screen Interface.h"
|
||||
#ifdef JA2UB
|
||||
#include "Map Screen Interface.h"
|
||||
#include "string.h"
|
||||
#include "Map Screen Interface Map.h"
|
||||
#include "Font Control.h"
|
||||
@@ -47,7 +48,6 @@
|
||||
|
||||
#include "connect.h"
|
||||
|
||||
#ifdef JA2UB
|
||||
|
||||
#include "Ja25 Strategic Ai.h"
|
||||
#include "Ja25_Tactical.h"
|
||||
|
||||
@@ -13,8 +13,6 @@
|
||||
#include "Soldier Profile.h"
|
||||
#include "Overhead.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "gameloop.h"
|
||||
#include "NPC.h"
|
||||
#include "Assignments.h"
|
||||
#include "strategic.h"
|
||||
#include "Text.h"
|
||||
|
||||
+13
-13
@@ -9,8 +9,6 @@
|
||||
#include "Soldier Add.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "Soldier Create.h"
|
||||
#include "message.h"
|
||||
#include "Font Control.h"
|
||||
#include "personnel.h"
|
||||
#include "LaptopSave.h"
|
||||
#include "Map Screen Interface.h"
|
||||
@@ -18,8 +16,7 @@
|
||||
#include "strategicmap.h"
|
||||
#include "Quests.h"
|
||||
#include "worlddef.h"
|
||||
#include "Animation Control.h"
|
||||
#include "Tactical Save.h"
|
||||
#include <Overhead.h>
|
||||
#include "Interface Control.h"
|
||||
#include "gamescreen.h"
|
||||
#include "jascreens.h"
|
||||
@@ -27,10 +24,8 @@
|
||||
#include "Assignments.h"
|
||||
#include "Strategic Movement.h"
|
||||
#include "Squads.h"
|
||||
#include "gameloop.h"
|
||||
#include "Text.h"
|
||||
#include "Strategic Status.h"
|
||||
#include "mercs.h"
|
||||
#include "insurance Contract.h"
|
||||
#include "Vehicles.h"
|
||||
#include "email.h"
|
||||
@@ -1107,10 +1102,12 @@ void CalculateMedicalDepositRefund( SOLDIERTYPE *pSoldier )
|
||||
if( gubQuest[ QUEST_FIX_LAPTOP ] == QUESTDONE || gGameUBOptions.LaptopQuestEnabled == FALSE )
|
||||
{
|
||||
if ( gGameUBOptions.fDeadMerc == TRUE )
|
||||
AddEmailWithSpecialData( 27, AIM_MEDICAL_DEPOSIT_REFUND_LENGTH, AIM_SITE, GetWorldTotalMin(), pSoldier->usMedicalDeposit, pSoldier->ubProfile, TYPE_EMAIL_DEAD_MERC_AIM_SITE_EMAIL_JA2_EDT, TYPE_E_AIM_L2 );
|
||||
{
|
||||
AddEmailWithSpecialData(27, AIM_MEDICAL_DEPOSIT_REFUND_LENGTH, AIM_SITE, GetWorldTotalMin(), pSoldier->usMedicalDeposit, pSoldier->ubProfile, TYPE_EMAIL_DEAD_MERC_AIM_SITE_EMAIL_JA2_EDT, TYPE_E_AIM_L2, XML_AIM_REFUND);
|
||||
}
|
||||
}
|
||||
#else
|
||||
AddEmailWithSpecialData( AIM_MEDICAL_DEPOSIT_REFUND, AIM_MEDICAL_DEPOSIT_REFUND_LENGTH, AIM_SITE, GetWorldTotalMin(), pSoldier->usMedicalDeposit, pSoldier->ubProfile, TYPE_EMAIL_EMAIL_EDT, TYPE_E_NONE );
|
||||
AddEmailWithSpecialData(AIM_MEDICAL_DEPOSIT_REFUND, AIM_MEDICAL_DEPOSIT_REFUND_LENGTH, AIM_SITE, GetWorldTotalMin(), pSoldier->usMedicalDeposit, pSoldier->ubProfile, TYPE_EMAIL_EMAIL_EDT, TYPE_E_NONE, XML_AIM_REFUND);
|
||||
#endif
|
||||
}
|
||||
//else if the merc is a dead, refund NOTHING!!
|
||||
@@ -1121,14 +1118,15 @@ void CalculateMedicalDepositRefund( SOLDIERTYPE *pSoldier )
|
||||
|
||||
//add an email
|
||||
#ifdef JA2UB
|
||||
//no UB
|
||||
if( gubQuest[ QUEST_FIX_LAPTOP ] == QUESTDONE || gGameUBOptions.LaptopQuestEnabled == FALSE )
|
||||
{
|
||||
if ( gGameUBOptions.fDeadMerc == TRUE )
|
||||
AddEmailWithSpecialData( 217, AIM_MEDICAL_DEPOSIT_NO_REFUND_LENGTH, AIM_SITE, GetWorldTotalMin(), pSoldier->usMedicalDeposit, pSoldier->ubProfile, TYPE_EMAIL_DEAD_MERC_AIM_SITE_EMAIL_JA2_EDT, TYPE_E_AIM_L3 );
|
||||
{
|
||||
AddEmailWithSpecialData(217, AIM_MEDICAL_DEPOSIT_NO_REFUND_LENGTH, AIM_SITE, GetWorldTotalMin(), pSoldier->usMedicalDeposit, pSoldier->ubProfile, TYPE_EMAIL_DEAD_MERC_AIM_SITE_EMAIL_JA2_EDT, TYPE_E_AIM_L3, XML_AIM_NOREFUND);
|
||||
}
|
||||
}
|
||||
#else
|
||||
AddEmailWithSpecialData( AIM_MEDICAL_DEPOSIT_NO_REFUND, AIM_MEDICAL_DEPOSIT_NO_REFUND_LENGTH, AIM_SITE, GetWorldTotalMin(), pSoldier->usMedicalDeposit, pSoldier->ubProfile, TYPE_EMAIL_EMAIL_EDT, TYPE_E_NONE );
|
||||
AddEmailWithSpecialData(AIM_MEDICAL_DEPOSIT_NO_REFUND, AIM_MEDICAL_DEPOSIT_NO_REFUND_LENGTH, AIM_SITE, GetWorldTotalMin(), pSoldier->usMedicalDeposit, pSoldier->ubProfile, TYPE_EMAIL_EMAIL_EDT, TYPE_E_NONE, XML_AIM_NOREFUND);
|
||||
#endif
|
||||
}
|
||||
//else the player is injured, refund a partial amount
|
||||
@@ -1146,10 +1144,12 @@ void CalculateMedicalDepositRefund( SOLDIERTYPE *pSoldier )
|
||||
if( gubQuest[ QUEST_FIX_LAPTOP ] == QUESTDONE || gGameUBOptions.LaptopQuestEnabled == FALSE )
|
||||
{
|
||||
if ( gGameUBOptions.fDeadMerc == TRUE )
|
||||
AddEmailWithSpecialData( 214, AIM_MEDICAL_DEPOSIT_PARTIAL_REFUND_LENGTH, AIM_SITE, GetWorldTotalMin(), iRefundAmount, pSoldier->ubProfile, TYPE_EMAIL_DEAD_MERC_AIM_SITE_EMAIL_JA2_EDT, TYPE_E_AIM_L4 );
|
||||
{
|
||||
AddEmailWithSpecialData(214, AIM_MEDICAL_DEPOSIT_PARTIAL_REFUND_LENGTH, AIM_SITE, GetWorldTotalMin(), iRefundAmount, pSoldier->ubProfile, TYPE_EMAIL_DEAD_MERC_AIM_SITE_EMAIL_JA2_EDT, TYPE_E_AIM_L4, XML_AIM_PARTIALREFUND);
|
||||
}
|
||||
}
|
||||
#else
|
||||
AddEmailWithSpecialData( AIM_MEDICAL_DEPOSIT_PARTIAL_REFUND, AIM_MEDICAL_DEPOSIT_PARTIAL_REFUND_LENGTH, AIM_SITE, GetWorldTotalMin(), iRefundAmount, pSoldier->ubProfile, TYPE_EMAIL_EMAIL_EDT, TYPE_E_NONE );
|
||||
AddEmailWithSpecialData(AIM_MEDICAL_DEPOSIT_PARTIAL_REFUND, AIM_MEDICAL_DEPOSIT_PARTIAL_REFUND_LENGTH, AIM_SITE, GetWorldTotalMin(), iRefundAmount, pSoldier->ubProfile, TYPE_EMAIL_EMAIL_EDT, TYPE_E_NONE, XML_AIM_PARTIALREFUND);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,25 +4,15 @@
|
||||
#include "strategic.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Overhead.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "Utilities.h"
|
||||
#include "random.h"
|
||||
#include "Text.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "Interface.h"
|
||||
#include "LaptopSave.h"
|
||||
#include <Font Control.h>
|
||||
#include "Game Clock.h"
|
||||
#include "Assignments.h"
|
||||
#include "Squads.h"
|
||||
#include "Soldier Create.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Queen Command.h"
|
||||
#include "math.h"
|
||||
#include "Auto Resolve.h"
|
||||
#include "Vehicles.h"
|
||||
#include "Tactical Save.h"
|
||||
#include "Campaign.h"
|
||||
#include "message.h"
|
||||
#include "mapscreen.h"
|
||||
#include "Strategic Pathing.h"
|
||||
|
||||
@@ -37,20 +37,15 @@ to call into.
|
||||
#include "strategicmap.h"
|
||||
#include "Strategic Movement.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "Text.h"
|
||||
#include "Town Militia.h"
|
||||
#include "Vehicles.h"
|
||||
|
||||
extern "C" {
|
||||
#include "lua.h"
|
||||
#include "lauxlib.h"
|
||||
#include "lualib.h"
|
||||
}
|
||||
|
||||
#include <lua.h>
|
||||
#include <lua_function.h>
|
||||
#include <lua_state.h>
|
||||
#include <lua_table.h>
|
||||
|
||||
extern CHAR16 gzUserDefinedButton1[ 128 ];
|
||||
extern CHAR16 gzUserDefinedButton2[ 128 ];
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
#include "LaptopSave.h"
|
||||
#include "Quests.h"
|
||||
#include "Morale.h"
|
||||
#include "Overhead.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Map Screen Helicopter.h"
|
||||
#include "Game Clock.h"
|
||||
@@ -20,8 +19,6 @@
|
||||
#include "PreBattle Interface.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "Tactical Save.h"
|
||||
#include "interface Dialogue.h"
|
||||
#include "random.h"
|
||||
// HEADROCK HAM 3.6: Added for facility string printing...
|
||||
#include "PopUpBox.h"
|
||||
#include "CampaignStats.h" // added by Flugente
|
||||
@@ -252,7 +249,7 @@ BOOLEAN SetThisSectorAsPlayerControlled( INT16 sMapX, INT16 sMapY, INT8 bMapZ, B
|
||||
#ifdef JA2UB
|
||||
// no UB
|
||||
#else
|
||||
AddEmail( BOBBYR_NOW_OPEN, BOBBYR_NOW_OPEN_LENGTH, BOBBY_R, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(BOBBYR_NOW_OPEN, BOBBYR_NOW_OPEN_LENGTH, BOBBY_R, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_BR_VISITEDSITE);
|
||||
#endif
|
||||
LaptopSaveInfo.ubHaveBeenToBobbyRaysAtLeastOnceWhileUnderConstruction = BOBBYR_ALREADY_SENT_EMAIL;
|
||||
}
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
#include "Strategic Pathing.h"
|
||||
#include "Text.h"
|
||||
#include "PopUpBox.h"
|
||||
#include "Player Command.h"
|
||||
#include "Cursors.h"
|
||||
#include "Auto Resolve.h"
|
||||
#include "Sound Control.h"
|
||||
@@ -24,7 +23,6 @@
|
||||
#include "Map Screen Interface Bottom.h"
|
||||
#include "Overhead.h"
|
||||
#include "Tactical Placement GUI.h"
|
||||
#include "Town Militia.h"
|
||||
#include "Campaign.h"
|
||||
#include "GameSettings.h"
|
||||
#include "random.h"
|
||||
@@ -41,15 +39,13 @@
|
||||
#include "Soldier macros.h"
|
||||
#include "history.h"
|
||||
#include "Cheats.h"
|
||||
// added by SANDRO
|
||||
#include "Tactical Save.h"
|
||||
#include "message.h"
|
||||
#include "CampaignStats.h" // added by Flugente
|
||||
#include "MilitiaSquads.h" // added by Flugente
|
||||
#include "SkillCheck.h" // added by Flugente
|
||||
#include "Strategic Transport Groups.h"
|
||||
#include "Utilities.h"
|
||||
|
||||
|
||||
#ifdef JA2UB
|
||||
#include "ub_config.h"
|
||||
#endif
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
//Queen Command.c
|
||||
|
||||
#include "Queen Command.h"
|
||||
#include "Strategic Event Handler.h"
|
||||
#include "Overhead Types.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Soldier Init List.h"
|
||||
@@ -9,7 +8,7 @@
|
||||
#include "random.h"
|
||||
#include "Strategic Movement.h"
|
||||
#include "Overhead.h"
|
||||
#include "Strategic Pathing.h"
|
||||
#include <Vehicles.h>
|
||||
#include "strategic.h"
|
||||
#include "message.h"
|
||||
#include "Map Edgepoints.h"
|
||||
@@ -33,7 +32,6 @@
|
||||
#include "Animation Data.h"
|
||||
#include "Game Clock.h"
|
||||
#include "renderworld.h"
|
||||
#include "Town Militia.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "Campaign Init.h"
|
||||
#include "Meanwhile.h"
|
||||
|
||||
@@ -22,13 +22,11 @@
|
||||
#include "Soldier Add.h"
|
||||
#include "opplist.h"
|
||||
#include "Handle Items.h"
|
||||
#include "Game Clock.h"
|
||||
#include "environment.h"
|
||||
#include "Dialogue Control.h"
|
||||
//#include "Soldier Control.h"
|
||||
#include "Overhead.h"
|
||||
#include "MessageBoxScreen.h"
|
||||
#include "stdio.h"
|
||||
#include "english.h"
|
||||
#include "line.h"
|
||||
#include "Keys.h"
|
||||
|
||||
@@ -8,12 +8,10 @@
|
||||
#include "Handle Items.h"
|
||||
#include "Overhead.h"
|
||||
#include "interface Dialogue.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Isometric Utils.h"
|
||||
#include "Render Fun.h"
|
||||
#include "history.h"
|
||||
#include "Map Screen Helicopter.h"
|
||||
#include "Overhead.h"
|
||||
#include "Strategic Mines.h"
|
||||
#include "Boxing.h"
|
||||
#include "Campaign Types.h"
|
||||
@@ -22,7 +20,6 @@
|
||||
#include "Campaign.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Arms Dealer Init.h"
|
||||
#include "GameSettings.h"
|
||||
#include "random.h"
|
||||
#include "Assignments.h"
|
||||
#include "strategic.h"
|
||||
|
||||
@@ -1,20 +1,11 @@
|
||||
#include "Town Militia.h"
|
||||
#include "Militia Control.h"
|
||||
#include "Campaign Types.h"
|
||||
#include "strategic.h"
|
||||
#include "mapscreen.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Overhead.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "Utilities.h"
|
||||
#include "random.h"
|
||||
#include "Text.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "Interface.h"
|
||||
#include "LaptopSave.h"
|
||||
#include "Assignments.h"
|
||||
#include "Squads.h"
|
||||
#include "Soldier Create.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "Queen Command.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Soldier Init List.h"
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
#include <memory.h>
|
||||
#include "FileMan.h"
|
||||
#include "types.h"
|
||||
#include "Scheduling.h"
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
#include "strategicmap.h"
|
||||
#include "Game Clock.h"
|
||||
#include "strategic.h"
|
||||
#include "Explosion Control.h"
|
||||
#include "Town Militia.h"
|
||||
#include "Overhead.h"
|
||||
#include "Squads.h"
|
||||
@@ -26,15 +25,12 @@
|
||||
#include "Campaign Init.h"
|
||||
#include "Game Init.h"
|
||||
#include "PreBattle Interface.h"
|
||||
#include "Quests.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Scheduling.h"
|
||||
#include "Map Information.h"
|
||||
#include "interface Dialogue.h"
|
||||
#include "ASD.h" // added by Flugente
|
||||
#include "Rebel Command.h"
|
||||
#include "Game Event Hook.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "Strategic Transport Groups.h"
|
||||
|
||||
#include "GameInitOptionsScreen.h"
|
||||
@@ -4885,14 +4881,14 @@ void ExecuteStrategicAIAction( UINT16 usActionCode, INT16 sSectorX, INT16 sSecto
|
||||
}
|
||||
|
||||
// depending on which cities the player currently holds, we send out attack on multiple cities. We try to make these attacks occur simultaneously, so the player will have to fend off
|
||||
// multiple gigantic attacks on different cities. Ideally, the attacks will be timed so well that the player cannot use a sqaud in both battles, even with use of the helicopter
|
||||
// multiple gigantic attacks on different cities. Ideally, the attacks will be timed so well that the player cannot use a squad in both battles, even with use of the helicopter
|
||||
// we first have to check which cities we have to attack. For that, we simply check wether there are troops in the target sector. If not, we will attack here
|
||||
BOOLEAN fAttack_Grumm = !(SectorInfo[ SEC_H3 ].ubNumTroops > 0);
|
||||
BOOLEAN fAttack_Cambria = !(SectorInfo[ SEC_H8 ].ubNumTroops > 0);
|
||||
BOOLEAN fCambriaSAMOccupied = !(SectorInfo[ SEC_I8 ].ubNumTroops > 0);
|
||||
BOOLEAN fAttack_Alma = !(SectorInfo[ SEC_I13 ].ubNumTroops > 0);
|
||||
BOOLEAN fAttack_Alma = !(SectorInfo[ SEC_I13 ].ubNumTroops > 0);
|
||||
BOOLEAN fAttack_Balime = !(SectorInfo[ SEC_L11 ].ubNumTroops > 0);
|
||||
BOOLEAN fAttack_Chitzena = !(SectorInfo[ SEC_L11 ].ubNumTroops > 0);
|
||||
BOOLEAN fAttack_Chitzena = !(SectorInfo[ SEC_B2 ].ubNumTroops > 0);
|
||||
|
||||
ubNumSoldiers = (UINT8)( gubMinEnemyGroupSize + difficultyMod * 3);
|
||||
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
#include "Strategic Event Handler.h"
|
||||
#include "MemMan.h"
|
||||
#include "message.h"
|
||||
#include <Windows.h>
|
||||
#include "Items.h"
|
||||
#include "Handle Items.h"
|
||||
#include "LaptopSave.h"
|
||||
#include "Tactical Save.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Quests.h"
|
||||
@@ -14,12 +12,6 @@
|
||||
#include "random.h"
|
||||
#include "Overhead.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "Soldier Init List.h"
|
||||
#include "SaveLoadMap.h"
|
||||
#include "Soldier Create.h"
|
||||
#include "Soldier Add.h"
|
||||
#include "renderworld.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "email.h"
|
||||
#include "strategic.h"
|
||||
#include "GameSettings.h"
|
||||
@@ -30,7 +22,6 @@
|
||||
#include "Rebel Command.h"
|
||||
|
||||
#include "Luaglobal.h"
|
||||
#include "connect.h"
|
||||
#include "LuaInitNPCs.h"
|
||||
|
||||
//forward declarations of common classes to eliminate includes
|
||||
@@ -698,7 +689,7 @@ void HandleNPCSystemEvent( UINT32 uiEvent )
|
||||
#ifdef JA2UB
|
||||
// no UB
|
||||
#else
|
||||
AddEmail( KING_PIN_LETTER, KING_PIN_LETTER_LENGTH, KING_PIN, GetWorldTotalMin(), -1, -1 , TYPE_EMAIL_EMAIL_EDT );
|
||||
AddEmail(KING_PIN_LETTER, KING_PIN_LETTER_LENGTH, KING_PIN, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_KINGPIN_STOLEMONEY);
|
||||
#endif
|
||||
StartQuest( QUEST_KINGPIN_MONEY, gMercProfiles[ KINGPIN ].sSectorX, gMercProfiles[ KINGPIN ].sSectorY );
|
||||
// add event to send terrorists two days from now
|
||||
@@ -804,7 +795,7 @@ void HandleNPCSystemEvent( UINT32 uiEvent )
|
||||
#ifdef JA2UB
|
||||
// no UB
|
||||
#else
|
||||
AddEmail( ENRICO_MIGUEL, ENRICO_MIGUEL_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1 , TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(ENRICO_MIGUEL, ENRICO_MIGUEL_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_ENRICO_GREATNEWS);
|
||||
#endif
|
||||
break;
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
#include "mercs.h"
|
||||
#include "Mapscreen.h"
|
||||
#include "Weapons.h"
|
||||
#include "personnel.h"
|
||||
#include "Strategic Movement.h"
|
||||
#include "LaptopSave.h"
|
||||
#include "message.h"
|
||||
@@ -25,23 +24,17 @@
|
||||
#include "strategic.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Strategic Status.h"
|
||||
#include "aim.h"
|
||||
#include "email.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "Campaign.h"
|
||||
#include "Soldier Add.h"
|
||||
#include "screenids.h"
|
||||
#include "gameloop.h"
|
||||
#include "jascreens.h"
|
||||
#include "Soldier macros.h"
|
||||
#include "finances.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Quests.h"
|
||||
// HEADROCK HAM B1: Additional Include for Dynamic Roaming Restrictions
|
||||
#include "MilitiaSquads.h"
|
||||
// HEADROCK HAM 3.6: Additional include for Facility Operating Deby
|
||||
#include "Facilities.h"
|
||||
// HEADROCK HAM 3.6: And another include, for militia upkeep costs.
|
||||
#include "Town Militia.h"
|
||||
#include "DynamicDialogue.h" // added by Flugente for HandleDynamicOpinionsDailyRefresh()
|
||||
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
#include "Strategic Mines.h"
|
||||
#include "Strategic Mines LUA.h"
|
||||
#include "UndergroundInit.h"
|
||||
#include <vfs/Core/vfs_debug.h> // for CBasicException
|
||||
|
||||
#include "connect.h"
|
||||
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
#include <string.h>
|
||||
#include "Strategic Mines.h"
|
||||
#include "finances.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "strategic.h"
|
||||
#include "Game Clock.h"
|
||||
#include "strategicmap.h"
|
||||
#include "random.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "Quests.h"
|
||||
#include "Creature Spreading.h"
|
||||
#include "message.h"
|
||||
#include "Text.h"
|
||||
#include "Game Event Hook.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Strategic AI.h"
|
||||
@@ -22,7 +19,6 @@
|
||||
#include "ASD.h" // added by Flugente
|
||||
#include "Rebel Command.h"
|
||||
|
||||
#include "GameInitOptionsScreen.h"
|
||||
|
||||
#include "Strategic Mines LUA.h"
|
||||
#include <vector>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "builddefines.h"
|
||||
#include <stdlib.h>
|
||||
#include <memory.h>
|
||||
#include "Strategic Movement.h"
|
||||
#include "MemMan.h"
|
||||
#include "DEBUG.H"
|
||||
@@ -34,7 +33,6 @@
|
||||
#include "Tactical Save.h"
|
||||
#include "Player Command.h"
|
||||
#include "Strategic AI.h"
|
||||
#include "Town Militia.h"
|
||||
#include "Music Control.h"
|
||||
#include "Campaign.h"
|
||||
#include "Isometric Utils.h"
|
||||
@@ -53,7 +51,6 @@
|
||||
#include "Strategic Transport Groups.h"
|
||||
|
||||
#include "MilitiaSquads.h"
|
||||
#include "Vehicles.h"
|
||||
|
||||
#ifdef JA2UB
|
||||
#include "Ja25Update.h"
|
||||
|
||||
@@ -1,24 +1,18 @@
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include "types.h"
|
||||
#include "worlddef.h"
|
||||
#include "sgp.h"
|
||||
#include <DEBUG.H>
|
||||
#include "strategic.h"
|
||||
#include "mapscreen.h"
|
||||
#include "Overhead.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Strategic Pathing.h"
|
||||
#include "Map Screen Interface Border.h"
|
||||
#include "Game Clock.h"
|
||||
#include "Strategic Movement.h"
|
||||
#include "Campaign Types.h"
|
||||
#include "Assignments.h"
|
||||
#include "Squads.h"
|
||||
#include "Vehicles.h"
|
||||
#include "Map Screen Helicopter.h"
|
||||
#include "input.h"
|
||||
#include "english.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "Game Event Hook.h"
|
||||
#include "Strategic AI.h"
|
||||
#include "Queen Command.h" // added by Flugente
|
||||
|
||||
@@ -253,7 +253,7 @@ void HandleEnricoEmail(void)
|
||||
// if creatures have attacked a mine (doesn't care if they're still there or not at the moment)
|
||||
if (HasAnyMineBeenAttackedByMonsters() && !(gStrategicStatus.usEnricoEmailFlags & ENRICO_EMAIL_SENT_CREATURES))
|
||||
{
|
||||
AddEmail(ENRICO_CREATURES, ENRICO_CREATURES_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(ENRICO_CREATURES, ENRICO_CREATURES_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_ENRICO_CREPITUS);
|
||||
gStrategicStatus.usEnricoEmailFlags |= ENRICO_EMAIL_SENT_CREATURES;
|
||||
return; // avoid any other E-mail at the same time
|
||||
}
|
||||
@@ -261,21 +261,21 @@ void HandleEnricoEmail(void)
|
||||
|
||||
if ((ubCurrentProgress >= SOME_PROGRESS_THRESHOLD) && !(gStrategicStatus.usEnricoEmailFlags & ENRICO_EMAIL_SENT_SOME_PROGRESS))
|
||||
{
|
||||
AddEmail(ENRICO_PROG_20, ENRICO_PROG_20_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(ENRICO_PROG_20, ENRICO_PROG_20_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_ENRICO_PROGRESS);
|
||||
gStrategicStatus.usEnricoEmailFlags |= ENRICO_EMAIL_SENT_SOME_PROGRESS;
|
||||
return; // avoid any setback E-mail at the same time
|
||||
}
|
||||
|
||||
if ((ubCurrentProgress >= ABOUT_HALFWAY_THRESHOLD) && !(gStrategicStatus.usEnricoEmailFlags & ENRICO_EMAIL_SENT_ABOUT_HALFWAY))
|
||||
{
|
||||
AddEmail(ENRICO_PROG_55, ENRICO_PROG_55_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(ENRICO_PROG_55, ENRICO_PROG_55_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_ENRICO_GOODWORK);
|
||||
gStrategicStatus.usEnricoEmailFlags |= ENRICO_EMAIL_SENT_ABOUT_HALFWAY;
|
||||
return; // avoid any setback E-mail at the same time
|
||||
}
|
||||
|
||||
if ((ubCurrentProgress >= NEARLY_DONE_THRESHOLD) && !(gStrategicStatus.usEnricoEmailFlags & ENRICO_EMAIL_SENT_NEARLY_DONE))
|
||||
{
|
||||
AddEmail(ENRICO_PROG_80, ENRICO_PROG_80_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(ENRICO_PROG_80, ENRICO_PROG_80_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_ENRICO_FINALPUSH);
|
||||
gStrategicStatus.usEnricoEmailFlags |= ENRICO_EMAIL_SENT_NEARLY_DONE;
|
||||
return; // avoid any setback E-mail at the same time
|
||||
}
|
||||
@@ -285,7 +285,7 @@ void HandleEnricoEmail(void)
|
||||
(((ubHighestProgress - ubCurrentProgress) >= MINOR_SETBACK_THRESHOLD) && (gStrategicStatus.usEnricoEmailFlags & ENRICO_EMAIL_FLAG_SETBACK_OVER))) &&
|
||||
!(gStrategicStatus.usEnricoEmailFlags & ENRICO_EMAIL_SENT_MAJOR_SETBACK))
|
||||
{
|
||||
AddEmail(ENRICO_SETBACK, ENRICO_SETBACK_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(ENRICO_SETBACK, ENRICO_SETBACK_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_ENRICO_BADNEWS);
|
||||
gStrategicStatus.usEnricoEmailFlags |= ENRICO_EMAIL_SENT_MAJOR_SETBACK;
|
||||
}
|
||||
else
|
||||
@@ -293,7 +293,7 @@ void HandleEnricoEmail(void)
|
||||
if (((ubHighestProgress - ubCurrentProgress) >= MINOR_SETBACK_THRESHOLD) &&
|
||||
!(gStrategicStatus.usEnricoEmailFlags & (ENRICO_EMAIL_SENT_MINOR_SETBACK | ENRICO_EMAIL_SENT_MAJOR_SETBACK)))
|
||||
{
|
||||
AddEmail(ENRICO_SETBACK_2, ENRICO_SETBACK_2_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(ENRICO_SETBACK_2, ENRICO_SETBACK_2_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_ENRICO_SETBACK);
|
||||
gStrategicStatus.usEnricoEmailFlags |= ENRICO_EMAIL_SENT_MINOR_SETBACK;
|
||||
}
|
||||
else
|
||||
@@ -356,15 +356,15 @@ void HandleEnricoEmail(void)
|
||||
switch( bComplaint )
|
||||
{
|
||||
case 3:
|
||||
AddEmail(LACK_PLAYER_PROGRESS_3, LACK_PLAYER_PROGRESS_3_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(LACK_PLAYER_PROGRESS_3, LACK_PLAYER_PROGRESS_3_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_ENRICO_DISAPPOINTED);
|
||||
gStrategicStatus.usEnricoEmailFlags |= ENRICO_EMAIL_SENT_LACK_PROGRESS3;
|
||||
break;
|
||||
case 2:
|
||||
AddEmail(LACK_PLAYER_PROGRESS_2, LACK_PLAYER_PROGRESS_2_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(LACK_PLAYER_PROGRESS_2, LACK_PLAYER_PROGRESS_2_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_ENRICO_WORRIED);
|
||||
gStrategicStatus.usEnricoEmailFlags |= ENRICO_EMAIL_SENT_LACK_PROGRESS2;
|
||||
break;
|
||||
default:
|
||||
AddEmail(LACK_PLAYER_PROGRESS_1, LACK_PLAYER_PROGRESS_1_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(LACK_PLAYER_PROGRESS_1, LACK_PLAYER_PROGRESS_1_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_ENRICO_CONCERNED);
|
||||
gStrategicStatus.usEnricoEmailFlags |= ENRICO_EMAIL_SENT_LACK_PROGRESS1;
|
||||
break;
|
||||
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
#include "Queen Command.h"
|
||||
#include "Animation Data.h"
|
||||
#include "Quests.h"
|
||||
#include "Font.h"
|
||||
#include "message.h"
|
||||
#include "LOS.h"
|
||||
#include "World Items.h"
|
||||
@@ -18,9 +17,7 @@
|
||||
#include "random.h"
|
||||
#include "Strategic Movement.h"
|
||||
#include "Strategic Pathing.h"
|
||||
#include "Vehicles.h"
|
||||
#include "Game Clock.h"
|
||||
#include "Game Event Hook.h"
|
||||
#include "Morale.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Text.h"
|
||||
@@ -29,9 +26,6 @@
|
||||
#include "history.h"
|
||||
#include "Meanwhile.h"
|
||||
#include "Strategic Status.h"
|
||||
// HEADROCK HAM B1: Added include for Dynamic Roaming Militia
|
||||
#include "MilitiaSquads.h"
|
||||
// HEADROCK HAM 3.6: Include for Facility Debt
|
||||
#include "Facilities.h"
|
||||
#include "CampaignStats.h" // added by Flugente
|
||||
#include "DynamicDialogue.h" // added by Flugente
|
||||
|
||||
@@ -1,22 +1,12 @@
|
||||
#include "sgp.h"
|
||||
#include "Game Clock.h"
|
||||
#include "Font Control.h"
|
||||
#include "Timer Control.h"
|
||||
#include "Overhead.h"
|
||||
#include "Game Clock.h"
|
||||
#include "message.h"
|
||||
#include "worlddef.h"
|
||||
#include "Soldier Create.h"
|
||||
#include "Soldier Add.h"
|
||||
#include <Overhead Types.h>
|
||||
#include "Strategic Turns.h"
|
||||
#include "Isometric Utils.h"
|
||||
#include "Animation Data.h"
|
||||
#include "Animation Control.h"
|
||||
#include "Tactical Turns.h"
|
||||
#include "Strategic Turns.h"
|
||||
#include "rt time defines.h"
|
||||
#include "Assignments.h"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
#include "strategicmap.h"
|
||||
#include "Overhead.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "Utilities.h"
|
||||
#include "random.h"
|
||||
#include "Text.h"
|
||||
#include "Map Screen Interface.h"
|
||||
@@ -16,8 +15,6 @@
|
||||
#include "finances.h"
|
||||
#include "Game Clock.h"
|
||||
#include "Assignments.h"
|
||||
#include "Squads.h"
|
||||
#include "Soldier Create.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Queen Command.h"
|
||||
@@ -39,7 +36,6 @@
|
||||
#include "Soldier Control.h"
|
||||
#include "soldier profile type.h"
|
||||
|
||||
#include "MilitiaSquads.h"
|
||||
#define SIZE_OF_MILITIA_COMPLETED_TRAINING_LIST 50
|
||||
|
||||
// temporary local global variables
|
||||
|
||||
@@ -9,8 +9,6 @@
|
||||
|
||||
extern "C" {
|
||||
#include "lua.h"
|
||||
#include "lauxlib.h"
|
||||
#include "lualib.h"
|
||||
}
|
||||
|
||||
#include "lua_state.h"
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
#include "FileMan.h"
|
||||
#include "MemMan.h"
|
||||
#include "Debug Control.h"
|
||||
#include "mapscreen.h"
|
||||
|
||||
#define MAX_CHAR_DATA_LENGTH 500
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#include "sgp.h"
|
||||
#include "Debug Control.h"
|
||||
#include "expat.h"
|
||||
#include "GameSettings.h"
|
||||
#include <Item Types.h>
|
||||
#include "XML.h"
|
||||
#include "FileMan.h"
|
||||
#include "Campaign Types.h"
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
#include "XML.h"
|
||||
#include "FileMan.h"
|
||||
#include "Campaign Types.h"
|
||||
#include "Facilities.h"
|
||||
|
||||
FACILITYTYPE gFacilityTypes[ MAX_NUM_FACILITY_TYPES ];
|
||||
UINT16 NUM_FACILITY_TYPES = 0;
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
#include "Debug Control.h"
|
||||
#include "expat.h"
|
||||
#include "XML.h"
|
||||
#include "Interface.h"
|
||||
#include "Map Screen Interface Map.h"
|
||||
|
||||
struct
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "sgp.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "Overhead.h"
|
||||
#include <FileMan.h>
|
||||
#include "Debug Control.h"
|
||||
#include "expat.h"
|
||||
#include "XML.h"
|
||||
|
||||
@@ -13,11 +13,9 @@
|
||||
#include "XML.h"
|
||||
#include "expat.h"
|
||||
#include "string.h"
|
||||
#include "Campaign Types.h"
|
||||
#include "FileMan.h"
|
||||
#include "MemMan.h"
|
||||
#include "Debug Control.h"
|
||||
#include "mapscreen.h"
|
||||
|
||||
#define MAX_CHAR_DATA_LENGTH 500
|
||||
|
||||
|
||||
+14
-15
@@ -1,7 +1,6 @@
|
||||
#include "mapscreen.h"
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <time.h>
|
||||
#include "gameloop.h"
|
||||
#include "sgp.h"
|
||||
#include "vobject.h"
|
||||
@@ -17,12 +16,9 @@
|
||||
#include "Font Control.h"
|
||||
#include "Timer Control.h"
|
||||
#include "Interface.h"
|
||||
#include "Handle UI.h"
|
||||
#include "Interface Items.h"
|
||||
#include "Interface Utils.h"
|
||||
#include "lighting.h"
|
||||
#include <wchar.h>
|
||||
#include <tchar.h>
|
||||
#include "Cursors.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Interface Panels.h"
|
||||
@@ -60,7 +56,6 @@
|
||||
#include "Dialogue Control.h"
|
||||
#include "Map Screen Interface TownMine Info.h"
|
||||
#include "PreBattle Interface.h"
|
||||
#include "personnel.h"
|
||||
#include "Animated ProgressBar.h"
|
||||
#include "Queen Command.h"
|
||||
#include "LaptopSave.h"
|
||||
@@ -74,11 +69,9 @@
|
||||
#include "Strategic Mines.h"
|
||||
#include "SaveLoadScreen.h"
|
||||
#include "Options Screen.h"
|
||||
#include "Auto Resolve.h"
|
||||
#include "Meanwhile.h"
|
||||
#include "Campaign.h"
|
||||
#include "random.h"
|
||||
#include "Air Raid.h"
|
||||
#include "Quests.h"
|
||||
#include "Town Militia.h"
|
||||
#include "Weapons.h"
|
||||
@@ -98,13 +91,8 @@
|
||||
#include "Strategic Status.h"
|
||||
#include "Soldier Create.h"
|
||||
#include "Animation Control.h"
|
||||
// HEADROCK HAM 3.6: Include facilities for assignment display
|
||||
#include "Facilities.h"
|
||||
// HEADROCK HAM 4: Include Militia Squads for Manual Militia Restrictions toggle.
|
||||
#include "MilitiaSquads.h"
|
||||
#include "Auto Bandage.h" // added by Flugente
|
||||
#include "Food.h" // added by Flugente
|
||||
#include "Drugs And Alcohol.h" // added by Flugente
|
||||
#include "WordWrap.h"
|
||||
|
||||
#include "connect.h" //hayden
|
||||
@@ -8484,6 +8472,12 @@ void GetMapKeyboardInput( UINT32 *puiNewEvent )
|
||||
if ( HandleNailsVestFetish( pSoldier, i, NOTHING ) )
|
||||
continue;
|
||||
|
||||
// tais: never strip Madlab's robot of its installed components (ammo,
|
||||
// targeting, chassis/armour, utility) - the player can't re-install them
|
||||
// and the robot would be left defenceless. Only its cargo slot may be emptied.
|
||||
if ( AM_A_ROBOT( pSoldier ) && i != ROBOT_INVENTORY_SLOT )
|
||||
continue;
|
||||
|
||||
AutoPlaceObjectInInventoryStash(&pSoldier->inv[i], pSoldier->sGridNo, pSoldier->pathing.bLevel);
|
||||
DeleteObj(&pSoldier->inv[i]);
|
||||
}
|
||||
@@ -11735,7 +11729,6 @@ void TeamListDestinationRegionBtnCallBack(MOUSE_REGION *pRegion, INT32 iReason )
|
||||
// if he's in the helicopter
|
||||
if( gCharactersList[ iValue + FIRSTmercTOdisplay ].usSolID->iVehicleId == iHelicopterVehicleId )
|
||||
{
|
||||
TurnOnAirSpaceMode( );
|
||||
if( RequestGiveSkyriderNewDestination( ) == FALSE )
|
||||
{
|
||||
// not allowed to change destination of the helicopter
|
||||
@@ -16025,8 +16018,14 @@ void MakeMapModesSuitableForDestPlotting( INT8 bCharNumber )
|
||||
{
|
||||
if ( gusMapDisplayColourMode == MAP_DISPLAY_AIRSPACE || gusMapDisplayColourMode == MAP_DISPLAY_AIRSPACE_COLOURED_SAMS )
|
||||
{
|
||||
// turn off airspace mode automatically
|
||||
ToggleAirspaceMode();
|
||||
// turn airspace OFF
|
||||
gusMapDisplayColourMode = MAP_DISPLAY_NORMAL;
|
||||
MapBorderButtonOff(MAP_BORDER_AIRSPACE_BTN);
|
||||
// dirty regions
|
||||
fMapPanelDirty = TRUE;
|
||||
fTeamPanelDirty = TRUE;
|
||||
fCharacterInfoPanelDirty = TRUE;
|
||||
fMapScreenBottomDirty = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
#include "types.h"
|
||||
#include "strategic town reputation.h"
|
||||
#include "soldier profile type.h"
|
||||
#include "Game Event Hook.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Overhead.h"
|
||||
#include "Game Clock.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "DEBUG.H"
|
||||
|
||||
@@ -1,24 +1,16 @@
|
||||
#include "strategic.h"
|
||||
#include "types.h"
|
||||
#include "Squads.h"
|
||||
#include "jascreens.h"
|
||||
#include "Assignments.h"
|
||||
#include "Interface Control.h"
|
||||
#include "Overhead.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "personnel.h"
|
||||
#include "Tactical Save.h"
|
||||
#include "Isometric Utils.h"
|
||||
#include "Vehicles.h"
|
||||
#include "Game Clock.h"
|
||||
#include "CampaignStats.h" // added by Flugente
|
||||
#include "MilitiaSquads.h" // added by Flugente
|
||||
#include "Game Event Hook.h" // added by Flugente
|
||||
#include "message.h" // added by Flugente
|
||||
#include "Text.h" // added by Flugente
|
||||
#include "Queen Command.h" // added by Flugente
|
||||
|
||||
|
||||
#ifdef JA2UB
|
||||
#else
|
||||
// anv: for playable Speck
|
||||
|
||||
@@ -4,11 +4,7 @@
|
||||
#include "strategic.h"
|
||||
#include "Strategic Mines.h"
|
||||
#include "types.h"
|
||||
#include "memory.h"
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <math.h>
|
||||
#include <time.h>
|
||||
#include "jascreens.h"
|
||||
#include "worlddef.h"
|
||||
#include "Soldier Control.h"
|
||||
@@ -16,13 +12,11 @@
|
||||
#include "Interface Panels.h"
|
||||
#include "Isometric Utils.h"
|
||||
#include "Ambient Control.h"
|
||||
#include "worlddef.h"
|
||||
#include "WorldDat.h"
|
||||
#include "Text.h"
|
||||
#include "Soldier Add.h"
|
||||
#include "Soldier macros.h"
|
||||
#include "Strategic Pathing.h"
|
||||
#include "Soldier Create.h"
|
||||
#include "Handle UI.h"
|
||||
#include "faces.h"
|
||||
#include "renderworld.h"
|
||||
@@ -36,7 +30,7 @@
|
||||
#include "message.h"
|
||||
#include "Font Control.h"
|
||||
#include "environment.h"
|
||||
#include "Game Events.h"
|
||||
#include "Game Event Hook.h"
|
||||
#include "Quests.h"
|
||||
#include "FileMan.h"
|
||||
#include "Animated ProgressBar.h"
|
||||
@@ -51,7 +45,6 @@
|
||||
#include "Animation Control.h"
|
||||
#include "Squads.h"
|
||||
#include "worldman.h"
|
||||
#include "Overhead.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "Queen Command.h"
|
||||
#include "Cursor Control.h"
|
||||
@@ -66,11 +59,8 @@
|
||||
#include "Tactical Placement GUI.h"
|
||||
#include "Map Screen Helicopter.h"
|
||||
#include "Map Edgepoints.h"
|
||||
#include "Player Command.h"
|
||||
#include "Event Pump.h"
|
||||
#include "Meanwhile.h"
|
||||
#include "Air Raid.h"
|
||||
#include "Strategic Mines.h"
|
||||
#include "Creature Spreading.h"
|
||||
#include "SaveLoadMap.h"
|
||||
#include "Militia Control.h"
|
||||
@@ -84,12 +74,9 @@
|
||||
#include "Debug Control.h"
|
||||
#include "expat.h"
|
||||
#include "Loading Screen.h"
|
||||
#include "Queen Command.h"
|
||||
#include "Enemy Soldier Save.h"
|
||||
#include "NPC.h"
|
||||
#include "Strategic Event Handler.h"
|
||||
#include "MessageBoxScreen.h"
|
||||
#include "interface Dialogue.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "history.h"
|
||||
#include "Bullets.h"
|
||||
@@ -105,6 +92,7 @@
|
||||
#include "GameInitOptionsScreen.h"
|
||||
|
||||
#ifdef JA2UB
|
||||
#include "interface Dialogue.h"
|
||||
#include "SaveLoadGame.h"
|
||||
#include "email.h"
|
||||
#include "Ja25 Strategic Ai.h"
|
||||
@@ -121,12 +109,9 @@
|
||||
|
||||
#include "connect.h" //hayden added alot ""'s to get around client spawing random/different placed AI
|
||||
#include "SaveLoadGame.h"
|
||||
#include "Strategic Mines.h"
|
||||
#include "Strategic Mines LUA.h"
|
||||
#include "UndergroundInit.h"
|
||||
|
||||
#include "LuaInitNPCs.h"
|
||||
#include "Luaglobal.h"
|
||||
|
||||
#include "sgp_logger.h"
|
||||
|
||||
|
||||
@@ -20,11 +20,9 @@
|
||||
#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 "Structure Wrap.h"
|
||||
#include "Meanwhile.h"
|
||||
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "types.h"
|
||||
#include "WCheck.h"
|
||||
#include "stdlib.h"
|
||||
#include "DEBUG.H"
|
||||
#include "Animation Cache.h"
|
||||
#include "Animation Data.h"
|
||||
|
||||
@@ -2,12 +2,9 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "WCheck.h"
|
||||
#include "stdlib.h"
|
||||
#include "DEBUG.H"
|
||||
#include "Animation Data.h"
|
||||
#include "Animation Control.h"
|
||||
|
||||
#include "jascreens.h"
|
||||
#include "tiledef.h"
|
||||
#include "Sys Globals.h"
|
||||
#include "Debug Control.h"
|
||||
|
||||
@@ -15,12 +15,8 @@
|
||||
#include "LuaInitNPCs.h" // added by Flugente
|
||||
|
||||
#ifdef JA2UB
|
||||
#include "Explosion Control.h"
|
||||
#include "Ja25_Tactical.h"
|
||||
#include "Ja25 Strategic Ai.h"
|
||||
#include "MapScreen Quotes.h"
|
||||
#include "email.h"
|
||||
#include "interface Dialogue.h"
|
||||
#include "ub_config.h"
|
||||
#endif
|
||||
|
||||
@@ -1427,7 +1423,7 @@ void AddObjectToArmsDealerInventory( UINT8 ubArmsDealer, OBJECTTYPE *pObject )
|
||||
for (attachmentList::iterator iter = seperateObject[0]->attachments.begin(); iter != seperateObject[0]->attachments.end();) {
|
||||
// ARM: Note: this is only used for selling, not repairs, so attachmentes are seperated when sold to a dealer
|
||||
// If the attachment is detachable
|
||||
if (! (Item[ iter->usItem ].inseparable ) && iter->exists())
|
||||
if (! (iter->exists() && Item[ iter->usItem ].inseparable))
|
||||
{
|
||||
// add this particular attachment (they can't be imprinted, or themselves have attachments!)
|
||||
AddObjectToArmsDealerInventory( ubArmsDealer, &(*iter) );
|
||||
@@ -1935,7 +1931,7 @@ UINT32 CalculateObjectItemRepairTime( UINT8 ubArmsDealer, OBJECTTYPE *pItemObjec
|
||||
// add time to repair any attachments on it
|
||||
for (attachmentList::iterator iter = (*pItemObject)[x]->attachments.begin(); iter != (*pItemObject)[x]->attachments.end(); ++iter) {
|
||||
// if damaged and repairable
|
||||
if ( ( (*iter)[x]->data.objectStatus < 100 ) && CanDealerRepairItem( ubArmsDealer, iter->usItem ) && iter->exists())
|
||||
if ( iter->exists() && ( (*iter)[x]->data.objectStatus < 100 ) && CanDealerRepairItem( ubArmsDealer, iter->usItem ) )
|
||||
{
|
||||
//uiRepairTime += CalculateSimpleItemRepairTime( ubArmsDealer, iter->usItem, (*iter)[x]->data.objectStatus );
|
||||
uiRepairTime += CalculateObjectItemRepairTime( ubArmsDealer, &(*iter) );
|
||||
@@ -1992,7 +1988,7 @@ UINT32 CalculateObjectItemRepairCost( UINT8 ubArmsDealer, OBJECTTYPE *pItemObjec
|
||||
// add cost of repairing any attachments on it
|
||||
for (attachmentList::iterator iter = (*pItemObject)[x]->attachments.begin(); iter != (*pItemObject)[x]->attachments.end(); ++iter) {
|
||||
// if damaged and repairable
|
||||
if ( ( (*iter)[x]->data.objectStatus < 100 ) && CanDealerRepairItem( ubArmsDealer, iter->usItem ) && iter->exists())
|
||||
if ( iter->exists() && ( (*iter)[x]->data.objectStatus < 100 ) && CanDealerRepairItem( ubArmsDealer, iter->usItem ) )
|
||||
{
|
||||
uiRepairCost += CalculateObjectItemRepairCost( ubArmsDealer, &(*iter));
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "types.h"
|
||||
#include "ArmsDealerInvInit.h"
|
||||
//#include "Item Types.h"
|
||||
#include "Arms Dealer Init.h"
|
||||
#include "DEBUG.H"
|
||||
#include "Weapons.h"
|
||||
|
||||
+5
-2
@@ -453,11 +453,14 @@ BOOLEAN BoxerAvailable( void )
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
// NOTE THIS IS NOW BROKEN BECAUSE NPC.C ASSUMES THAT BOXERSAVAILABLE < 3 IS A
|
||||
// SEQUEL FIGHT. Maybe we could check Kingpin's location instead!
|
||||
UINT8 BoxersAvailable( void )
|
||||
{
|
||||
UINT8 ubCount = 0;
|
||||
// Should also run CheckOnBoxers to make sure boxer IDs are set for this function similarly to BoxerAvailable
|
||||
if (CheckOnBoxers() == FALSE)
|
||||
{
|
||||
return(ubCount);
|
||||
}
|
||||
|
||||
for (UINT8 ubLoop = 0; ubLoop < NUM_BOXERS; ++ubLoop)
|
||||
{
|
||||
|
||||
+4
-11
@@ -1,6 +1,5 @@
|
||||
#include "builddefines.h"
|
||||
#include <stdio.h>
|
||||
#include "stdlib.h"
|
||||
#include "DEBUG.H"
|
||||
#include "Overhead Types.h"
|
||||
|
||||
@@ -31,22 +30,16 @@
|
||||
#include "Strategic AI.h"
|
||||
#include "interface Dialogue.h"
|
||||
#include "DynamicDialogue.h"
|
||||
#include "email.h"
|
||||
#include "mercs.h"
|
||||
|
||||
#ifdef JA2UB
|
||||
#include "Explosion Control.h"
|
||||
#include "Ja25_Tactical.h"
|
||||
#include "Ja25 Strategic Ai.h"
|
||||
#include "MapScreen Quotes.h"
|
||||
#include "email.h"
|
||||
#include "interface Dialogue.h"
|
||||
#include "mercs.h"
|
||||
#include "ub_config.h"
|
||||
#endif
|
||||
|
||||
#include "GameInitOptionsScreen.h"
|
||||
|
||||
#include "email.h"
|
||||
#include "mercs.h"
|
||||
|
||||
|
||||
//forward declarations of common classes to eliminate includes
|
||||
@@ -1359,13 +1352,13 @@ void HandleUnhiredMercDeaths( INT32 iProfileID )
|
||||
{
|
||||
if ( gMercProfiles[iProfileID].Type == PROFILETYPE_AIM && gGameUBOptions.fDeadMerc == TRUE ) //new profiles by Jazz
|
||||
//send an email to the player telling the player that a merc died
|
||||
AddEmailWithSpecialData(206, MERC_DIED_ON_OTHER_ASSIGNMENT_LENGTH, AIM_SITE, GetWorldTotalMin(), 0, iProfileID, TYPE_EMAIL_DEAD_MERC_AIM_SITE_EMAIL_JA2_EDT, TYPE_E_AIM_L1 );
|
||||
AddEmailWithSpecialData(206, MERC_DIED_ON_OTHER_ASSIGNMENT_LENGTH, AIM_SITE, GetWorldTotalMin(), 0, iProfileID, TYPE_EMAIL_DEAD_MERC_AIM_SITE_EMAIL_JA2_EDT, TYPE_E_AIM_L1, XML_AIM_NOTICE_OF_DEATH);
|
||||
}
|
||||
#else
|
||||
if ( gMercProfiles[iProfileID].Type == PROFILETYPE_AIM )
|
||||
{
|
||||
//send an email to the player telling the player that a merc died
|
||||
AddEmailWithSpecialData(MERC_DIED_ON_OTHER_ASSIGNMENT, MERC_DIED_ON_OTHER_ASSIGNMENT_LENGTH, AIM_SITE, GetWorldTotalMin(), 0, iProfileID, TYPE_EMAIL_EMAIL_EDT, TYPE_E_NONE );
|
||||
AddEmailWithSpecialData(MERC_DIED_ON_OTHER_ASSIGNMENT, MERC_DIED_ON_OTHER_ASSIGNMENT_LENGTH, AIM_SITE, GetWorldTotalMin(), 0, iProfileID, TYPE_EMAIL_EMAIL_EDT, TYPE_E_NONE, XML_AIM_NOTICE_OF_DEATH);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -8,13 +8,11 @@
|
||||
#include "FileMan.h"
|
||||
#include "Encrypted File.h"
|
||||
#include "MessageBoxScreen.h"
|
||||
#include "Queen Command.h"
|
||||
#include "Overhead.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "MercTextBox.h"
|
||||
#include "ai.h"
|
||||
#include "Text.h"
|
||||
#include "screenids.h"
|
||||
#include "Animation Data.h"
|
||||
#include "video.h"
|
||||
#include "Font Control.h"
|
||||
|
||||
@@ -34,8 +34,6 @@
|
||||
#include "Map Screen Interface.h"
|
||||
#include "Text.h"
|
||||
#include "Merc Contract.h"
|
||||
#include "Town Militia.h"
|
||||
#include "Meanwhile.h"
|
||||
#include "SkillCheck.h"
|
||||
#include "Interface Control.h"
|
||||
#include "Civ Quotes.h"
|
||||
@@ -52,9 +50,15 @@
|
||||
#include <queue>
|
||||
|
||||
#include "connect.h"
|
||||
|
||||
#ifndef JA2UB
|
||||
#include "Town Militia.h"
|
||||
#include "Meanwhile.h"
|
||||
#endif // !JA2UB
|
||||
|
||||
|
||||
#ifdef JA2UB
|
||||
#include "Intro.h"
|
||||
#include "MapScreen Quotes.h"
|
||||
#include "Ja25 Strategic Ai.h"
|
||||
#include "Ja25_Tactical.h"
|
||||
#include "Animation Control.h"
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
#include "Overhead.h"
|
||||
#include "random.h"
|
||||
#include "Assignments.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include <mapscreen.h>
|
||||
#include "soldier profile type.h"
|
||||
#include "Queen Command.h"
|
||||
#include "Quests.h"
|
||||
#include "finances.h"
|
||||
|
||||
+412
-556
File diff suppressed because it is too large
Load Diff
@@ -3,16 +3,13 @@
|
||||
#include "Soldier Profile.h"
|
||||
#include "Drugs And Alcohol.h"
|
||||
#include "Items.h"
|
||||
#include "Morale.h"
|
||||
#include "Points.h"
|
||||
#include "message.h"
|
||||
#include "GameSettings.h" // SANDRO - had to add this, dammit!
|
||||
#include "random.h"
|
||||
#include "Text.h"
|
||||
#include "Interface.h"
|
||||
#include "Food.h" // added by Flugente
|
||||
#include "Animation Data.h" // added by Flugente for SoldierBodyTypes
|
||||
#include "CampaignStats.h" // added by Flugente
|
||||
#include "Overhead.h"
|
||||
#include "DynamicDialogue.h"// added by Flugente
|
||||
|
||||
//forward declarations of common classes to eliminate includes
|
||||
|
||||
@@ -10,8 +10,6 @@
|
||||
#include "SaveLoadGame.h"
|
||||
#include "GameVersion.h"
|
||||
#include "Text.h"
|
||||
#include "MercTextBox.h"
|
||||
#include "Meanwhile.h"
|
||||
#include "soldier profile type.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Interface.h"
|
||||
@@ -30,6 +28,11 @@
|
||||
#include "Campaign.h"
|
||||
#include "Points.h"
|
||||
|
||||
#ifndef JA2UB
|
||||
#include "Meanwhile.h"
|
||||
#endif // !JA2UB
|
||||
|
||||
|
||||
// event id counter
|
||||
// has to be saved/loaded/reset
|
||||
UINT32 gDynamicDialogueEventCounter = 0;
|
||||
|
||||
+22
-20
@@ -2,7 +2,6 @@
|
||||
#include "Overhead.h"
|
||||
#include "worldman.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "NPC.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "End Game.h"
|
||||
#include "Intro.h"
|
||||
@@ -13,23 +12,26 @@
|
||||
#include "Sound Control.h"
|
||||
#include "renderworld.h"
|
||||
#include "Isometric Utils.h"
|
||||
#include "Music Control.h"
|
||||
#include "Soldier macros.h"
|
||||
#include "qarray.h"
|
||||
#include "LOS.h"
|
||||
#include "Strategic AI.h"
|
||||
#include "Squads.h"
|
||||
#include "PreBattle Interface.h"
|
||||
#include "Strategic Movement.h"
|
||||
#include "strategic.h"
|
||||
#include "Morale.h"
|
||||
#include "Queen Command.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "Player Command.h"
|
||||
#include "Campaign Types.h"
|
||||
#include "Tactical Save.h"
|
||||
#include "screenids.h"
|
||||
|
||||
#ifndef JA2UB
|
||||
#include "NPC.h"
|
||||
#include "Music Control.h"
|
||||
#include "qarray.h"
|
||||
#include "LOS.h"
|
||||
#include "Strategic AI.h"
|
||||
#include "Squads.h"
|
||||
#include "PreBattle Interface.h"
|
||||
#include "strategic.h"
|
||||
#include "Queen Command.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "Player Command.h"
|
||||
#include "Tactical Save.h"
|
||||
#endif // !JA2UB
|
||||
|
||||
|
||||
#ifdef JA2UB
|
||||
#include "email.h"
|
||||
#include "Game Clock.h"
|
||||
@@ -505,37 +507,37 @@ void HandleAddingTheEndGameEmails()
|
||||
// email # 12a - Miguel dead, Manuel never recruited
|
||||
if( !fMiguelAlive && !fManuelHired )
|
||||
{
|
||||
AddEmail( EMAIL_CONGRATS, EMAIL_CONGRATS_LENGTH, MAIL_ENRICO, GetWorldTotalMin(),-1 ,-1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(EMAIL_CONGRATS, EMAIL_CONGRATS_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_JA2UB_ENRICO_CONGRATS);
|
||||
}
|
||||
|
||||
// email # 12b - Miguel alive, Manuel never recruited
|
||||
else if( fMiguelAlive && !fManuelHired )
|
||||
{
|
||||
AddEmail( EMAIL_CONGRATSICK, EMAIL_CONGRATSICK_LENGTH, MAIL_ENRICO, GetWorldTotalMin(),-1 ,-1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(EMAIL_CONGRATSICK, EMAIL_CONGRATSICK_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_JA2UB_ENRICO_CONGRATS_MIGUELSICK);
|
||||
}
|
||||
|
||||
// email # 12c - Miguel alive, Manuel dead
|
||||
else if( fMiguelAlive && !fManuelAlive )
|
||||
{
|
||||
AddEmail( EMAIL_CONGRATMIGMANUELDEAD, EMAIL_CONGRATMIGMANUELDEAD_LENGTH, MAIL_ENRICO, GetWorldTotalMin() , -1, -1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(EMAIL_CONGRATMIGMANUELDEAD, EMAIL_CONGRATMIGMANUELDEAD_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_JA2UB_ENRICO_CONGRATS_MIGUELSICK_MANUELDEAD);
|
||||
}
|
||||
|
||||
// email # 12d - Miguel alive, Manuel recruited and alive
|
||||
else if( fMiguelAlive && fManuelAlive && fManuelHired )
|
||||
{
|
||||
AddEmail( EMAIL_CONGRATMIGMANUELALIVE, EMAIL_CONGRATMIGMANUELALIVE_LENGTH, MAIL_ENRICO, GetWorldTotalMin() , -1, -1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(EMAIL_CONGRATMIGMANUELALIVE, EMAIL_CONGRATMIGMANUELALIVE_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_JA2UB_ENRICO_CONGRATS_MIGUELSICK_MANUELALIVE);
|
||||
}
|
||||
|
||||
// email # 12e - Miguel dead, Manuel dead
|
||||
else if( !fMiguelAlive && !fManuelAlive )
|
||||
{
|
||||
AddEmail( EMAIL_CONGRATMANUELDEAD, EMAIL_CONGRATMANUELDEAD_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1 , -1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(EMAIL_CONGRATMANUELDEAD, EMAIL_CONGRATMANUELDEAD_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_JA2UB_ENRICO_CONGRATS_MANUELDEAD);
|
||||
}
|
||||
|
||||
// email # 12f - Miguel dead, Manuel recruited and alive
|
||||
else if( !fMiguelAlive && fManuelAlive && fManuelHired )
|
||||
{
|
||||
AddEmail( EMAIL_CONGRATMANUELALIVE, EMAIL_CONGRATMANUELALIVE_LENGTH, MAIL_ENRICO, GetWorldTotalMin() , -1, -1, TYPE_EMAIL_EMAIL_EDT);
|
||||
AddEmail(EMAIL_CONGRATMANUELALIVE, EMAIL_CONGRATMANUELALIVE_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT, XML_JA2UB_ENRICO_CONGRATS_MANUELALIVE);
|
||||
}
|
||||
|
||||
else
|
||||
|
||||
@@ -1,36 +1,21 @@
|
||||
#include "builddefines.h"
|
||||
#include "GameSettings.h"
|
||||
#include <stdio.h>
|
||||
#include <memory.h>
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#include "strategicmap.h"
|
||||
#include "Overhead.h"
|
||||
#include "Isometric Utils.h"
|
||||
|
||||
#include "Soldier Add.h"
|
||||
#include "Soldier Create.h"
|
||||
#include "Soldier Init List.h"
|
||||
#include "DEBUG.H"
|
||||
#include "random.h"
|
||||
#include "Items.h"
|
||||
|
||||
|
||||
#include "Map Information.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "EditorMercs.h"
|
||||
#include "Animation Data.h"
|
||||
#include "message.h"
|
||||
#include "Font Control.h"
|
||||
#include "Campaign Types.h"
|
||||
#include "Tactical Save.h"
|
||||
#include "Game Clock.h"
|
||||
#include "Queen Command.h"
|
||||
#include "Scheduling.h"
|
||||
#include "Soldier macros.h" // added by Flugente
|
||||
|
||||
#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
|
||||
//when the temp file is loaded which can happen much later, it cannot load convert and save when updating the savegame
|
||||
//therefore store a flag to load and convert later
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#include "types.h"
|
||||
#include "DEBUG.H"
|
||||
#include "EnemyItemDrops.h"
|
||||
|
||||
WEAPON_DROPS gEnemyWeaponDrops[MAX_DROP_ITEMS];
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef _ENEMY_ITEM_DROPS__H_
|
||||
#define _ENEMY_ITEM_DROPS__H_
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#define MAX_DROP_ITEMS 100
|
||||
|
||||
typedef struct
|
||||
|
||||
+5
-11
@@ -1,10 +1,7 @@
|
||||
#include "builddefines.h"
|
||||
#include "math.h"
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
|
||||
|
||||
#include "worlddef.h"
|
||||
#include "renderworld.h"
|
||||
#include "vsurface.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "sysutil.h"
|
||||
@@ -12,7 +9,6 @@
|
||||
#include "video.h"
|
||||
#include "vobject_blitters.h"
|
||||
#include "faces.h"
|
||||
#include "Utilities.h"
|
||||
#include "Overhead.h"
|
||||
#include "GAP.H"
|
||||
#include "Soldier Profile.h"
|
||||
@@ -27,21 +23,19 @@
|
||||
#include "GameSettings.h"
|
||||
#include "Squads.h"
|
||||
#include "Interface.h"
|
||||
#include "Quests.h"
|
||||
#include "Animation Control.h"
|
||||
#include <strategicmap.h>
|
||||
#include "Drugs And Alcohol.h"
|
||||
#include "Interface Items.h"
|
||||
#include "Meanwhile.h"
|
||||
#include "Map Screen Interface.h"
|
||||
// HEADROCK HAM 3.2: Added two includes so that a function can read values of the Gun Range/hospital location
|
||||
#include "Campaign Types.h"
|
||||
#include "Strategic Event Handler.h"
|
||||
#include "Food.h" // added by Flugente
|
||||
#include "Queen Command.h" // added by Flugente for FindUnderGroundSector(...)
|
||||
#include "strategic.h" // added by Flugente
|
||||
|
||||
#ifdef JA2UB
|
||||
#include "Ja25_Tactical.h"
|
||||
#else
|
||||
#include "Meanwhile.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#endif
|
||||
|
||||
// Defines
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
#include <math.h>
|
||||
#include "sgp.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Food.h"
|
||||
@@ -14,11 +13,9 @@
|
||||
#include "Sound Control.h"
|
||||
#include "Assignments.h"
|
||||
#include "Overhead.h"
|
||||
#include "Isometric Utils.h"
|
||||
#include "Campaign Types.h"
|
||||
#include "Drugs And Alcohol.h"
|
||||
#include "environment.h"
|
||||
#include "WorldDat.h"
|
||||
#include "Facilities.h"
|
||||
#include "Soldier macros.h"
|
||||
#include "strategicmap.h"
|
||||
|
||||
+1
-3
@@ -1,11 +1,9 @@
|
||||
#include "builddefines.h"
|
||||
#include <string.h>
|
||||
#include "DEBUG.H"
|
||||
#include "types.h"
|
||||
//#include "mssw.h"
|
||||
#include "GAP.H"
|
||||
#include "Sound Control.h"
|
||||
#include "soundman.h"
|
||||
#include <stdio.h>
|
||||
#include "FileMan.h"
|
||||
|
||||
SUBSEQUENTSOUNDS subsequentsounds;
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
#include "builddefines.h"
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include <wchar.h>
|
||||
#include "sgp.h"
|
||||
#include "worlddef.h"
|
||||
#include "worldman.h"
|
||||
@@ -29,21 +27,14 @@
|
||||
#include "Isometric Utils.h"
|
||||
#include "ai.h"
|
||||
#include "Soldier macros.h"
|
||||
#include "Event Pump.h"
|
||||
#include "GameSettings.h"
|
||||
#include "fresh_header.h"
|
||||
#include "connect.h"
|
||||
#include <language.hpp>
|
||||
|
||||
#ifdef JA2UB
|
||||
#include "Explosion Control.h"
|
||||
#include "Ja25_Tactical.h"
|
||||
#include "Ja25 Strategic Ai.h"
|
||||
#include "MapScreen Quotes.h"
|
||||
#include "email.h"
|
||||
#include "interface Dialogue.h"
|
||||
#include "mercs.h"
|
||||
#include "ub_config.h"
|
||||
#endif
|
||||
|
||||
BOOLEAN gfSetPerceivedDoorState = FALSE;
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
#include "Timer Control.h"
|
||||
#include "WCheck.h"
|
||||
#include "Interface Items.h"
|
||||
#include "physics.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "interface Dialogue.h"
|
||||
#include "Quests.h"
|
||||
@@ -29,9 +28,7 @@
|
||||
#include "ai.h"
|
||||
#include "Soldier macros.h"
|
||||
#include "Interface Panels.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "Soldier Functions.h"
|
||||
#include "Map Screen Helicopter.h"
|
||||
#include "PATHAI.H"
|
||||
#include "fov.h"
|
||||
#include "MessageBoxScreen.h"
|
||||
@@ -57,9 +54,7 @@
|
||||
#include "End Game.h"
|
||||
#include "Interface Control.h"
|
||||
#include "Map Screen Interface Map Inventory.h"
|
||||
// added by SANDRO
|
||||
#include "Morale.h"
|
||||
// added by Flugente
|
||||
#include "Drugs And Alcohol.h"
|
||||
#include "Food.h"
|
||||
// added by sevenfm - this is needed for _keydown(SHIFT) to work
|
||||
@@ -75,13 +70,12 @@
|
||||
#include "Game Clock.h" // added by Flugente
|
||||
#include <vfs/Core/vfs_file_raii.h> // added by Flugente for vfs-stuff
|
||||
#include "DynamicDialogue.h" // added by Flugente for SoldierRelation()
|
||||
#include "MessageBoxScreen.h" // added by Flugente
|
||||
#include "Map Screen Interface.h" // added by Flugente
|
||||
#include "Map Screen Interface Map.h" // added by Flugente
|
||||
#include "WorldDat.h"
|
||||
|
||||
#ifdef JA2UB
|
||||
#include "Ja25_Tactical.h"
|
||||
#include "Ja25 Strategic Ai.h"
|
||||
#endif
|
||||
|
||||
#define NUM_ITEMS_LISTED 8
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
#include "PATHAI.H"
|
||||
#include "Handle UI.h"
|
||||
#include "Points.h"
|
||||
#include "Weapons.h"
|
||||
#include "renderworld.h"
|
||||
#include "Animation Control.h"
|
||||
#include "message.h"
|
||||
|
||||
+5
-19
@@ -1,16 +1,14 @@
|
||||
#include "connect.h"
|
||||
#include "builddefines.h"
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "stdlib.h"
|
||||
#include <wchar.h>
|
||||
#include <cmath>
|
||||
#include <cstdio>
|
||||
#include <vector>
|
||||
#include "DEBUG.H"
|
||||
#include "math.h"
|
||||
#include "jascreens.h"
|
||||
#include "PATHAI.H"
|
||||
#include "Soldier Control.h"
|
||||
#include "Animation Control.h"
|
||||
#include "Animation Data.h"
|
||||
#include "Event Pump.h"
|
||||
#include "Timer Control.h"
|
||||
#include "mousesystem.h"
|
||||
#include "Cursors.h"
|
||||
@@ -31,39 +29,31 @@
|
||||
#include "renderworld.h"
|
||||
#include "structure.h"
|
||||
#include "Interface Panels.h"
|
||||
#include "Weapons.h"
|
||||
#include "Handle items.h"
|
||||
#include "UI Cursors.h"
|
||||
#include "Handle UI Plan.h"
|
||||
#include "message.h"
|
||||
#include "Render Fun.h"
|
||||
#include "Interface Items.h"
|
||||
#include "physics.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Soldier Create.h"
|
||||
#include "Soldier Add.h"
|
||||
#include "interface Dialogue.h"
|
||||
#include <NPC.h>
|
||||
#include "Soldier macros.h"
|
||||
#include "Soldier Functions.h"
|
||||
#include "Assignments.h"
|
||||
#include "Squads.h"
|
||||
#include "Strategic Pathing.h"
|
||||
#include "Strategic Movement.h"
|
||||
#include "strategic.h"
|
||||
#include "Exit Grids.h"
|
||||
#include "Structure Wrap.h"
|
||||
#include "Soldier Add.h"
|
||||
#include "random.h"
|
||||
#include "english.h"
|
||||
#include "random.h"
|
||||
#include "english.h"
|
||||
#include "Vehicles.h"
|
||||
#include "MessageBoxScreen.h"
|
||||
#include "Text.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "line.h"
|
||||
#include "GameSettings.h"
|
||||
#include "LOS.h"
|
||||
#include "Campaign Types.h"
|
||||
@@ -78,13 +68,9 @@
|
||||
#include "qarray.h"
|
||||
#include "environment.h"
|
||||
#include "Map Information.h"
|
||||
#include "Soldier Control.h"
|
||||
#include "DisplayCover.h"
|
||||
#include "english.h" // sevenfm: this is needed for _keydown(SHIFT) to work
|
||||
|
||||
#include "TeamTurns.h"
|
||||
#include "Options Screen.h"
|
||||
#include "SaveLoadScreen.h"
|
||||
#include "Map Screen Interface.h" // added by Flugente for SquadNames
|
||||
#include "Keys.h" // added by silversurfer for door handling from the side
|
||||
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include <math.h>
|
||||
#include "sgp.h"
|
||||
#include "gameloop.h"
|
||||
#include "himage.h"
|
||||
#include "vobject.h"
|
||||
#include "sysutil.h"
|
||||
@@ -13,7 +11,6 @@
|
||||
#include "vsurface.h"
|
||||
#include "input.h"
|
||||
#include "Handle UI.h"
|
||||
#include "Animation Control.h"
|
||||
#include "Animation Data.h"
|
||||
#include "renderworld.h"
|
||||
#include "Cursors.h"
|
||||
@@ -25,7 +22,6 @@
|
||||
#include "Interface Cursors.h"
|
||||
#include "lighting.h"
|
||||
#include "Interface Panels.h"
|
||||
#include "PATHAI.H"
|
||||
#include "vobject_blitters.h"
|
||||
#include "faces.h"
|
||||
#include "Handle UI Plan.h"
|
||||
@@ -46,7 +42,6 @@
|
||||
#include "GameSettings.h"
|
||||
#include "Explosion Control.h" // added by Flugente
|
||||
|
||||
#include "connect.h"
|
||||
#include "Text.h"
|
||||
|
||||
#ifdef JA2UB
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include "sgp.h"
|
||||
#include "mousesystem.h"
|
||||
#include "vsurface.h"
|
||||
#include "input.h"
|
||||
#include "Handle UI.h"
|
||||
#include "Cursors.h"
|
||||
#include "worlddef.h"
|
||||
@@ -11,7 +7,6 @@
|
||||
#include "Interface Cursors.h"
|
||||
#include "Interface.h"
|
||||
#include "Isometric Utils.h"
|
||||
#include "Cursors.h"
|
||||
#include "Sys Globals.h"
|
||||
#include "Overhead.h"
|
||||
#include "Interface Items.h"
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#include "builddefines.h"
|
||||
#include <stdio.h>
|
||||
#include "sgp.h"
|
||||
#include "Encrypted File.h"
|
||||
#include "faces.h"
|
||||
#include "WCheck.h"
|
||||
#include "Soldier Profile.h"
|
||||
@@ -13,7 +12,6 @@
|
||||
#include "Dialogue Control.h"
|
||||
#include "renderworld.h"
|
||||
#include "NPC.h"
|
||||
#include "interface Dialogue.h"
|
||||
#include "MercTextBox.h"
|
||||
#include "message.h"
|
||||
#include "Items.h"
|
||||
@@ -26,7 +24,6 @@
|
||||
#include "ai.h"
|
||||
#include "AIInternals.h"
|
||||
#include "Interactive Tiles.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Interface Panels.h"
|
||||
#include "Quests.h"
|
||||
#include "Squads.h"
|
||||
@@ -47,12 +44,9 @@
|
||||
#include "GameSettings.h"
|
||||
#include "Strategic Mines.h"
|
||||
#include "Boxing.h"
|
||||
#include "Items.h"
|
||||
#include "worldman.h"
|
||||
#include "Render Fun.h"
|
||||
// including this for Strategic AI.h
|
||||
#include "Strategic Movement.h"
|
||||
#include "Strategic AI.h"
|
||||
#include "Soldier Create.h"
|
||||
#include "SkillCheck.h"
|
||||
#include "Sound Control.h"
|
||||
@@ -63,17 +57,12 @@
|
||||
#include "Morale.h"
|
||||
#include "personnel.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "Queen Command.h"
|
||||
#include "Campaign.h"
|
||||
#include "BobbyRMailOrder.h"
|
||||
#include "End Game.h"
|
||||
#include "Map Screen Helicopter.h"
|
||||
#include "Cheats.h"
|
||||
#include "Overhead.h"
|
||||
#include "Soldier Control.h"
|
||||
|
||||
#include "LuaInitNPCs.h"
|
||||
#include "Text.h"
|
||||
#include "Luaglobal.h"
|
||||
|
||||
|
||||
@@ -81,20 +70,18 @@
|
||||
#include "Explosion Control.h"
|
||||
#include "Ja25_Tactical.h"
|
||||
#include "Ja25 Strategic Ai.h"
|
||||
#include "MapScreen Quotes.h"
|
||||
#include "email.h"
|
||||
#include "Soldier macros.h"
|
||||
#include "LOS.h"
|
||||
#include "Soldier Control.h"
|
||||
#include "Ja25Update.h"
|
||||
#include "ub_config.h"
|
||||
#else
|
||||
// anv: for playable Speck
|
||||
#include "Speck Quotes.h"
|
||||
#include "mercs.h"
|
||||
#endif
|
||||
|
||||
#ifdef JA2UB
|
||||
#else
|
||||
// anv: for playable Speck
|
||||
#include "Speck Quotes.h"
|
||||
#include "mercs.h"
|
||||
#ifndef _DEBUG
|
||||
#include "Cheats.h"
|
||||
#endif
|
||||
|
||||
//forward declarations of common classes to eliminate includes
|
||||
|
||||
@@ -1,59 +1,28 @@
|
||||
#include "builddefines.h"
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include "sgp.h"
|
||||
#include "gameloop.h"
|
||||
#include "himage.h"
|
||||
#include "vobject.h"
|
||||
#include "sysutil.h"
|
||||
#include "Overhead.h"
|
||||
#include "mousesystem.h"
|
||||
#include "Button System.h"
|
||||
#include "Interface.h"
|
||||
#include "vsurface.h"
|
||||
#include "WCheck.h"
|
||||
#include "input.h"
|
||||
#include "Handle UI.h"
|
||||
#include "renderworld.h"
|
||||
#include "Font Control.h"
|
||||
#include "Utilities.h"
|
||||
#include "Interface Panels.h"
|
||||
#include "Animation Control.h"
|
||||
#include "Soldier Control.h"
|
||||
#include "Weapons.h"
|
||||
#include "lighting.h"
|
||||
#include "faces.h"
|
||||
#include "mapscreen.h"
|
||||
#include "message.h"
|
||||
#include "soldier profile type.h"
|
||||
#include <Font.h>
|
||||
#include "Text.h"
|
||||
#include "Interface Items.h"
|
||||
#include "Font Control.h"
|
||||
#include "Cursor Control.h"
|
||||
#include "Interface Utils.h"
|
||||
#include "Interface Items.h"
|
||||
#include "WordWrap.h"
|
||||
#include "vobject_blitters.h"
|
||||
#include "world items.h"
|
||||
#include "Points.h"
|
||||
#include "physics.h"
|
||||
#include "Handle UI.h"
|
||||
#include "ShopKeeper Interface.h"
|
||||
#include "english.h"
|
||||
#include "Keys.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Soldier macros.h"
|
||||
#include "Squads.h"
|
||||
#include "MessageBoxScreen.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Map Screen Interface Map Inventory.h"
|
||||
#include "Quests.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "Campaign Types.h"
|
||||
#include "LOS.h"
|
||||
#include "Map Screen Interface Map.h"
|
||||
#include "Food.h" // added by Flugente
|
||||
|
||||
#include "Multi Language Graphic Utils.h"
|
||||
#include <language.hpp>
|
||||
|
||||
//forward declarations of common classes to eliminate includes
|
||||
@@ -10104,7 +10073,7 @@ void DrawArmorValues( OBJECTTYPE * gpItemDescObject )
|
||||
UINT16 iFinalProtectionValue = iProtectionValue;
|
||||
for (attachmentList::iterator iter = (*gpItemDescObject)[0]->attachments.begin(); iter != (*gpItemDescObject)[0]->attachments.end(); ++iter)
|
||||
{
|
||||
if (Item[ iter->usItem ].usItemClass == IC_ARMOUR)
|
||||
if ( iter->exists() && Item[ iter->usItem ].usItemClass == IC_ARMOUR)
|
||||
{
|
||||
iFinalProtectionValue += Armour[Item[iter->usItem].ubClassIndex].ubProtection;
|
||||
}
|
||||
@@ -10130,7 +10099,7 @@ void DrawArmorValues( OBJECTTYPE * gpItemDescObject )
|
||||
UINT16 iComparedFinalProtectionValue = iComparedProtectionValue;
|
||||
for (attachmentList::iterator iter = (*gpComparedItemDescObject)[0]->attachments.begin(); iter != (*gpComparedItemDescObject)[0]->attachments.end(); ++iter)
|
||||
{
|
||||
if (Item[ iter->usItem ].usItemClass == IC_ARMOUR)
|
||||
if ( iter->exists() && Item[ iter->usItem ].usItemClass == IC_ARMOUR)
|
||||
{
|
||||
iComparedFinalProtectionValue += Armour[Item[iter->usItem].ubClassIndex].ubProtection;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
#include "builddefines.h"
|
||||
#include "mapscreen.h"
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <time.h>
|
||||
#include "sgp.h"
|
||||
#include "gameloop.h"
|
||||
#include "himage.h"
|
||||
#include "vobject.h"
|
||||
#include "sysutil.h"
|
||||
@@ -19,7 +16,6 @@
|
||||
#include "renderworld.h"
|
||||
#include "Sys Globals.h"
|
||||
#include "Cursors.h"
|
||||
#include "Radar Screen.h"
|
||||
#include "Font Control.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "Utilities.h"
|
||||
@@ -30,15 +26,12 @@
|
||||
#include "Weapons.h"
|
||||
#include "lighting.h"
|
||||
#include "faces.h"
|
||||
#include "mapscreen.h"
|
||||
#include "message.h"
|
||||
#include "Text.h"
|
||||
#include "Interface Items.h"
|
||||
#include "Font Control.h"
|
||||
#include "Cursor Control.h"
|
||||
#include "Interface Cursors.h"
|
||||
#include "Interface Utils.h"
|
||||
#include "Interface Items.h"
|
||||
#include "WordWrap.h"
|
||||
#include "Interface Control.h"
|
||||
#include "vobject_blitters.h"
|
||||
@@ -47,7 +40,6 @@
|
||||
#include "physics.h"
|
||||
#include "finances.h"
|
||||
#include "UI Cursors.h"
|
||||
#include "Handle UI.h"
|
||||
#include "ShopKeeper Interface.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "english.h"
|
||||
@@ -67,7 +59,6 @@
|
||||
#include "Map Screen Interface Map.h"
|
||||
#include "Interface Enhanced.h"
|
||||
#include "InterfaceItemImages.h"
|
||||
#include "Auto Resolve.h"
|
||||
#include "popup_callback.h"
|
||||
// BOB : quick attachment popup
|
||||
#include "popup_class.h"
|
||||
@@ -75,19 +66,10 @@
|
||||
#include "SkillCheck.h" // added by Flugente
|
||||
#include "random.h" // added by Flugente
|
||||
#include "Explosion Control.h" // added by Flugente
|
||||
#include "Food.h" // added by Flugente
|
||||
#include "Encyclopedia_new.h" //Moa: enc. item visibility
|
||||
// sevenfm:
|
||||
#include "Soldier Control.h"
|
||||
#include "Sound Control.h"
|
||||
|
||||
#include "Multi Language Graphic Utils.h"
|
||||
#include <language.hpp>
|
||||
|
||||
#ifdef JA2UB
|
||||
#include "Ja25_Tactical.h"
|
||||
#endif
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// SANDRO - all "APBPConstants[AP_PICKUP_ITEM]" were replaced by GetBasicAPsToPickupItem()
|
||||
@@ -661,13 +643,29 @@ void popupCallbackItem(INT16 itemId){
|
||||
i++;p++;
|
||||
}
|
||||
|
||||
OBJECTTYPE pObjTmp;
|
||||
static OBJECTTYPE pObjTmp;
|
||||
pObjTmp.initialize();
|
||||
|
||||
if( bestStack->RemoveObjectAtIndex(leastDamagedIndex, &pObjTmp) ){
|
||||
gpItemPointer = &pObjTmp; // pick up the object (or stack)
|
||||
DoAttachment((UINT8)gubPopupStatusIndex, guiPopupItemPos); // try to attach it
|
||||
//gpItemPointer = NULL; // dont drop it!
|
||||
|
||||
// If attaching failed, change mouse cursor to item as we're still holding it
|
||||
if ( gpItemPointer->exists() ) {
|
||||
// Set mouse
|
||||
guiExternVo = GetInterfaceGraphicForItem(&(Item[gpItemPointer->usItem]));
|
||||
gusExternVoSubIndex = Item[gpItemPointer->usItem].ubGraphicNum;
|
||||
|
||||
MSYS_ChangeRegionCursor(&gMPanelRegion, EXTERN_CURSOR);
|
||||
MSYS_SetCurrentCursor(EXTERN_CURSOR);
|
||||
fMapInventoryItem = TRUE;
|
||||
fTeamPanelDirty = TRUE;
|
||||
|
||||
//Dirty interface
|
||||
fInterfacePanelDirty = DIRTYLEVEL2;
|
||||
|
||||
UpdateItemHatches();
|
||||
}
|
||||
|
||||
gItemDescAttachmentPopups[giActiveAttachmentPopup]->hide();
|
||||
RenderItemDescriptionBox();
|
||||
@@ -6078,7 +6076,8 @@ void ItemDescAmmoCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
gfItemAmmoDown = FALSE;
|
||||
|
||||
//CHRISL: We dont' want to be able to reload guns using the ammo crate from this function
|
||||
if((gpItemPointer != NULL && Magazine[Item[gpItemPointer->usItem].ubClassIndex].ubMagType >= AMMO_BOX) || !EnoughPoints(gpItemDescSoldier, APBPConstants[AP_RELOAD_GUN], 0, TRUE))//dnl ch65 040913
|
||||
//Greysa: add check for ammo item
|
||||
if( gpItemPointer != NULL && ( (Item[gpItemPointer->usItem].usItemClass != IC_AMMO || Magazine[Item[gpItemPointer->usItem].ubClassIndex].ubMagType >= AMMO_BOX) ) || !EnoughPoints(gpItemDescSoldier, APBPConstants[AP_RELOAD_GUN], 0, TRUE) )//dnl ch65 040913
|
||||
{
|
||||
fInterfacePanelDirty = DIRTYLEVEL2;
|
||||
btn->uiFlags &= (~BUTTON_CLICKED_ON );
|
||||
@@ -6101,7 +6100,8 @@ void ItemDescAmmoCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
else
|
||||
{
|
||||
//holding an item
|
||||
if(Magazine[Item[gpItemPointer->usItem].ubClassIndex].ubCalibre == Weapon[Item[gpItemDescObject->usItem].ubClassIndex].ubCalibre)
|
||||
//Greysa: add check for ammo item
|
||||
if( Item[gpItemPointer->usItem].usItemClass == IC_AMMO && Magazine[Item[gpItemPointer->usItem].ubClassIndex].ubCalibre == Weapon[Item[gpItemDescObject->usItem].ubClassIndex].ubCalibre )
|
||||
{
|
||||
ReloadGun(gpItemDescSoldier, gpItemDescObject, gpItemPointer, ubStatusIndex);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
#include "builddefines.h"
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include "sgp.h"
|
||||
#include "gameloop.h"
|
||||
#include "himage.h"
|
||||
#include "vobject.h"
|
||||
#include "sysutil.h"
|
||||
@@ -26,7 +24,6 @@
|
||||
#include "Soldier Control.h"
|
||||
#include "PATHAI.H"
|
||||
#include "Weapons.h"
|
||||
#include "lighting.h"
|
||||
#include "faces.h"
|
||||
#include "mapscreen.h"
|
||||
#include "message.h"
|
||||
@@ -35,7 +32,6 @@
|
||||
#include "Interface Control.h"
|
||||
#include "Interface Utils.h"
|
||||
#include "Game Clock.h"
|
||||
#include "mapscreen.h"
|
||||
#include "Soldier macros.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Soldier Functions.h"
|
||||
@@ -51,7 +47,6 @@
|
||||
#include "ShopKeeper Interface.h"
|
||||
#include "english.h"
|
||||
#include "Keys.h"
|
||||
#include "Soldier Add.h"
|
||||
#include "Vehicles.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Dialogue Control.h"
|
||||
@@ -62,7 +57,6 @@
|
||||
#include "vobject_blitters.h"
|
||||
#include "finances.h"
|
||||
#include "LaptopSave.h"
|
||||
#include "Cursor Control.h"
|
||||
#include "MessageBoxScreen.h"
|
||||
#include "WordWrap.h"
|
||||
#include "Boxing.h"
|
||||
@@ -70,9 +64,6 @@
|
||||
// HEADROCK HAM 3.6: This is required for Stat Progress Bars
|
||||
#include "Campaign.h"
|
||||
#include "Food.h" // added by Flugente
|
||||
|
||||
//legion by Jazz
|
||||
#include "Interface Utils.h"
|
||||
#include <language.hpp>
|
||||
|
||||
//forward declarations of common classes to eliminate includes
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#include "builddefines.h"
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "sgp.h"
|
||||
#include "himage.h"
|
||||
#include "vobject.h"
|
||||
@@ -8,7 +7,6 @@
|
||||
#include "Interface.h"
|
||||
#include "sysutil.h"
|
||||
#include "faces.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "Weapons.h"
|
||||
#include "Overhead.h"
|
||||
#include "Soldier macros.h"
|
||||
|
||||
+1
-15
@@ -1,9 +1,7 @@
|
||||
#include "builddefines.h"
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <time.h>
|
||||
#include "sgp.h"
|
||||
#include "gameloop.h"
|
||||
#include "himage.h"
|
||||
#include "vobject.h"
|
||||
#include "sysutil.h"
|
||||
@@ -30,9 +28,8 @@
|
||||
#include "lighting.h"
|
||||
#include "Interface Panels.h"
|
||||
#include "PATHAI.H"
|
||||
#include "vobject_blitters.h"
|
||||
#include <shading.h>
|
||||
#include "faces.h"
|
||||
#include "Handle UI Plan.h"
|
||||
#include "Interface Control.h"
|
||||
#include "Interface Items.h"
|
||||
#include "Soldier Profile.h"
|
||||
@@ -46,15 +43,11 @@
|
||||
#include "Soldier macros.h"
|
||||
#include "Game Clock.h"
|
||||
#include "physics.h"
|
||||
#include "Map Screen Interface Map.h"
|
||||
#include "line.h"
|
||||
#include "Vehicles.h"
|
||||
#include "MessageBoxScreen.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Squads.h"
|
||||
#include "message.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Queen Command.h"
|
||||
// HEADROCK HAM 4: Included for new CTH indicator
|
||||
#include "Weapons.h"
|
||||
#include "Map Screen Interface.h" // added by Flugente for SquadNames
|
||||
@@ -65,14 +58,7 @@
|
||||
|
||||
#include "InterfaceItemImages.h"
|
||||
#ifdef JA2UB
|
||||
#include "Explosion Control.h"
|
||||
#include "Ja25_Tactical.h"
|
||||
#include "Ja25 Strategic Ai.h"
|
||||
#include "MapScreen Quotes.h"
|
||||
#include "email.h"
|
||||
#include "interface Dialogue.h"
|
||||
#include "mercs.h"
|
||||
#include "ub_config.h"
|
||||
#endif
|
||||
|
||||
#include "connect.h"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user