diff --git a/JA2.suo b/JA2.suo index de34c8d8..72eff7e5 100644 Binary files a/JA2.suo and b/JA2.suo differ diff --git a/Laptop/BobbyRGuns.h b/Laptop/BobbyRGuns.h index 2b210864..9d3a084a 100644 --- a/Laptop/BobbyRGuns.h +++ b/Laptop/BobbyRGuns.h @@ -38,7 +38,6 @@ void ExitBobbyRGuns(); void HandleBobbyRGuns(); void RenderBobbyRGuns(); -// WANNE BOOLEAN DeleteBobbyRGunsFilter(); BOOLEAN DeleteBobbyRAmmoFilter(); BOOLEAN DeleteBobbyRUsedFilter(); @@ -59,7 +58,6 @@ BOOLEAN DisplayItemInfo(UINT32 uiItemClass, INT32 iFilter); void DeleteMouseRegionForBigImage(); void UpdateButtonText(UINT32 uiCurPage); -// WANNE void UpdateAmmoFilterButtons(INT32 iNewButton, INT32 iOldButton); void UpdateGunFilterButtons(INT32 iNewButton, INT32 iOldButton); void UpdateUsedFilterButtons(); diff --git a/Laptop/IMP Confirm.cpp b/Laptop/IMP Confirm.cpp index 84ab0977..d866f695 100644 --- a/Laptop/IMP Confirm.cpp +++ b/Laptop/IMP Confirm.cpp @@ -353,7 +353,7 @@ void BtnIMPConfirmYes(GUI_BUTTON *btn,INT32 reason) //Kaiden: And here is my Answer to the IMP E-mails only // profiling the last IMP made. You get the results immediately // But they should become different per different IMP. - AddEmail(IMP_EMAIL_PROFILE_RESULTS, IMP_EMAIL_PROFILE_RESULTS_LENGTH, IMP_PROFILE_RESULTS, GetWorldTotalMin( ) ); + AddEmail(IMP_EMAIL_PROFILE_RESULTS, IMP_EMAIL_PROFILE_RESULTS_LENGTH, IMP_PROFILE_RESULTS, GetWorldTotalMin( ), PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ); //RenderCharProfile( ); diff --git a/Laptop/IMP Confirm.h b/Laptop/IMP Confirm.h index 52e3e8f4..7dd898e7 100644 --- a/Laptop/IMP Confirm.h +++ b/Laptop/IMP Confirm.h @@ -15,7 +15,7 @@ void ResetIMPCharactersEyesAndMouthOffsets( UINT8 ubMercProfileID ); BOOLEAN ImpExists ( STR fileName ); -// WANNE 10: +// WANNE: Determines the free and current slot of the imp in the gMercProfiles array INT32 GetNextFreeIMPSlot( void ); INT32 GetCurrentIMPSlot( void ); diff --git a/Laptop/email.cpp b/Laptop/email.cpp index 83fd1d61..d99a01bf 100644 --- a/Laptop/email.cpp +++ b/Laptop/email.cpp @@ -237,6 +237,9 @@ UINT32 guiEmailIndicator; UINT32 guiEmailMessage; UINT32 guiMAILDIVIDER; +// WANNE 10: +INT16 giCurrentIMPSlot = PLAYER_GENERATED_CHARACTER_ID; + // the enumeration of headers @@ -674,7 +677,7 @@ void AddEmailWithSpecialData(INT32 iMessageOffset, INT32 iMessageLength, UINT8 u ReplaceMercNameAndAmountWithProperData( pSubject, &FakeEmail ); // add message to list - AddEmailMessage(iMessageOffset,iMessageLength, pSubject, iDate, ubSender, FALSE, iFirstData, uiSecondData ); + AddEmailMessage(iMessageOffset,iMessageLength, pSubject, iDate, ubSender, FALSE, iFirstData, uiSecondData, -1 ); // if we are in fact int he laptop, redraw icons, might be change in mail status @@ -687,7 +690,7 @@ void AddEmailWithSpecialData(INT32 iMessageOffset, INT32 iMessageLength, UINT8 u return; } -void AddEmail(INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, INT32 iDate) +void AddEmail(INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, INT32 iDate, INT32 iCurrentIMPPosition) { wchar_t pSubject[320]; //MessagePtr pMessageList; @@ -701,7 +704,7 @@ void AddEmail(INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, INT32 LoadEncryptedDataFromFile("BINARYDATA\\Email.edt", pSubject, 640*(iMessageOffset), 640); // add message to list - AddEmailMessage(iMessageOffset,iMessageLength, pSubject, iDate, ubSender, FALSE, 0, 0 ); + AddEmailMessage(iMessageOffset,iMessageLength, pSubject, iDate, ubSender, FALSE, 0, 0, iCurrentIMPPosition ); // if we are in fact int he laptop, redraw icons, might be change in mail status @@ -728,7 +731,7 @@ void AddPreReadEmail(INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, LoadEncryptedDataFromFile("BINARYDATA\\Email.edt", pSubject, 640*(iMessageOffset), 640); // add message to list - AddEmailMessage(iMessageOffset,iMessageLength, pSubject, iDate, ubSender, TRUE, 0, 0 ); + AddEmailMessage(iMessageOffset,iMessageLength, pSubject, iDate, ubSender, TRUE, 0, 0, -1 ); // if we are in fact int he laptop, redraw icons, might be change in mail status @@ -741,7 +744,7 @@ void AddPreReadEmail(INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, return; } -void AddEmailMessage(INT32 iMessageOffset, INT32 iMessageLength,STR16 pSubject, INT32 iDate, UINT8 ubSender, BOOLEAN fAlreadyRead, INT32 iFirstData, UINT32 uiSecondData ) +void AddEmailMessage(INT32 iMessageOffset, INT32 iMessageLength,STR16 pSubject, INT32 iDate, UINT8 ubSender, BOOLEAN fAlreadyRead, INT32 iFirstData, UINT32 uiSecondData, INT32 iCurrentIMPPosition ) { // will add a message to the list of messages EmailPtr pEmail=pEmailList; @@ -794,6 +797,8 @@ void AddEmailMessage(INT32 iMessageOffset, INT32 iMessageLength,STR16 pSubject, // null out last byte of subject pTempEmail->pSubject[wcslen(pSubject)+1]=0; + // WANNE 10: + pTempEmail->iCurrentIMPPosition = iCurrentIMPPosition; // set date and sender, Id if(pEmail) @@ -1731,6 +1736,9 @@ INT32 DisplayEmailMessage(EmailPtr pMail) // we KNOW the player is going to "read" this, so mark it as so pMail->fRead=TRUE; + + // WANNE 10 + giCurrentIMPSlot = pMail->iCurrentIMPPosition; // draw text for title bar //swprintf(pString, L"%s / %s", pSenderNameList[pMail->ubSender],pMail->pSubject); @@ -3253,6 +3261,11 @@ BOOLEAN HandleMailSpecialMessages( UINT16 usMessageId, INT32 *iResults, EmailPtr #define IMP_SKILLS_SPECIAL_MARTIAL IMP_SKILLS_SPECIAL_THIEF + 1 #define IMP_SKILLS_SPECIAL_KNIFE IMP_SKILLS_SPECIAL_MARTIAL + 1 +// WANNE: These 2 skills are missing in the email! +// The problem is, that there is no description in binarydata\impass.edt +#define IMP_SKILLS_SPECIAL_ONROOF IMP_SKILLS_SPECIAL_KNIFE + 1 +#define IMP_SKILLS_SPECIAL_CAMOUFLAGED IMP_SKILLS_SPECIAL_ONROOF + 1 + #define IMP_RESULTS_PHYSICAL IMP_SKILLS_SPECIAL_KNIFE + 1 #define IMP_RESULTS_PHYSICAL_LENGTH 7 @@ -3309,14 +3322,10 @@ BOOLEAN HandleMailSpecialMessages( UINT16 usMessageId, INT32 *iResults, EmailPtr #define IMP_PORTRAIT_FEMALE_5 IMP_PORTRAIT_FEMALE_4 + 4 #define IMP_PORTRAIT_FEMALE_6 IMP_PORTRAIT_FEMALE_5 + 4 - - #define IMP_RESULTS_END IMP_PORTRAIT_FEMALE_6 + 1 #define IMP_RESULTS_END_LENGTH 3 - - void HandleIMPCharProfileResultsMessage( void) { // special case, IMP profile return @@ -3336,6 +3345,8 @@ void HandleIMPCharProfileResultsMessage( void) BOOLEAN fSufficientMechSkill = FALSE, fSufficientMarkSkill = FALSE, fSufficientMedSkill = FALSE, fSufficientExplSkill = FALSE; BOOLEAN fSufficientHlth = FALSE, fSufficientStr = FALSE, fSufficientWis = FALSE, fSufficientAgi = FALSE, fSufficientDex = FALSE, fSufficientLdr = FALSE; + INT16 iCurrentIMPSlot = -1; + iRand = Random( 32767 ); // set record ptr to head of list @@ -3361,7 +3372,9 @@ void HandleIMPCharProfileResultsMessage( void) { wchar_t zTemp[512]; - swprintf( zTemp, L" %s", gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].zName ); + iCurrentIMPSlot = giCurrentIMPSlot; + + swprintf( zTemp, L" %s", gMercProfiles[ iCurrentIMPSlot ].zName ); wcscat( pString, zTemp ); } @@ -3390,7 +3403,7 @@ void HandleIMPCharProfileResultsMessage( void) } // personality itself - switch( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bPersonalityTrait) + switch( gMercProfiles[ iCurrentIMPSlot ].bPersonalityTrait) { // normal as can be case( NO_PERSONALITYTRAIT ): @@ -3432,7 +3445,7 @@ void HandleIMPCharProfileResultsMessage( void) AddEmailRecordToList( pString ); // extra paragraph for bugs - if( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bPersonalityTrait == FEAR_OF_INSECTS ) + if( gMercProfiles[ iCurrentIMPSlot ].bPersonalityTrait == FEAR_OF_INSECTS ) { // persoanlity paragraph LoadEncryptedDataFromFile( "BINARYDATA\\Impass.edt", pString, MAIL_STRING_SIZE * ( iOffSet + IMP_PERSONALITY_LENGTH + 1 ), MAIL_STRING_SIZE ); @@ -3459,7 +3472,8 @@ void HandleIMPCharProfileResultsMessage( void) } // personality itself - switch( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bAttitude ) + // WANNE 10: + switch( gMercProfiles[ iCurrentIMPSlot ].bAttitude ) { // normal as can be case( ATT_NORMAL ): @@ -3544,27 +3558,27 @@ void HandleIMPCharProfileResultsMessage( void) iCounter = 0; // marksmanship - if ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bMarksmanship >= SUPER_SKILL_VALUE ) + if ( gMercProfiles[ iCurrentIMPSlot ].bMarksmanship >= SUPER_SKILL_VALUE ) { fSufficientMarkSkill = TRUE; iEndOfSection = 1; } // medical - if ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bMedical >= SUPER_SKILL_VALUE ) + if ( gMercProfiles[ iCurrentIMPSlot ].bMedical >= SUPER_SKILL_VALUE ) { fSufficientMedSkill = TRUE; iEndOfSection = 1; } // mechanical - if ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bMechanical >= SUPER_SKILL_VALUE ) + if ( gMercProfiles[ iCurrentIMPSlot ].bMechanical >= SUPER_SKILL_VALUE ) { fSufficientMechSkill = TRUE; iEndOfSection = 1; } - if ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bExplosive >= SUPER_SKILL_VALUE ) + if ( gMercProfiles[ iCurrentIMPSlot ].bExplosive >= SUPER_SKILL_VALUE ) { fSufficientExplSkill = TRUE; iEndOfSection = 1; @@ -3632,27 +3646,26 @@ void HandleIMPCharProfileResultsMessage( void) iCounter = 0; - // now the needs training values - if( ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bMarksmanship > NO_CHANCE_IN_HELL_SKILL_VALUE ) &&( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bMarksmanship <= NEEDS_TRAINING_SKILL_VALUE ) ) + if( ( gMercProfiles[ iCurrentIMPSlot ].bMarksmanship > NO_CHANCE_IN_HELL_SKILL_VALUE ) &&( gMercProfiles[ iCurrentIMPSlot ].bMarksmanship <= NEEDS_TRAINING_SKILL_VALUE ) ) { fSufficientMarkSkill = TRUE; iEndOfSection = 1; } - if( ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bMedical > NO_CHANCE_IN_HELL_SKILL_VALUE ) &&( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bMedical <= NEEDS_TRAINING_SKILL_VALUE ) ) + if( ( gMercProfiles[ iCurrentIMPSlot ].bMedical > NO_CHANCE_IN_HELL_SKILL_VALUE ) &&( gMercProfiles[ iCurrentIMPSlot ].bMedical <= NEEDS_TRAINING_SKILL_VALUE ) ) { fSufficientMedSkill = TRUE; iEndOfSection = 1; } - if( ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bMechanical > NO_CHANCE_IN_HELL_SKILL_VALUE ) &&( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bMechanical <= NEEDS_TRAINING_SKILL_VALUE ) ) + if( ( gMercProfiles[ iCurrentIMPSlot ].bMechanical > NO_CHANCE_IN_HELL_SKILL_VALUE ) &&( gMercProfiles[ iCurrentIMPSlot ].bMechanical <= NEEDS_TRAINING_SKILL_VALUE ) ) { fSufficientMechSkill = TRUE; iEndOfSection = 1; } - if( ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bExplosive > NO_CHANCE_IN_HELL_SKILL_VALUE ) &&( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bExplosive <= NEEDS_TRAINING_SKILL_VALUE ) ) + if( ( gMercProfiles[ iCurrentIMPSlot ].bExplosive > NO_CHANCE_IN_HELL_SKILL_VALUE ) &&( gMercProfiles[ iCurrentIMPSlot ].bExplosive <= NEEDS_TRAINING_SKILL_VALUE ) ) { fSufficientExplSkill = TRUE; iEndOfSection = 1; @@ -3718,25 +3731,25 @@ void HandleIMPCharProfileResultsMessage( void) iEndOfSection = 0; iCounter = 0; - if( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bMarksmanship <= NO_CHANCE_IN_HELL_SKILL_VALUE ) + if( gMercProfiles[ iCurrentIMPSlot ].bMarksmanship <= NO_CHANCE_IN_HELL_SKILL_VALUE ) { fSufficientMarkSkill = TRUE; iEndOfSection = 1; } - if( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bMedical <= NO_CHANCE_IN_HELL_SKILL_VALUE ) + if( gMercProfiles[ iCurrentIMPSlot ].bMedical <= NO_CHANCE_IN_HELL_SKILL_VALUE ) { fSufficientMedSkill = TRUE; iEndOfSection = 1; } - if( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bMechanical <= NO_CHANCE_IN_HELL_SKILL_VALUE ) + if( gMercProfiles[ iCurrentIMPSlot ].bMechanical <= NO_CHANCE_IN_HELL_SKILL_VALUE ) { fSufficientMechSkill = TRUE; iEndOfSection = 1; } - if( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bExplosive <= NO_CHANCE_IN_HELL_SKILL_VALUE ) + if( gMercProfiles[ iCurrentIMPSlot ].bExplosive <= NO_CHANCE_IN_HELL_SKILL_VALUE ) { fSufficientExplSkill = TRUE; iEndOfSection = 1; @@ -3807,7 +3820,7 @@ void HandleIMPCharProfileResultsMessage( void) iCounter++; } - if( ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait == KNIFING )||( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait2 == KNIFING ) ) + if( ( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait == KNIFING )||( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait2 == KNIFING ) ) { // read one record from email file LoadEncryptedDataFromFile( "BINARYDATA\\Impass.edt", pString, MAIL_STRING_SIZE * ( IMP_SKILLS_SPECIAL_KNIFE ), MAIL_STRING_SIZE ); @@ -3817,7 +3830,7 @@ void HandleIMPCharProfileResultsMessage( void) } // lockpick - if( ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait == LOCKPICKING)||( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait2 == LOCKPICKING) ) + if( ( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait == LOCKPICKING)||( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait2 == LOCKPICKING) ) { // read one record from email file LoadEncryptedDataFromFile( "BINARYDATA\\Impass.edt", pString, MAIL_STRING_SIZE * ( IMP_SKILLS_SPECIAL_LOCK ), MAIL_STRING_SIZE ); @@ -3827,7 +3840,7 @@ void HandleIMPCharProfileResultsMessage( void) } // hand to hand - if( ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait == HANDTOHAND )||( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait2 == HANDTOHAND ) ) + if( ( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait == HANDTOHAND )||( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait2 == HANDTOHAND ) ) { // read one record from email file LoadEncryptedDataFromFile( "BINARYDATA\\Impass.edt", pString, MAIL_STRING_SIZE * ( IMP_SKILLS_SPECIAL_HAND ), MAIL_STRING_SIZE ); @@ -3837,7 +3850,7 @@ void HandleIMPCharProfileResultsMessage( void) } // electronics - if( ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait == ELECTRONICS )||( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait2 == ELECTRONICS ) ) + if( ( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait == ELECTRONICS )||( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait2 == ELECTRONICS ) ) { // read one record from email file LoadEncryptedDataFromFile( "BINARYDATA\\Impass.edt", pString, MAIL_STRING_SIZE * ( IMP_SKILLS_SPECIAL_ELEC ), MAIL_STRING_SIZE ); @@ -3846,7 +3859,7 @@ void HandleIMPCharProfileResultsMessage( void) AddEmailRecordToList( pString ); } - if( ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait == NIGHTOPS )||( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait2 == NIGHTOPS ) ) + if( ( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait == NIGHTOPS )||( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait2 == NIGHTOPS ) ) { // read one record from email file LoadEncryptedDataFromFile( "BINARYDATA\\Impass.edt", pString, MAIL_STRING_SIZE * ( IMP_SKILLS_SPECIAL_NIGHT ), MAIL_STRING_SIZE ); @@ -3855,7 +3868,7 @@ void HandleIMPCharProfileResultsMessage( void) AddEmailRecordToList( pString ); } - if( ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait == THROWING)||( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait2 == THROWING) ) + if( ( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait == THROWING)||( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait2 == THROWING) ) { // read one record from email file LoadEncryptedDataFromFile( "BINARYDATA\\Impass.edt", pString, MAIL_STRING_SIZE * ( IMP_SKILLS_SPECIAL_THROW ), MAIL_STRING_SIZE ); @@ -3864,7 +3877,7 @@ void HandleIMPCharProfileResultsMessage( void) AddEmailRecordToList( pString ); } - if( ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait == TEACHING )||( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait2 == TEACHING ) ) + if( ( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait == TEACHING )||( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait2 == TEACHING ) ) { // read one record from email file LoadEncryptedDataFromFile( "BINARYDATA\\Impass.edt", pString, MAIL_STRING_SIZE * ( IMP_SKILLS_SPECIAL_TEACH ), MAIL_STRING_SIZE ); @@ -3873,7 +3886,7 @@ void HandleIMPCharProfileResultsMessage( void) AddEmailRecordToList( pString ); } - if( ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait == HEAVY_WEAPS )||( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait2 == HEAVY_WEAPS ) ) + if( ( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait == HEAVY_WEAPS )||( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait2 == HEAVY_WEAPS ) ) { // read one record from email file LoadEncryptedDataFromFile( "BINARYDATA\\Impass.edt", pString, MAIL_STRING_SIZE * ( IMP_SKILLS_SPECIAL_HEAVY ), MAIL_STRING_SIZE ); @@ -3882,7 +3895,7 @@ void HandleIMPCharProfileResultsMessage( void) AddEmailRecordToList( pString ); } - if( ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait == AUTO_WEAPS )||( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait2 == AUTO_WEAPS ) ) + if( ( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait == AUTO_WEAPS )||( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait2 == AUTO_WEAPS ) ) { // read one record from email file LoadEncryptedDataFromFile( "BINARYDATA\\Impass.edt", pString, MAIL_STRING_SIZE * ( IMP_SKILLS_SPECIAL_AUTO ), MAIL_STRING_SIZE ); @@ -3891,7 +3904,7 @@ void HandleIMPCharProfileResultsMessage( void) AddEmailRecordToList( pString ); } - if( ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait == STEALTHY )||( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait2 == STEALTHY ) ) + if( ( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait == STEALTHY )||( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait2 == STEALTHY ) ) { // read one record from email file LoadEncryptedDataFromFile( "BINARYDATA\\Impass.edt", pString, MAIL_STRING_SIZE * ( IMP_SKILLS_SPECIAL_STEALTH ), MAIL_STRING_SIZE ); @@ -3900,7 +3913,7 @@ void HandleIMPCharProfileResultsMessage( void) AddEmailRecordToList( pString ); } - if( ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait == AMBIDEXT)||( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait2 == AMBIDEXT) ) + if( ( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait == AMBIDEXT)||( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait2 == AMBIDEXT) ) { // read one record from email file LoadEncryptedDataFromFile( "BINARYDATA\\Impass.edt", pString, MAIL_STRING_SIZE * ( IMP_SKILLS_SPECIAL_AMBI ), MAIL_STRING_SIZE ); @@ -3909,7 +3922,7 @@ void HandleIMPCharProfileResultsMessage( void) AddEmailRecordToList( pString ); } - if( ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait == THIEF )||( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait2 == THIEF ) ) + if( ( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait == THIEF )||( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait2 == THIEF ) ) { // read one record from email file LoadEncryptedDataFromFile( "BINARYDATA\\Impass.edt", pString, MAIL_STRING_SIZE * ( IMP_SKILLS_SPECIAL_THIEF ), MAIL_STRING_SIZE ); @@ -3918,8 +3931,8 @@ void HandleIMPCharProfileResultsMessage( void) AddEmailRecordToList( pString ); } - if( ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait == MARTIALARTS )||( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bSkillTrait2 == MARTIALARTS ) ) - { + if( ( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait == MARTIALARTS )||( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait2 == MARTIALARTS ) ) + { // read one record from email file LoadEncryptedDataFromFile( "BINARYDATA\\Impass.edt", pString, MAIL_STRING_SIZE * ( IMP_SKILLS_SPECIAL_MARTIAL ), MAIL_STRING_SIZE ); @@ -3927,6 +3940,39 @@ void HandleIMPCharProfileResultsMessage( void) AddEmailRecordToList( pString ); } + // rooftop + if( ( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait == ONROOF )||( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait2 == ONROOF ) ) + { + // WANNE: No entry in the Impass.edt for rooftop, so add any static text here + // read one record from email file + //LoadEncryptedDataFromFile( "BINARYDATA\\Impass.edt", pString, MAIL_STRING_SIZE * ( IMP_SKILLS_SPECIAL_ONROOF ), MAIL_STRING_SIZE ); + + wcscpy(pString, L"Rooftop: "); + + #ifdef GERMAN + wcscpy(pString, L"Scharfschütze: "); + #endif + + // add to list + AddEmailRecordToList( pString ); + } + + // camouflage + if( ( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait == CAMOUFLAGED )||( gMercProfiles[ iCurrentIMPSlot ].bSkillTrait2 == CAMOUFLAGED ) ) + { + // WANNE: No entry in the Impass.edt for camouflage, so add any static text here + // read one record from email file + //LoadEncryptedDataFromFile( "BINARYDATA\\Impass.edt", pString, MAIL_STRING_SIZE * ( IMP_SKILLS_SPECIAL_CAMOUFLAGED ), MAIL_STRING_SIZE ); + + wcscpy(pString, L"Camouflaged: "); + + #ifdef GERMAN + wcscpy(pString, L"Tarnung: "); + #endif + + // add to list + AddEmailRecordToList( pString ); + } // now the physical // imperial physical @@ -3953,42 +3999,42 @@ void HandleIMPCharProfileResultsMessage( void) // health - if( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bLife >= SUPER_STAT_VALUE ) + if( gMercProfiles[ iCurrentIMPSlot ].bLife >= SUPER_STAT_VALUE ) { fSufficientHlth = TRUE; iEndOfSection = 1; } // dex - if( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bDexterity >= SUPER_STAT_VALUE ) + if( gMercProfiles[ iCurrentIMPSlot ].bDexterity >= SUPER_STAT_VALUE ) { fSufficientDex = TRUE; iEndOfSection = 1; } // agility - if( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bAgility >= SUPER_STAT_VALUE ) + if( gMercProfiles[ iCurrentIMPSlot ].bAgility >= SUPER_STAT_VALUE ) { fSufficientAgi = TRUE; iEndOfSection = 1; } // strength - if( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bStrength >= SUPER_STAT_VALUE ) + if( gMercProfiles[ iCurrentIMPSlot ].bStrength >= SUPER_STAT_VALUE ) { fSufficientStr = TRUE; iEndOfSection = 1; } // wisdom - if( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bWisdom >= SUPER_STAT_VALUE ) + if( gMercProfiles[ iCurrentIMPSlot ].bWisdom >= SUPER_STAT_VALUE ) { fSufficientWis = TRUE; iEndOfSection =1; } // leadership - if( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bLeadership >= SUPER_STAT_VALUE ) + if( gMercProfiles[ iCurrentIMPSlot ].bLeadership >= SUPER_STAT_VALUE ) { fSufficientLdr = TRUE; iEndOfSection = 1; @@ -4075,42 +4121,42 @@ void HandleIMPCharProfileResultsMessage( void) iCounter = 0; // health - if( ( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bLife < NEEDS_TRAINING_STAT_VALUE ) &&( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bLife > NO_CHANCE_IN_HELL_STAT_VALUE ) ) + if( ( gMercProfiles[ iCurrentIMPSlot ].bLife < NEEDS_TRAINING_STAT_VALUE ) &&( gMercProfiles[ iCurrentIMPSlot ].bLife > NO_CHANCE_IN_HELL_STAT_VALUE ) ) { fSufficientHlth = TRUE; iEndOfSection = 1; } // strength - if( (gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bStrength < NEEDS_TRAINING_STAT_VALUE )&&( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bStrength > NO_CHANCE_IN_HELL_STAT_VALUE ) ) + if( (gMercProfiles[ iCurrentIMPSlot ].bStrength < NEEDS_TRAINING_STAT_VALUE )&&( gMercProfiles[ iCurrentIMPSlot ].bStrength > NO_CHANCE_IN_HELL_STAT_VALUE ) ) { fSufficientStr = TRUE; iEndOfSection = 1; } // agility - if( (gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bAgility < NEEDS_TRAINING_STAT_VALUE )&&( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bAgility <= NO_CHANCE_IN_HELL_STAT_VALUE ) ) + if( (gMercProfiles[ iCurrentIMPSlot ].bAgility < NEEDS_TRAINING_STAT_VALUE )&&( gMercProfiles[ iCurrentIMPSlot ].bAgility <= NO_CHANCE_IN_HELL_STAT_VALUE ) ) { fSufficientAgi = TRUE; iEndOfSection = 1; } // wisdom - if( (gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bWisdom < NEEDS_TRAINING_STAT_VALUE)&&( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bWisdom > NO_CHANCE_IN_HELL_STAT_VALUE ) ) + if( (gMercProfiles[ iCurrentIMPSlot ].bWisdom < NEEDS_TRAINING_STAT_VALUE)&&( gMercProfiles[ iCurrentIMPSlot ].bWisdom > NO_CHANCE_IN_HELL_STAT_VALUE ) ) { fSufficientWis = TRUE; iEndOfSection = 1; } // leadership - if( (gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bLeadership < NEEDS_TRAINING_STAT_VALUE)&&( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bLeadership > NO_CHANCE_IN_HELL_STAT_VALUE ) ) + if( (gMercProfiles[ iCurrentIMPSlot ].bLeadership < NEEDS_TRAINING_STAT_VALUE)&&( gMercProfiles[ iCurrentIMPSlot ].bLeadership > NO_CHANCE_IN_HELL_STAT_VALUE ) ) { fSufficientLdr = TRUE; iEndOfSection = 1; } // dex - if( (gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bDexterity < NEEDS_TRAINING_STAT_VALUE )&&( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bDexterity > NO_CHANCE_IN_HELL_STAT_VALUE ) ) + if( (gMercProfiles[ iCurrentIMPSlot ].bDexterity < NEEDS_TRAINING_STAT_VALUE )&&( gMercProfiles[ iCurrentIMPSlot ].bDexterity > NO_CHANCE_IN_HELL_STAT_VALUE ) ) { fSufficientDex = TRUE; iEndOfSection = 1; @@ -4206,35 +4252,35 @@ void HandleIMPCharProfileResultsMessage( void) fSufficientLdr = FALSE; // health - if( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bLife <= NO_CHANCE_IN_HELL_STAT_VALUE ) + if( gMercProfiles[ iCurrentIMPSlot ].bLife <= NO_CHANCE_IN_HELL_STAT_VALUE ) { fSufficientHlth = TRUE; iEndOfSection =1; } // dex - if( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bDexterity <= NO_CHANCE_IN_HELL_STAT_VALUE ) + if( gMercProfiles[ iCurrentIMPSlot ].bDexterity <= NO_CHANCE_IN_HELL_STAT_VALUE ) { fSufficientDex = TRUE; iEndOfSection =1; } // strength - if( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bStrength <= NO_CHANCE_IN_HELL_STAT_VALUE ) + if( gMercProfiles[ iCurrentIMPSlot ].bStrength <= NO_CHANCE_IN_HELL_STAT_VALUE ) { fSufficientStr = TRUE; iEndOfSection = 1; } // agility - if( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bAgility <= NO_CHANCE_IN_HELL_STAT_VALUE ) + if( gMercProfiles[ iCurrentIMPSlot ].bAgility <= NO_CHANCE_IN_HELL_STAT_VALUE ) { fSufficientAgi = TRUE; iEndOfSection = 1; } // wisdom - if( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bWisdom <= NO_CHANCE_IN_HELL_STAT_VALUE ) + if( gMercProfiles[ iCurrentIMPSlot ].bWisdom <= NO_CHANCE_IN_HELL_STAT_VALUE ) { fSufficientWis = TRUE; iEndOfSection =1; @@ -4305,7 +4351,7 @@ void HandleIMPCharProfileResultsMessage( void) // leadership - if( gMercProfiles[ PLAYER_GENERATED_CHARACTER_ID + LaptopSaveInfo.iVoiceId ].bLeadership <= NO_CHANCE_IN_HELL_STAT_VALUE ) + if( gMercProfiles[ iCurrentIMPSlot ].bLeadership <= NO_CHANCE_IN_HELL_STAT_VALUE ) { fSufficientLdr = TRUE; } @@ -5096,23 +5142,23 @@ void AddAllEmails() UINT32 uiCnt; UINT32 uiOffset; - AddEmail(IMP_EMAIL_INTRO,IMP_EMAIL_INTRO_LENGTH,CHAR_PROFILE_SITE, GetWorldTotalMin() ); - AddEmail(ENRICO_CONGRATS,ENRICO_CONGRATS_LENGTH,MAIL_ENRICO, GetWorldTotalMin() ); - AddEmail(IMP_EMAIL_AGAIN,IMP_EMAIL_AGAIN_LENGTH,1, GetWorldTotalMin( ) ); - AddEmail(MERC_INTRO, MERC_INTRO_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin( ) ); - AddEmail( MERC_NEW_SITE_ADDRESS, MERC_NEW_SITE_ADDRESS_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin() ); + AddEmail(IMP_EMAIL_INTRO,IMP_EMAIL_INTRO_LENGTH,CHAR_PROFILE_SITE, GetWorldTotalMin(), -1 ); + AddEmail(ENRICO_CONGRATS,ENRICO_CONGRATS_LENGTH,MAIL_ENRICO, GetWorldTotalMin(), -1 ); + AddEmail(IMP_EMAIL_AGAIN,IMP_EMAIL_AGAIN_LENGTH,1, GetWorldTotalMin( ), -1 ); + AddEmail(MERC_INTRO, MERC_INTRO_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin( ), -1 ); + AddEmail( MERC_NEW_SITE_ADDRESS, MERC_NEW_SITE_ADDRESS_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1 ); - AddEmail(IMP_EMAIL_PROFILE_RESULTS, IMP_EMAIL_PROFILE_RESULTS_LENGTH, IMP_PROFILE_RESULTS, GetWorldTotalMin( ) ); + AddEmail(IMP_EMAIL_PROFILE_RESULTS, IMP_EMAIL_PROFILE_RESULTS_LENGTH, IMP_PROFILE_RESULTS, GetWorldTotalMin( ), -1 ); - AddEmail( MERC_WARNING, MERC_WARNING_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin()); - AddEmail( MERC_INVALID, MERC_INVALID_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin()); - AddEmail( NEW_MERCS_AT_MERC, NEW_MERCS_AT_MERC_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin()); - AddEmail( MERC_FIRST_WARNING, MERC_FIRST_WARNING_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin()); + AddEmail( MERC_WARNING, MERC_WARNING_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1); + AddEmail( MERC_INVALID, MERC_INVALID_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1); + AddEmail( NEW_MERCS_AT_MERC, NEW_MERCS_AT_MERC_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1); + AddEmail( MERC_FIRST_WARNING, MERC_FIRST_WARNING_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1); uiOffset = MERC_UP_LEVEL_BIFF; for( uiCnt=0; uiCnt<10; uiCnt++) { - AddEmail( uiOffset, MERC_UP_LEVEL_LENGTH_BIFF, SPECK_FROM_MERC, GetWorldTotalMin() ); + AddEmail( uiOffset, MERC_UP_LEVEL_LENGTH_BIFF, SPECK_FROM_MERC, GetWorldTotalMin(), -1 ); uiOffset += MERC_UP_LEVEL_LENGTH_BIFF; } @@ -5121,35 +5167,35 @@ void AddAllEmails() uiOffset = AIM_REPLY_BARRY; for( uiCnt=0; uiCnt<40; uiCnt++) { - AddEmail( ( UINT8 )( uiOffset + ( uiCnt * AIM_REPLY_LENGTH_BARRY ) ), AIM_REPLY_LENGTH_BARRY, ( UINT8 )( 6 + uiCnt ), GetWorldTotalMin() ); + AddEmail( ( UINT8 )( uiOffset + ( uiCnt * AIM_REPLY_LENGTH_BARRY ) ), AIM_REPLY_LENGTH_BARRY, ( UINT8 )( 6 + uiCnt ), GetWorldTotalMin(), -1 ); } - AddEmail(OLD_ENRICO_1,OLD_ENRICO_1_LENGTH,MAIL_ENRICO, GetWorldTotalMin() ); - AddEmail(OLD_ENRICO_2,OLD_ENRICO_2_LENGTH,MAIL_ENRICO, GetWorldTotalMin() ); - AddEmail(OLD_ENRICO_3,OLD_ENRICO_3_LENGTH,MAIL_ENRICO, GetWorldTotalMin() ); - AddEmail(RIS_REPORT,RIS_REPORT_LENGTH,RIS_EMAIL, GetWorldTotalMin() ); + AddEmail(OLD_ENRICO_1,OLD_ENRICO_1_LENGTH,MAIL_ENRICO, GetWorldTotalMin(), -1 ); + AddEmail(OLD_ENRICO_2,OLD_ENRICO_2_LENGTH,MAIL_ENRICO, GetWorldTotalMin(), -1 ); + AddEmail(OLD_ENRICO_3,OLD_ENRICO_3_LENGTH,MAIL_ENRICO, GetWorldTotalMin(), -1 ); + AddEmail(RIS_REPORT,RIS_REPORT_LENGTH,RIS_EMAIL, GetWorldTotalMin(), -1 ); - AddEmail( ENRICO_MIGUEL, ENRICO_MIGUEL_LENGTH, MAIL_ENRICO, GetWorldTotalMin() ); - AddEmail(ENRICO_PROG_20, ENRICO_PROG_20_LENGTH, MAIL_ENRICO, GetWorldTotalMin()); - AddEmail(ENRICO_PROG_55, ENRICO_PROG_55_LENGTH, MAIL_ENRICO, GetWorldTotalMin()); - AddEmail(ENRICO_PROG_80, ENRICO_PROG_80_LENGTH, MAIL_ENRICO, GetWorldTotalMin()); - AddEmail(ENRICO_SETBACK, ENRICO_SETBACK_LENGTH, MAIL_ENRICO, GetWorldTotalMin()); - AddEmail(ENRICO_SETBACK_2, ENRICO_SETBACK_2_LENGTH, MAIL_ENRICO, GetWorldTotalMin()); - AddEmail(LACK_PLAYER_PROGRESS_1, LACK_PLAYER_PROGRESS_1_LENGTH, MAIL_ENRICO, GetWorldTotalMin()); - AddEmail(LACK_PLAYER_PROGRESS_2, LACK_PLAYER_PROGRESS_2_LENGTH, MAIL_ENRICO, GetWorldTotalMin()); - AddEmail(LACK_PLAYER_PROGRESS_3, LACK_PLAYER_PROGRESS_3_LENGTH, MAIL_ENRICO, GetWorldTotalMin()); - AddEmail(ENRICO_CREATURES, ENRICO_CREATURES_LENGTH, MAIL_ENRICO, GetWorldTotalMin()); + AddEmail( ENRICO_MIGUEL, ENRICO_MIGUEL_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1 ); + AddEmail(ENRICO_PROG_20, ENRICO_PROG_20_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1); + AddEmail(ENRICO_PROG_55, ENRICO_PROG_55_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1); + AddEmail(ENRICO_PROG_80, ENRICO_PROG_80_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1); + AddEmail(ENRICO_SETBACK, ENRICO_SETBACK_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1); + AddEmail(ENRICO_SETBACK_2, ENRICO_SETBACK_2_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1); + AddEmail(LACK_PLAYER_PROGRESS_1, LACK_PLAYER_PROGRESS_1_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1); + AddEmail(LACK_PLAYER_PROGRESS_2, LACK_PLAYER_PROGRESS_2_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1); + AddEmail(LACK_PLAYER_PROGRESS_3, LACK_PLAYER_PROGRESS_3_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1); + AddEmail(ENRICO_CREATURES, ENRICO_CREATURES_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1); //Add an email telling the user that he received an insurance payment AddEmailWithSpecialData( INSUR_PAYMENT, INSUR_PAYMENT_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), 20, 0 ); AddEmailWithSpecialData( INSUR_SUSPIC, INSUR_SUSPIC_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), 20, 0 ); AddEmailWithSpecialData( INSUR_SUSPIC_2, INSUR_SUSPIC_2_LENGTH, INSURANCE_COMPANY, GetWorldTotalMin(), 20, 0 ); - AddEmail( BOBBYR_NOW_OPEN, BOBBYR_NOW_OPEN_LENGTH, BOBBY_R, GetWorldTotalMin()); - AddEmail( KING_PIN_LETTER, KING_PIN_LETTER_LENGTH, KING_PIN, GetWorldTotalMin() ); - AddEmail( BOBBYR_SHIPMENT_ARRIVED, BOBBYR_SHIPMENT_ARRIVED_LENGTH, BOBBY_R, GetWorldTotalMin() ); + AddEmail( BOBBYR_NOW_OPEN, BOBBYR_NOW_OPEN_LENGTH, BOBBY_R, GetWorldTotalMin(), -1); + AddEmail( KING_PIN_LETTER, KING_PIN_LETTER_LENGTH, KING_PIN, GetWorldTotalMin(), -1 ); + AddEmail( BOBBYR_SHIPMENT_ARRIVED, BOBBYR_SHIPMENT_ARRIVED_LENGTH, BOBBY_R, GetWorldTotalMin(), -1 ); - AddEmail( JOHN_KULBA_GIFT_IN_DRASSEN, JOHN_KULBA_GIFT_IN_DRASSEN_LENGTH, JOHN_KULBA, GetWorldTotalMin() ); + AddEmail( JOHN_KULBA_GIFT_IN_DRASSEN, JOHN_KULBA_GIFT_IN_DRASSEN_LENGTH, JOHN_KULBA, GetWorldTotalMin(), -1 ); AddEmailWithSpecialData(MERC_DIED_ON_OTHER_ASSIGNMENT, MERC_DIED_ON_OTHER_ASSIGNMENT_LENGTH, AIM_SITE, GetWorldTotalMin(), 0, 0 ); diff --git a/Laptop/email.h b/Laptop/email.h index 64ca48c7..0aa09e3a 100644 --- a/Laptop/email.h +++ b/Laptop/email.h @@ -163,6 +163,10 @@ struct email UINT32 uiFifthData; UINT32 uiSixData; + // WANNE: A reference to the IMP position in the gMercProfiles array. + // So we know which analyse email belongs to the imp + INT32 iCurrentIMPPosition; + struct email *Next; struct email *Prev; }; @@ -272,11 +276,11 @@ void RenderEmail(); // message manipulation -void AddEmailMessage(INT32 iMessageOffset, INT32 iMessageLength,STR16 pSubject, INT32 iDate, UINT8 ubSender, BOOLEAN fAlreadyRead, INT32 uiFirstData, UINT32 uiSecondData ); +void AddEmailMessage(INT32 iMessageOffset, INT32 iMessageLength,STR16 pSubject, INT32 iDate, UINT8 ubSender, BOOLEAN fAlreadyRead, INT32 uiFirstData, UINT32 uiSecondData, INT32 iCurrentIMPPosition ); void RemoveEmailMessage(INT32 iId); EmailPtr GetEmailMessage(INT32 iId); void LookForUnread(); -void AddEmail(INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, INT32 iDate); +void AddEmail(INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, INT32 iDate, INT32 iCurrentIMPPosition); void AddPreReadEmail(INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, INT32 iDate); BOOLEAN DisplayNewMailBox(); void CreateDestroyNewMailButton(); diff --git a/Laptop/laptop.cpp b/Laptop/laptop.cpp index 7e821f3b..effad3eb 100644 --- a/Laptop/laptop.cpp +++ b/Laptop/laptop.cpp @@ -2645,7 +2645,7 @@ void HaventMadeImpMercEmailCallBack() if( ( LaptopSaveInfo.fIMPCompletedFlag == FALSE ) && ( LaptopSaveInfo.fSentImpWarningAlready == FALSE ) ) { LaptopSaveInfo.fSentImpWarningAlready = TRUE; - AddEmail(IMP_EMAIL_AGAIN,IMP_EMAIL_AGAIN_LENGTH,1, GetWorldTotalMin( ) ); + AddEmail(IMP_EMAIL_AGAIN,IMP_EMAIL_AGAIN_LENGTH,1, GetWorldTotalMin( ), -1 ); } } diff --git a/Laptop/laptop.h b/Laptop/laptop.h index 72a874a8..aa48d416 100644 --- a/Laptop/laptop.h +++ b/Laptop/laptop.h @@ -47,7 +47,6 @@ void ClearOutTempLaptopFiles( void ); void HaventMadeImpMercEmailCallBack(); -// WANNE extern INT32 guiCurrentGunFilterMode; extern INT32 guiPrevGunFilterMode; diff --git a/Laptop/mercs.cpp b/Laptop/mercs.cpp index d35fa8a5..936a8922 100644 --- a/Laptop/mercs.cpp +++ b/Laptop/mercs.cpp @@ -786,7 +786,7 @@ void DailyUpdateOfMercSite( UINT16 usDate) if( LaptopSaveInfo.gubPlayersMercAccountStatus != MERC_ACCOUNT_INVALID ) { LaptopSaveInfo.gubPlayersMercAccountStatus = MERC_ACCOUNT_INVALID; - AddEmail( MERC_INVALID, MERC_INVALID_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin()); + AddEmail( MERC_INVALID, MERC_INVALID_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1); } } else if( iNumDays > MERC_NUM_DAYS_TILL_ACCOUNT_SUSPENDED ) @@ -794,7 +794,7 @@ void DailyUpdateOfMercSite( UINT16 usDate) if( LaptopSaveInfo.gubPlayersMercAccountStatus != MERC_ACCOUNT_SUSPENDED ) { LaptopSaveInfo.gubPlayersMercAccountStatus = MERC_ACCOUNT_SUSPENDED; - AddEmail( MERC_WARNING, MERC_WARNING_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin()); + AddEmail( MERC_WARNING, MERC_WARNING_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1); // Have speck complain next time player come to site LaptopSaveInfo.uiSpeckQuoteFlags |= SPECK_QUOTE__SENT_EMAIL_ABOUT_LACK_OF_PAYMENT; @@ -805,7 +805,7 @@ void DailyUpdateOfMercSite( UINT16 usDate) if( LaptopSaveInfo.gubPlayersMercAccountStatus != MERC_ACCOUNT_VALID_FIRST_WARNING ) { LaptopSaveInfo.gubPlayersMercAccountStatus = MERC_ACCOUNT_VALID_FIRST_WARNING; - AddEmail( MERC_FIRST_WARNING, MERC_FIRST_WARNING_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin()); + AddEmail( MERC_FIRST_WARNING, MERC_FIRST_WARNING_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1); // Have speck complain next time player come to site LaptopSaveInfo.uiSpeckQuoteFlags |= SPECK_QUOTE__SENT_EMAIL_ABOUT_LACK_OF_PAYMENT; @@ -2325,7 +2325,7 @@ BOOLEAN ShouldTheMercSiteServerGoDown() void GetMercSiteBackOnline() { //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() ); + AddEmail( MERC_NEW_SITE_ADDRESS, MERC_NEW_SITE_ADDRESS_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1 ); //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; @@ -2631,7 +2631,7 @@ void NewMercsAvailableAtMercSiteCallBack( ) } if( fSendEmail ) - AddEmail( NEW_MERCS_AT_MERC, NEW_MERCS_AT_MERC_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin()); + AddEmail( NEW_MERCS_AT_MERC, NEW_MERCS_AT_MERC_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1); //new mercs are available LaptopSaveInfo.fNewMercsAvailableAtMercSite = TRUE; diff --git a/Standard Gaming Platform/vobject.h b/Standard Gaming Platform/vobject.h index 2fdc0d53..8bf02b8f 100644 --- a/Standard Gaming Platform/vobject.h +++ b/Standard Gaming Platform/vobject.h @@ -138,7 +138,6 @@ extern "C" { // Creates a list to contain video objects BOOLEAN InitializeVideoObjectManager( ); -// WANNE int filter(unsigned int code, struct _EXCEPTION_POINTERS *ep); // Deletes any video object placed into list diff --git a/Strategic/Game Clock.h b/Strategic/Game Clock.h index 18069183..a586b9dc 100644 --- a/Strategic/Game Clock.h +++ b/Strategic/Game Clock.h @@ -1,4 +1,3 @@ -// WANNE 2 #ifndef __WORLD_CLOCK #define __WORLD_CLOCK @@ -6,11 +5,9 @@ // where the time string itself is rendered -// WANNE 2 #define CLOCK_X (SCREEN_WIDTH - 86) //554 #define CLOCK_Y (SCREEN_HEIGHT - 21) //459 -// WANNE 2 // the mouse region around the clock (bigger) #define CLOCK_REGION_START_X (SCREEN_WIDTH - 88) //552 #define CLOCK_REGION_START_Y (SCREEN_HEIGHT - 24) //456 diff --git a/Strategic/Game Event Hook.cpp b/Strategic/Game Event Hook.cpp index bb1e1d56..3a1b2305 100644 --- a/Strategic/Game Event Hook.cpp +++ b/Strategic/Game Event Hook.cpp @@ -189,11 +189,11 @@ BOOLEAN ExecuteStrategicEvent( STRATEGICEVENT *pEvent ) case EVENT_DAY3_ADD_EMAIL_FROM_SPECK: if(!bMercDayOne) { - AddEmail(MERC_INTRO, MERC_INTRO_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin( ) ); + AddEmail(MERC_INTRO, MERC_INTRO_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin( ), -1 ); } break; case EVENT_DAY2_ADD_EMAIL_FROM_IMP: - AddEmail(IMP_EMAIL_PROFILE_RESULTS, IMP_EMAIL_PROFILE_RESULTS_LENGTH, IMP_PROFILE_RESULTS, GetWorldTotalMin( ) ); + AddEmail(IMP_EMAIL_PROFILE_RESULTS, IMP_EMAIL_PROFILE_RESULTS_LENGTH, IMP_PROFILE_RESULTS, GetWorldTotalMin( ), -1 ); break; //If a merc gets hired and they dont show up immediately, the merc gets added to the queue and shows up // uiTimeTillMercArrives minutes later diff --git a/Strategic/Game Init.cpp b/Strategic/Game Init.cpp index 5c7e8730..e30ce51f 100644 --- a/Strategic/Game Init.cpp +++ b/Strategic/Game Init.cpp @@ -403,11 +403,11 @@ BOOLEAN InitNewGame( BOOLEAN fReset ) AddPreReadEmail(OLD_ENRICO_2,OLD_ENRICO_2_LENGTH,MAIL_ENRICO, GetWorldTotalMin() ); AddPreReadEmail(RIS_REPORT,RIS_REPORT_LENGTH,RIS_EMAIL, GetWorldTotalMin() ); AddPreReadEmail(OLD_ENRICO_3,OLD_ENRICO_3_LENGTH,MAIL_ENRICO, GetWorldTotalMin() ); - AddEmail(IMP_EMAIL_INTRO,IMP_EMAIL_INTRO_LENGTH,CHAR_PROFILE_SITE, GetWorldTotalMin() ); + AddEmail(IMP_EMAIL_INTRO,IMP_EMAIL_INTRO_LENGTH,CHAR_PROFILE_SITE, GetWorldTotalMin(), -1); //AddEmail(ENRICO_CONGRATS,ENRICO_CONGRATS_LENGTH,MAIL_ENRICO, GetWorldTotalMin() ); if(gGameExternalOptions.fMercDayOne) { - AddEmail(MERC_INTRO, MERC_INTRO_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin( ) ); + AddEmail(MERC_INTRO, MERC_INTRO_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin( ), -1 ); } diff --git a/Strategic/Map Screen Interface Border.h b/Strategic/Map Screen Interface Border.h index f4ff1611..4d07c281 100644 --- a/Strategic/Map Screen Interface Border.h +++ b/Strategic/Map Screen Interface Border.h @@ -41,7 +41,6 @@ enum{ */ -// WANNE 2 #define MAP_LEVEL_MARKER_X (MAP_BORDER_X + ((SCREEN_WIDTH - MAP_BORDER_X) / 2 + 114)) //MAP_BORDER_X + MAP_BORDER_X_OFFSET + 384 //(SCREEN_WIDTH - 75) //565 #define MAP_LEVEL_MARKER_Y (SCREEN_HEIGHT - 160) //(SCREEN_HEIGHT - 157) //323 #define MAP_LEVEL_MARKER_DELTA 8 diff --git a/Strategic/Map Screen Interface Map Inventory.h b/Strategic/Map Screen Interface Map Inventory.h index 6d44eb36..a956032b 100644 --- a/Strategic/Map Screen Interface Map Inventory.h +++ b/Strategic/Map Screen Interface Map Inventory.h @@ -1,4 +1,3 @@ -// WANNE 2 #ifndef _MAP_INTERFACE_MAP_INVEN_H #define _MAP_INTERFACE_MAP_INVEN_H @@ -53,7 +52,6 @@ extern INT16 sObjectSourceGridNo; extern WORLDITEM *pInventoryPoolList; extern INT32 iCurrentInventoryPoolPage; extern BOOLEAN fMapInventoryItemCompatable[ ]; -// WANNE 2 extern INT32 MAP_INVENTORY_POOL_SLOT_COUNT; BOOLEAN IsMapScreenWorldItemInvisibleInMapInventory( WORLDITEM *pWorldItem ); diff --git a/Strategic/Map Screen Interface Map.h b/Strategic/Map Screen Interface Map.h index bd2a7d98..cd91f90d 100644 --- a/Strategic/Map Screen Interface Map.h +++ b/Strategic/Map Screen Interface Map.h @@ -1,4 +1,3 @@ -// WANNE 2 #ifndef _MAP_SCREEN_INTERFACE_MAP_H #define _MAP_SCREEN_INTERFACE_MAP_H @@ -156,19 +155,16 @@ enum { #define SOUTH_ZOOM_BOUND 324 #define NORTH_ZOOM_BOUND 36 -// WANNE 2 -// WANNE 2 (the starting top/left position of the background image +// WANNE: The starting top/left position of the background image #define MAP_BORDER_X 261 #define MAP_BORDER_Y 0 -// WANNE 2 -// WANNE 2 (the offset of the map border) +// WANNE: The offset of the map border #define MAP_BORDER_X_OFFSET (((SCREEN_WIDTH - 261) - 380) / 2) #define MAP_BORDER_Y_OFFSET (((SCREEN_HEIGHT - 121) - 360) / 2) -// WANNE 2 -// map view region +// WANNE: The map view region (map image pcx) #define MAP_VIEW_START_X (MAP_BORDER_X + MAP_BORDER_X_OFFSET + 9) #define MAP_VIEW_START_Y (MAP_BORDER_Y + MAP_BORDER_Y_OFFSET + 10) #define MAP_VIEW_WIDTH 336 diff --git a/Strategic/Map Screen Interface.cpp b/Strategic/Map Screen Interface.cpp index 4a15a627..12cf4b05 100644 --- a/Strategic/Map Screen Interface.cpp +++ b/Strategic/Map Screen Interface.cpp @@ -5613,7 +5613,7 @@ BOOLEAN HandleTimeCompressWithTeamJackedInAndGearedToGo( void ) SetUpShutDownMapScreenHelpTextScreenMask( ); // Add e-mail message - AddEmail(ENRICO_CONGRATS,ENRICO_CONGRATS_LENGTH,MAIL_ENRICO, GetWorldTotalMin() ); + AddEmail(ENRICO_CONGRATS,ENRICO_CONGRATS_LENGTH,MAIL_ENRICO, GetWorldTotalMin(), -1); return( TRUE ); diff --git a/Strategic/Player Command.cpp b/Strategic/Player Command.cpp index 337ba723..6fb9528c 100644 --- a/Strategic/Player Command.cpp +++ b/Strategic/Player Command.cpp @@ -142,7 +142,7 @@ BOOLEAN SetThisSectorAsPlayerControlled( INT16 sMapX, INT16 sMapY, INT8 bMapZ, B //If the player has been to Bobbyr when it was down, and we havent already sent email, send him an email if( LaptopSaveInfo.ubHaveBeenToBobbyRaysAtLeastOnceWhileUnderConstruction == BOBBYR_BEEN_TO_SITE_ONCE && LaptopSaveInfo.ubHaveBeenToBobbyRaysAtLeastOnceWhileUnderConstruction != BOBBYR_ALREADY_SENT_EMAIL ) { - AddEmail( BOBBYR_NOW_OPEN, BOBBYR_NOW_OPEN_LENGTH, BOBBY_R, GetWorldTotalMin()); + AddEmail( BOBBYR_NOW_OPEN, BOBBYR_NOW_OPEN_LENGTH, BOBBY_R, GetWorldTotalMin(), -1); LaptopSaveInfo.ubHaveBeenToBobbyRaysAtLeastOnceWhileUnderConstruction = BOBBYR_ALREADY_SENT_EMAIL; } } diff --git a/Strategic/Strategic Event Handler.cpp b/Strategic/Strategic Event Handler.cpp index dbd5e65a..2147e1e4 100644 --- a/Strategic/Strategic Event Handler.cpp +++ b/Strategic/Strategic Event Handler.cpp @@ -379,14 +379,14 @@ void BobbyRayPurchaseEventCallback( UINT8 ubOrderID ) if( !fThisShipmentIsFromJohnKulba ) { //Add an email from Bobby r telling the user the shipment 'Should' be there - AddEmail( BOBBYR_SHIPMENT_ARRIVED, BOBBYR_SHIPMENT_ARRIVED_LENGTH, BOBBY_R, GetWorldTotalMin() ); + AddEmail( BOBBYR_SHIPMENT_ARRIVED, BOBBYR_SHIPMENT_ARRIVED_LENGTH, BOBBY_R, GetWorldTotalMin(), -1 ); } else { //if the shipment is from John Kulba //Add an email from kulba telling the user the shipment is there - AddEmail( JOHN_KULBA_GIFT_IN_DRASSEN, JOHN_KULBA_GIFT_IN_DRASSEN_LENGTH, JOHN_KULBA, GetWorldTotalMin() ); + AddEmail( JOHN_KULBA_GIFT_IN_DRASSEN, JOHN_KULBA_GIFT_IN_DRASSEN_LENGTH, JOHN_KULBA, GetWorldTotalMin(), -1 ); } } @@ -661,7 +661,7 @@ void HandleNPCSystemEvent( UINT32 uiEvent ) { // KP knows money is gone, hasn't told player, if this event is called then the 2 // days are up... send email - AddEmail( KING_PIN_LETTER, KING_PIN_LETTER_LENGTH, KING_PIN, GetWorldTotalMin() ); + AddEmail( KING_PIN_LETTER, KING_PIN_LETTER_LENGTH, KING_PIN, GetWorldTotalMin(), -1 ); StartQuest( QUEST_KINGPIN_MONEY, 5, MAP_ROW_D ); // add event to send terrorists two days from now AddFutureDayStrategicEvent( EVENT_SET_BY_NPC_SYSTEM, Random( 120 ), FACT_KINGPIN_KNOWS_MONEY_GONE, 2 ); @@ -758,7 +758,7 @@ void HandleNPCSystemEvent( UINT32 uiEvent ) break; case NPC_ACTION_SEND_ENRICO_MIGUEL_EMAIL: - AddEmail( ENRICO_MIGUEL, ENRICO_MIGUEL_LENGTH, MAIL_ENRICO, GetWorldTotalMin() ); + AddEmail( ENRICO_MIGUEL, ENRICO_MIGUEL_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1 ); break; case NPC_ACTION_TIMER_FOR_VEHICLE: @@ -1185,5 +1185,5 @@ void DropOffItemsInMeduna( UINT8 ubOrderNum ) gpNewBobbyrShipments[ ubOrderNum ].fActive = FALSE; //Add an email from kulba telling the user the shipment is there - AddEmail( BOBBY_R_MEDUNA_SHIPMENT, BOBBY_R_MEDUNA_SHIPMENT_LENGTH, BOBBY_R, GetWorldTotalMin() ); + AddEmail( BOBBY_R_MEDUNA_SHIPMENT, BOBBY_R_MEDUNA_SHIPMENT_LENGTH, BOBBY_R, GetWorldTotalMin(), -1 ); } \ No newline at end of file diff --git a/Strategic/Strategic Merc Handler.cpp b/Strategic/Strategic Merc Handler.cpp index 7c641f0a..5d8f0dfd 100644 --- a/Strategic/Strategic Merc Handler.cpp +++ b/Strategic/Strategic Merc Handler.cpp @@ -442,7 +442,7 @@ void MercDailyUpdate() pProfile->ubMiscFlags3 &= ~PROFILE_MISC_FLAG3_PLAYER_LEFT_MSG_FOR_MERC_AT_AIM; // TO DO: send E-mail to player telling him the merc has returned from an assignment - AddEmail( ( UINT8 )( iOffset + ( cnt * AIM_REPLY_LENGTH_BARRY ) ), AIM_REPLY_LENGTH_BARRY, ( UINT8 )( 6 + cnt ), GetWorldTotalMin() ); + AddEmail( ( UINT8 )( iOffset + ( cnt * AIM_REPLY_LENGTH_BARRY ) ), AIM_REPLY_LENGTH_BARRY, ( UINT8 )( 6 + cnt ), GetWorldTotalMin(), -1 ); } } } diff --git a/Strategic/Strategic Status.cpp b/Strategic/Strategic Status.cpp index 15f605ff..e1bfc46e 100644 --- a/Strategic/Strategic Status.cpp +++ b/Strategic/Strategic Status.cpp @@ -205,7 +205,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()); + AddEmail(ENRICO_CREATURES, ENRICO_CREATURES_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1); gStrategicStatus.usEnricoEmailFlags |= ENRICO_EMAIL_SENT_CREATURES; return; // avoid any other E-mail at the same time } @@ -213,21 +213,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()); + AddEmail(ENRICO_PROG_20, ENRICO_PROG_20_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1); 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()); + AddEmail(ENRICO_PROG_55, ENRICO_PROG_55_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1); 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()); + AddEmail(ENRICO_PROG_80, ENRICO_PROG_80_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1); gStrategicStatus.usEnricoEmailFlags |= ENRICO_EMAIL_SENT_NEARLY_DONE; return; // avoid any setback E-mail at the same time } @@ -237,7 +237,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()); + AddEmail(ENRICO_SETBACK, ENRICO_SETBACK_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1); gStrategicStatus.usEnricoEmailFlags |= ENRICO_EMAIL_SENT_MAJOR_SETBACK; } else @@ -245,7 +245,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()); + AddEmail(ENRICO_SETBACK_2, ENRICO_SETBACK_2_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1); gStrategicStatus.usEnricoEmailFlags |= ENRICO_EMAIL_SENT_MINOR_SETBACK; } else @@ -308,15 +308,15 @@ void HandleEnricoEmail(void) switch( bComplaint ) { case 3: - AddEmail(LACK_PLAYER_PROGRESS_3, LACK_PLAYER_PROGRESS_3_LENGTH, MAIL_ENRICO, GetWorldTotalMin()); + AddEmail(LACK_PLAYER_PROGRESS_3, LACK_PLAYER_PROGRESS_3_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1); gStrategicStatus.usEnricoEmailFlags |= ENRICO_EMAIL_SENT_LACK_PROGRESS3; break; case 2: - AddEmail(LACK_PLAYER_PROGRESS_2, LACK_PLAYER_PROGRESS_2_LENGTH, MAIL_ENRICO, GetWorldTotalMin()); + AddEmail(LACK_PLAYER_PROGRESS_2, LACK_PLAYER_PROGRESS_2_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1); gStrategicStatus.usEnricoEmailFlags |= ENRICO_EMAIL_SENT_LACK_PROGRESS2; break; default: - AddEmail(LACK_PLAYER_PROGRESS_1, LACK_PLAYER_PROGRESS_1_LENGTH, MAIL_ENRICO, GetWorldTotalMin()); + AddEmail(LACK_PLAYER_PROGRESS_1, LACK_PLAYER_PROGRESS_1_LENGTH, MAIL_ENRICO, GetWorldTotalMin(), -1); gStrategicStatus.usEnricoEmailFlags |= ENRICO_EMAIL_SENT_LACK_PROGRESS1; break; diff --git a/Tactical/Campaign.cpp b/Tactical/Campaign.cpp index 9ea13a22..3c698532 100644 --- a/Tactical/Campaign.cpp +++ b/Tactical/Campaign.cpp @@ -1573,5 +1573,5 @@ void MERCMercWentUpALevelSendEmail( UINT8 ubMercMercIdValue ) UINT8 ubEmailOffset = 0; ubEmailOffset = MERC_UP_LEVEL_BIFF + MERC_UP_LEVEL_LENGTH_BIFF * ( ubMercMercIdValue ); - AddEmail( ubEmailOffset, MERC_UP_LEVEL_LENGTH_BIFF, SPECK_FROM_MERC, GetWorldTotalMin() ); + AddEmail( ubEmailOffset, MERC_UP_LEVEL_LENGTH_BIFF, SPECK_FROM_MERC, GetWorldTotalMin(), -1); } \ No newline at end of file diff --git a/Tactical/XML.h b/Tactical/XML.h index 2d729dda..f2c87253 100644 --- a/Tactical/XML.h +++ b/Tactical/XML.h @@ -17,11 +17,9 @@ typedef PARSE_STAGE; #define TABLEDATA_DIRECTORY "TableData\\" -// WANNE: Removed the prefix, because it does not work correct. #define GERMAN_PREFIX "German." #define RUSSIAN_PREFIX "Russian." - #define ATTACHMENTSFILENAME "Attachments.xml" #define ATTACHMENTINFOFILENAME "AttachmentInfo.xml" #define ITEMSFILENAME "Items.xml" diff --git a/TileEngine/Radar Screen.h b/TileEngine/Radar Screen.h index f0f64cb3..a6392d64 100644 --- a/TileEngine/Radar Screen.h +++ b/TileEngine/Radar Screen.h @@ -1,4 +1,3 @@ -// WANNE 2 #ifndef __RADAR_SCREEN_H #define __RADAR_SCREEN_H @@ -10,7 +9,6 @@ void RadarRegionButtonCallback( MOUSE_REGION * pRegion, INT32 iReason ); BOOLEAN LoadRadarScreenBitmap( CHAR8 * aFilename ); -// WANNE 2 // RADAR WINDOW DEFINES #define RADAR_WINDOW_X (SCREEN_WIDTH - 97) //543 #define RADAR_WINDOW_TM_Y INTERFACE_START_Y + 13 diff --git a/Utils/Text.h b/Utils/Text.h index 555b3395..abc2ec36 100644 --- a/Utils/Text.h +++ b/Utils/Text.h @@ -566,7 +566,7 @@ enum }; extern STR16 MercAccountText[]; -// WANNE 3 +// WANNE: The "Next" and "Prev" button text of the merc account page extern STR16 MercAccountPageText[]; diff --git a/Utils/_EnglishText.cpp b/Utils/_EnglishText.cpp index cea7ae4b..800a756e 100644 --- a/Utils/_EnglishText.cpp +++ b/Utils/_EnglishText.cpp @@ -2582,7 +2582,7 @@ STR16 MercAccountText[] = L"Are you sure you want to authorize the payment of %s?", //the %s is a string that contains the dollar amount ( ex. "$150" ) }; -// WANNE 3 +// WANNE: // Merc Account Page buttons STR16 MercAccountPageText[] = { diff --git a/Utils/_FrenchText.cpp b/Utils/_FrenchText.cpp index e6bbaebd..27ab5954 100644 --- a/Utils/_FrenchText.cpp +++ b/Utils/_FrenchText.cpp @@ -2570,7 +2570,7 @@ STR16 MercAccountText[] = L"Désirez-vous autoriser le versement de %s ?", //the %s is a string that contains the dollar amount ( ex. "$150" ) }; -// WANNE 3 +// WANNE: // Merc Account Page buttons STR16 MercAccountPageText[] = { diff --git a/Utils/_GermanText.cpp b/Utils/_GermanText.cpp index 9420e8e4..b24ebd5e 100644 --- a/Utils/_GermanText.cpp +++ b/Utils/_GermanText.cpp @@ -2470,7 +2470,7 @@ STR16 MercAccountText[] = L"Zahlung von %s wirklich genehmigen?", //the %s is a string that contains the dollar amount ( ex. "$150" ) }; -// WANNE 3 +// WANNE: // Merc Account Page buttons STR16 MercAccountPageText[] = { diff --git a/Utils/_ItalianText.cpp b/Utils/_ItalianText.cpp index 60ef8d51..39f67bcb 100644 --- a/Utils/_ItalianText.cpp +++ b/Utils/_ItalianText.cpp @@ -2564,7 +2564,7 @@ STR16 MercAccountText[] = L"Conferma il pagamento di %s?", //the %s is a string that contains the dollar amount ( ex. "$150" ) }; -// WANNE 3 +// WANNE: // Merc Account Page buttons STR16 MercAccountPageText[] = { diff --git a/Utils/_PolishText.cpp b/Utils/_PolishText.cpp index 3b1e692f..02a217f6 100644 --- a/Utils/_PolishText.cpp +++ b/Utils/_PolishText.cpp @@ -2565,7 +2565,7 @@ STR16 MercAccountText[] = L"Czy na pewno chcesz zatwierdziæ p³atnoœæ: %s?", //the %s is a string that contains the dollar amount ( ex. "$150" ) }; -// WANNE 3 +// WANNE: // Merc Account Page buttons STR16 MercAccountPageText[] = { diff --git a/Utils/_RussianText.cpp b/Utils/_RussianText.cpp index 7518515e..460bae7f 100644 --- a/Utils/_RussianText.cpp +++ b/Utils/_RussianText.cpp @@ -2573,7 +2573,7 @@ STR16 MercAccountText[] = L"Âû óâåðåíû, ÷òî õîòèòå ïîäòâåðäèòü âûïëàòó %s?", //the %s is a string that contains the dollar amount ( ex. "$150" ) }; -// WANNE 3 +// WANNE: // Merc Account Page buttons STR16 MercAccountPageText[] = { diff --git a/local.h b/local.h index 65d32f79..d92dc5f4 100644 --- a/local.h +++ b/local.h @@ -1,4 +1,3 @@ -// WANNE 2 #ifndef __LOCAL_DEFINES_ #define __LOCAL_DEFINES_ @@ -33,7 +32,6 @@ extern int iResolution; // Resolution id from the ini file extern int iScreenWidthOffset; extern int iScreenHeightOffset; -// WANNE 2 extern BOOLEAN fDisplayOverheadMap; #define PIXEL_DEPTH 16