mirror of
https://github.com/1dot13/source.git
synced 2026-09-09 14:46:05 +02:00
MERGED source code from development trunk revision 4545 up to latest current revision 4882
Development Trunk: https://ja2svn.dyndns.org/source/ja2/branches/Wanne/JA2%201.13%20MP A detailed list of all the features (changes) is visible in the history log of the development trunk: INFO: The source code for the official 2011 release (4870) has been branched here: https://ja2svn.dyndns.org/source/ja2/branches/JA2_rev.4870_2011 This commit contains the following features: *** Externalized Vehicles *** o Now with this feature we can add/remove vehicles o New XML File: TableData\Vehicles.xml o Added a new function parameter to lua file Scripts\Overhead lua to set up the helicopter in method: SetUpHelicopterForPlayer() o Added example mini (Docs\Externalized Vehicles Example.zip) mod which adds 2 additional vehicles (hummer and ice-cream truck to sector A9) *** Up to 255 save slots *** - There is a "Next" and "Prev" button where you can scroll through the save slots - It is now possible to load the automatic save (SAVE_EVERY_N_HOURS) from the load screen. This is the first slot after the quickload slot - Added the 2 alternate players end turn saves (which can be enabled/disabled in option screen) to the save/load game form *** New Feature: Externalized emails from Emails.edt to XML*** o This feature can be enabled/disabled in the Source: --> See email.cpp: If "ReadXMLEmail" == FALSE, then normal way (read from Email.edt) otherwise read from XML files o 2 new XML files: TableData\Email\EmailMercAvailable.xml and EmailMercLevelUp.xml o Renamed SenderNamesList.xml to EmailSenderNamesList.xml and moved from TableData folder to TableData\Email folder o Names for mercenaries are get from the file MercProfiles.xml and different names get from the file EmailSenderNamesList.xml *** Externalized Hidden Towns (Tixa, Orta) *** o Now it is possible to add new hidden towns (locations) o See file: TableData/Map/Cities.xml o New variable in TableData/Map/Cities.xml - hiddenTown: 0 = show on strategy map, 1 = Hide on strategy map - townIcon: 1 = on, 0 = off (This is the icon you see on the strategy map) - szIconFile: The path to the sti icon file (eg: interface\prison.sti, interface\my_icon.sti) - iconPosition: The x,y position of the icon on the strategy map *** Encyclopedia and Briefing Room, reachable from the laptop *** o 2 new ja2_options.ini properties: BRIEFING_ROOM, ENCYCLOPEDIA o demonstration video: http://www.youtube.com/watch?v=7CIXdXWLrAo o Added Example usage of the Briefing Room - Extract it in your JA2 1.13 folder and use the latest development executable - The briefing room can be reached from the laptop. Enter SN5631 for the code and then click the "Exit" button - See "Info_BriefingRoom.txt" and "BriefingRoom_Mission1.png" *** Improved interrupt system (IIS) *** o This system changes the way interrupts work. See: http://www.ja-galaxy-forum.com/board/ubbthreads.php?ubb=showflat&Number=290787#Post290787 o Option system (see ja2_options.ini: IMPROVED_INTERRUPT_SYSTEM) o A few more settings for the interrupt system in ja2_options.ini o INFO: Multiplayer games always use the "old" interrupt system, not matter what the user selects in the ja2_options.ini *** Walking and sidestepping with weapon raised *** o Enable/disable the walking/sidestepping with raised weapon in ja2_options.ini: ALLOW_WALKING_WITH_WEAPON_RAISED o You can set an AP/BP modifier when walking/sidestepping with weapon raised in APBPConstants.ini: AP_MODIFIER_WEAPON_READY o The following feature apply when you walk/sidestep with weapon raised: -> limited angle of view, but you can see more farther when the weapon has a scope -> better change for interrupts if you see an enemy -> less APs and BPs when shooting, because the weapon is already raised -> It should cost more APs when walking. Maybe you can export the additional AP and BP modifier to the APBPConstants.ini *** Increase squad size to 8 (800x600) and 8 and 10 (1024x768) *** o Squad sizes (dependend on the screen resolution) can be selected in the start new game screen o In a multiplayer game, the squad size will always be 6, because it does not work with more soldiers/squad *** Added UB-1.13 source code *** o Merged the UB-1.13 source code (Revision: 4721) from svn: http://subversion.assembla.com/svn/ub-source113 o If you want to build UB-EXE or UB-MapEditor, just enable the 2 defines (JA2UB and JA2UBMAPS) in "builddefines.h" o The UB-Verion reads from "ja2_UB.ini" instead of "ja2.ini" o There are 2 new XML files - Layout\LayoutMainMenu.xml - MapAction\ActionItems.xml o There are 2 new LUA-Script files - Scripts\ExplosionControl.lua - Scripts\InterfaceDialogue.lua *** Hide enemy health text / enemy hit count *** o ja2_options.ini: HIDE_ENEMY_HEALTH_TEXT, HIDE_ENEMY_HIT_COUNT o both new settings only have effect in a singleplayer game o see: http://www.ja-galaxy-forum.com/board/ubbthreads.php?ubb=showflat&Number=128840&page=1 git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@4885 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+353
-6
@@ -2,12 +2,231 @@
|
||||
#define __EMAIL_H
|
||||
|
||||
#include "types.h"
|
||||
#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
|
||||
|
||||
//---ja25 ub
|
||||
#ifdef JA2UB
|
||||
|
||||
#define EMAIL_INSURANCE_L1 170
|
||||
#define EMAIL_INSURANCE_L2 211
|
||||
#define EMAIL_INSURANCE_L3 170
|
||||
#define EMAIL_INSURANCE_L4 173
|
||||
#define EMAIL_INSURANCE_L5 179
|
||||
#define EMAIL_INSURANCE_L6 176
|
||||
|
||||
#define EMAIL_BOBBY_R_L1 198
|
||||
|
||||
#define EMAIL_AIM_L1 206
|
||||
#define EMAIL_AIM_L2 27
|
||||
#define EMAIL_AIM_L3 217
|
||||
#define EMAIL_AIM_L4 214
|
||||
|
||||
|
||||
|
||||
//JA25: New emails
|
||||
// email # 1
|
||||
#define EMAIL_STARTGAME 0
|
||||
#define EMAIL_STARTGAME_LENGTH 8
|
||||
// email # 2
|
||||
#define EMAIL_PILOTMISSING (EMAIL_STARTGAME + EMAIL_STARTGAME_LENGTH)
|
||||
#define EMAIL_PILOTMISSING_LENGTH 2
|
||||
|
||||
// email # 3
|
||||
#define EMAIL_MAKECONTACT (EMAIL_PILOTMISSING + EMAIL_PILOTMISSING_LENGTH)
|
||||
#define EMAIL_MAKECONTACT_LENGTH 3
|
||||
|
||||
// email # 4
|
||||
#define EMAIL_MANUEL (EMAIL_MAKECONTACT + EMAIL_MAKECONTACT_LENGTH)
|
||||
#define EMAIL_MANUEL_LENGTH 4
|
||||
|
||||
// # email # 5 - only if Miguel is alive!
|
||||
#define EMAIL_MIGUELHELLO (EMAIL_MANUEL + EMAIL_MANUEL_LENGTH)
|
||||
#define EMAIL_MIGUELHELLO_LENGTH 3
|
||||
|
||||
// email # 6 - player not advancing fast enough
|
||||
#define EMAIL_CONCERNED (EMAIL_MIGUELHELLO + EMAIL_MIGUELHELLO_LENGTH)
|
||||
#define EMAIL_CONCERNED_LENGTH 2
|
||||
|
||||
// email # 7 - player still not advancing fast enough
|
||||
#define EMAIL_URGENT (EMAIL_CONCERNED + EMAIL_CONCERNED_LENGTH)
|
||||
#define EMAIL_URGENT_LENGTH 3
|
||||
|
||||
// email # 8a - from Miguel
|
||||
#define EMAIL_MIGUELSORRY (EMAIL_URGENT + EMAIL_URGENT_LENGTH)
|
||||
#define EMAIL_MIGUELSORRY_LENGTH 3
|
||||
|
||||
// email # 8b - from Miguel, mentioning Manuel
|
||||
#define EMAIL_MIGUELMANUEL (EMAIL_MIGUELSORRY + EMAIL_MIGUELSORRY_LENGTH)
|
||||
#define EMAIL_MIGUELMANUEL_LENGTH 4
|
||||
|
||||
// email # 9 - Miguel sick
|
||||
#define EMAIL_MIGUELSICK (EMAIL_MIGUELMANUEL + EMAIL_MIGUELMANUEL_LENGTH)
|
||||
#define EMAIL_MIGUELSICK_LENGTH 3
|
||||
|
||||
// email # 10a
|
||||
#define EMAIL_UNDERSTANDING (EMAIL_MIGUELSICK + EMAIL_MIGUELSICK_LENGTH)
|
||||
#define EMAIL_UNDERSTANDING_LENGTH 3
|
||||
|
||||
// email # 10b - if we need extra cash
|
||||
#define EMAIL_EXTRACASH (EMAIL_UNDERSTANDING + EMAIL_UNDERSTANDING_LENGTH)
|
||||
#define EMAIL_EXTRACASH_LENGTH 4
|
||||
|
||||
// email # 11
|
||||
#define EMAIL_PILOTFOUND (EMAIL_EXTRACASH + EMAIL_EXTRACASH_LENGTH)
|
||||
#define EMAIL_PILOTFOUND_LENGTH 2
|
||||
|
||||
// email # 12a - Miguel dead, Manuel never recruited
|
||||
#define EMAIL_CONGRATS (EMAIL_PILOTFOUND + EMAIL_PILOTFOUND_LENGTH)
|
||||
#define EMAIL_CONGRATS_LENGTH 4
|
||||
|
||||
// email # 12b - Miguel alive, Manuel never recruited
|
||||
#define EMAIL_CONGRATSICK (EMAIL_CONGRATS + EMAIL_CONGRATS_LENGTH)
|
||||
#define EMAIL_CONGRATSICK_LENGTH 5
|
||||
|
||||
// email # 12c - Miguel alive, Manuel dead
|
||||
#define EMAIL_CONGRATMIGMANUELDEAD (EMAIL_CONGRATSICK + EMAIL_CONGRATSICK_LENGTH)
|
||||
#define EMAIL_CONGRATMIGMANUELDEAD_LENGTH 6
|
||||
|
||||
// email # 12d - Miguel alive, Manuel recruited and alive
|
||||
#define EMAIL_CONGRATMIGMANUELALIVE (EMAIL_CONGRATMIGMANUELDEAD + EMAIL_CONGRATMIGMANUELDEAD_LENGTH)
|
||||
#define EMAIL_CONGRATMIGMANUELALIVE_LENGTH 6
|
||||
|
||||
// email # 12e - Miguel dead, Manuel dead
|
||||
#define EMAIL_CONGRATMANUELDEAD (EMAIL_CONGRATMIGMANUELALIVE + EMAIL_CONGRATMIGMANUELALIVE_LENGTH)
|
||||
#define EMAIL_CONGRATMANUELDEAD_LENGTH 5
|
||||
|
||||
// email # 12f - Miguel dead, Manuel recruited and alive
|
||||
#define EMAIL_CONGRATMANUELALIVE (EMAIL_CONGRATMANUELDEAD + EMAIL_CONGRATMANUELDEAD_LENGTH)
|
||||
#define EMAIL_CONGRATMANUELALIVE_LENGTH 5
|
||||
|
||||
// email # 13 - original AIM email
|
||||
#define EMAIL_AIMDISCOUNT (EMAIL_CONGRATMANUELALIVE + EMAIL_CONGRATMANUELALIVE_LENGTH)
|
||||
#define EMAIL_AIMDISCOUNT_LENGTH 7
|
||||
|
||||
#define MANUEL_AT_HOME_NOT_USED ( EMAIL_AIMDISCOUNT + EMAIL_AIMDISCOUNT_LENGTH )
|
||||
#define MANUEL_AT_HOME_NOT_USED_LENGTH 1
|
||||
|
||||
//Email #14 Initial IMP email
|
||||
#define IMP_EMAIL_INTRO (MANUEL_AT_HOME_NOT_USED + MANUEL_AT_HOME_NOT_USED_LENGTH )
|
||||
#define IMP_EMAIL_INTRO_LENGTH 10
|
||||
|
||||
//Email #15 Imp follow up
|
||||
#define IMP_EMAIL_AGAIN (IMP_EMAIL_INTRO + IMP_EMAIL_INTRO_LENGTH)
|
||||
#define IMP_EMAIL_AGAIN_LENGTH 5
|
||||
|
||||
|
||||
|
||||
// Email #16 - ?? merc left-me-a-message-and-now-I'm-back emails
|
||||
#define AIM_REPLY_BARRY ( IMP_EMAIL_AGAIN + IMP_EMAIL_AGAIN_LENGTH )
|
||||
#define AIM_REPLY_LENGTH_BARRY 2
|
||||
|
||||
#define AIM_REPLY_MELTDOWN (AIM_REPLY_BARRY + ( 39 * AIM_REPLY_LENGTH_BARRY ))
|
||||
#define AIM_REPLY_LENGTH_MELTDOWN AIM_REPLY_LENGTH_BARRY
|
||||
|
||||
|
||||
#define AIM_REFUND ( AIM_REPLY_MELTDOWN + AIM_REPLY_LENGTH_MELTDOWN )
|
||||
#define AIM_REFUND_LENGTH 3
|
||||
|
||||
#define MERC_REFUND ( AIM_REFUND + AIM_REFUND_LENGTH )
|
||||
#define MERC_REFUND_LENGTH 3
|
||||
|
||||
|
||||
|
||||
#define EMAIL_AIM_PROMOTION_1 ( MERC_REFUND + MERC_REFUND_LENGTH )
|
||||
#define EMAIL_AIM_PROMOTION_1_LENGTH 4
|
||||
|
||||
#define EMAIL_MERC_PROMOTION_1 ( EMAIL_AIM_PROMOTION_1 + EMAIL_AIM_PROMOTION_1_LENGTH )
|
||||
#define EMAIL_MERC_PROMOTION_1_LENGTH 5
|
||||
|
||||
#define EMAIL_AIM_PROMOTION_2 ( EMAIL_MERC_PROMOTION_1 + EMAIL_MERC_PROMOTION_1_LENGTH )
|
||||
#define EMAIL_AIM_PROMOTION_2_LENGTH 5
|
||||
|
||||
|
||||
#define IMP_EMAIL_PROFILE_RESULTS ( EMAIL_AIM_PROMOTION_2 + EMAIL_AIM_PROMOTION_2_LENGTH )
|
||||
#define IMP_EMAIL_PROFILE_RESULTS_LENGTH 1
|
||||
|
||||
#define IMP_EMAIL_INTRO2 0
|
||||
#define IMP_EMAIL_INTRO_LENGTH2 10
|
||||
#define ENRICO_CONGRATS2 (IMP_EMAIL_INTRO2 + IMP_EMAIL_INTRO_LENGTH2)
|
||||
#define ENRICO_CONGRATS_LENGTH2 3
|
||||
#define IMP_EMAIL_AGAIN2 (ENRICO_CONGRATS2 + ENRICO_CONGRATS_LENGTH2)
|
||||
#define IMP_EMAIL_AGAIN_LENGTH2 6
|
||||
#define MERC_INTRO2 (IMP_EMAIL_AGAIN2 + IMP_EMAIL_AGAIN_LENGTH2)
|
||||
#define MERC_INTRO_LENGTH2 5
|
||||
#define MERC_NEW_SITE_ADDRESS2 ( MERC_INTRO2 + MERC_INTRO_LENGTH2 )
|
||||
#define MERC_NEW_SITE_ADDRESS_LENGTH2 2
|
||||
#define AIM_MEDICAL_DEPOSIT_REFUND2 ( MERC_NEW_SITE_ADDRESS2 + MERC_NEW_SITE_ADDRESS_LENGTH2 )
|
||||
#define AIM_MEDICAL_DEPOSIT_REFUND_LENGTH2 3
|
||||
#define IMP_EMAIL_PROFILE_RESULTS2 ( AIM_MEDICAL_DEPOSIT_REFUND2 + AIM_MEDICAL_DEPOSIT_REFUND_LENGTH2 )
|
||||
#define IMP_EMAIL_PROFILE_RESULTS_LENGTH2 1
|
||||
#define MERC_WARNING2 ( IMP_EMAIL_PROFILE_RESULTS_LENGTH2 + IMP_EMAIL_PROFILE_RESULTS2 )
|
||||
#define MERC_WARNING_LENGTH2 2
|
||||
#define MERC_INVALID2 ( MERC_WARNING2 + MERC_WARNING_LENGTH2 )
|
||||
#define MERC_INVALID_LENGTH2 2
|
||||
#define NEW_MERCS_AT_MERC ( MERC_INVALID2 + MERC_INVALID_LENGTH2 )
|
||||
#define NEW_MERCS_AT_MERC_LENGTH 2
|
||||
|
||||
//Jagged Alliance 2
|
||||
|
||||
// insurance company emails
|
||||
#define INSUR_PAYMENT 200
|
||||
#define INSUR_PAYMENT_LENGTH 3
|
||||
#define INSUR_SUSPIC 201
|
||||
#define INSUR_SUSPIC_LENGTH 3
|
||||
#define INSUR_INVEST_OVER 202
|
||||
#define INSUR_INVEST_OVER_LENGTH 3
|
||||
#define INSUR_SUSPIC_2 203
|
||||
#define INSUR_SUSPIC_2_LENGTH 3
|
||||
|
||||
#define BOBBYR_NOW_OPEN 204
|
||||
#define BOBBYR_NOW_OPEN_LENGTH 3
|
||||
|
||||
#define KING_PIN_LETTER 205
|
||||
#define KING_PIN_LETTER_LENGTH 4
|
||||
|
||||
#define LACK_PLAYER_PROGRESS_1 206
|
||||
#define LACK_PLAYER_PROGRESS_1_LENGTH 3
|
||||
|
||||
#define LACK_PLAYER_PROGRESS_2 207
|
||||
#define LACK_PLAYER_PROGRESS_2_LENGTH 3
|
||||
|
||||
#define LACK_PLAYER_PROGRESS_3 208
|
||||
#define LACK_PLAYER_PROGRESS_3_LENGTH 3
|
||||
|
||||
//A package from bobby r has arrived in Drassen
|
||||
#define BOBBYR_SHIPMENT_ARRIVED 199
|
||||
#define BOBBYR_SHIPMENT_ARRIVED_LENGTH 4
|
||||
|
||||
// John Kulba has left the gifts for theplayers in drassen
|
||||
#define JOHN_KULBA_GIFT_IN_DRASSEN 209
|
||||
#define JOHN_KULBA_GIFT_IN_DRASSEN_LENGTH 4
|
||||
|
||||
//when a merc dies on ANOTHER assignment ( ie not with the player )
|
||||
#define MERC_DIED_ON_OTHER_ASSIGNMENT 210
|
||||
#define MERC_DIED_ON_OTHER_ASSIGNMENT_LENGTH 5
|
||||
|
||||
#define INSUR_1HOUR_FRAUD 211
|
||||
#define INSUR_1HOUR_FRAUD_LENGTH 3
|
||||
|
||||
//when a merc is fired, and is injured
|
||||
#define AIM_MEDICAL_DEPOSIT_PARTIAL_REFUND 212
|
||||
#define AIM_MEDICAL_DEPOSIT_PARTIAL_REFUND_LENGTH 3
|
||||
|
||||
//when a merc is fired, and is dead
|
||||
#define AIM_MEDICAL_DEPOSIT_NO_REFUND 213
|
||||
#define AIM_MEDICAL_DEPOSIT_NO_REFUND_LENGTH 3
|
||||
|
||||
#define BOBBY_R_MEDUNA_SHIPMENT 214
|
||||
#define BOBBY_R_MEDUNA_SHIPMENT_LENGTH 4
|
||||
|
||||
#define AIM_MEDICAL_DEPOSIT_REFUND 215
|
||||
#define AIM_MEDICAL_DEPOSIT_REFUND_LENGTH 3
|
||||
|
||||
#else
|
||||
#define IMP_EMAIL_INTRO 0
|
||||
#define IMP_EMAIL_INTRO_LENGTH 10
|
||||
#define ENRICO_CONGRATS (IMP_EMAIL_INTRO + IMP_EMAIL_INTRO_LENGTH)
|
||||
@@ -133,7 +352,7 @@
|
||||
|
||||
#define BOBBY_R_MEDUNA_SHIPMENT ( AIM_MEDICAL_DEPOSIT_NO_REFUND + AIM_MEDICAL_DEPOSIT_NO_REFUND_LENGTH )
|
||||
#define BOBBY_R_MEDUNA_SHIPMENT_LENGTH 4
|
||||
|
||||
#endif
|
||||
// WANNE: New 1.13 MERC merc mail text for level up that Speck sends
|
||||
//#define MERC_UP_LEVEL_GASTON (BOBBY_R_MEDUNA_SHIPMENT + BOBBY_R_MEDUNA_SHIPMENT_LENGTH)
|
||||
//#define MERC_UP_LEVEL_GASTON_LENGTH 2
|
||||
@@ -181,6 +400,10 @@ struct email
|
||||
// WANNE: A reference to the IMP position in the gMercProfiles array.
|
||||
// So we know which analyse email belongs to the imp
|
||||
INT32 iCurrentIMPPosition;
|
||||
|
||||
UINT8 EmailVersion;
|
||||
|
||||
UINT32 EmailType;
|
||||
|
||||
// WANNE.MAIL: Fix
|
||||
INT16 iCurrentShipmentDestinationID;
|
||||
@@ -269,6 +492,9 @@ enum {
|
||||
KING_PIN,
|
||||
JOHN_KULBA,
|
||||
AIM_SITE,
|
||||
#ifdef JA2UB
|
||||
MAIL_MIGUEL,
|
||||
#endif
|
||||
};
|
||||
|
||||
// the length of the subject in char
|
||||
@@ -300,16 +526,16 @@ 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 );
|
||||
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 RemoveEmailMessage(INT32 iId);
|
||||
EmailPtr GetEmailMessage(INT32 iId);
|
||||
void LookForUnread();
|
||||
void AddEmail(INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, INT32 iDate, INT32 iCurrentIMPPosition, INT16 iCurrentShipmentDestinationID);
|
||||
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);
|
||||
void AddEmailWFMercAvailable(INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, INT32 iDate, INT32 iCurrentIMPPosition, UINT8 EmailType);
|
||||
|
||||
void AddPreReadEmail(INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, INT32 iDate);
|
||||
void AddPreReadEmail(INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, INT32 iDate, UINT8 EmailType );
|
||||
BOOLEAN DisplayNewMailBox();
|
||||
void CreateDestroyNewMailButton();
|
||||
void CreateDestroyDeleteNoticeMailButton();
|
||||
@@ -319,12 +545,133 @@ 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 );
|
||||
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 uiIndex;
|
||||
CHAR16 szMessage[MAIL_STRING_SIZE];
|
||||
CHAR16 szSubject[EMAIL_SUBJECT_LENGTH];
|
||||
|
||||
} EMAIL_MERC_AVAILABLE_VALUES;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT8 uiIndex;
|
||||
CHAR16 szMessage[MAIL_STRING_SIZE];
|
||||
CHAR16 szSubject[EMAIL_SUBJECT_LENGTH];
|
||||
|
||||
} EMAIL_MERC_LEVEL_UP_VALUES;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT8 uiIndex;
|
||||
CHAR16 szMessage[MAIL_STRING_SIZE];
|
||||
CHAR16 szSubject[EMAIL_SUBJECT_LENGTH];
|
||||
|
||||
} EMAIL_MERC_INSURANCE_VALUES;
|
||||
|
||||
#define EMAIL_INDEX 500
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT8 uiIndex;
|
||||
CHAR16 szMessage[MAIL_STRING_SIZE][30];
|
||||
CHAR16 szSubject[EMAIL_SUBJECT_LENGTH];
|
||||
} EMAIL_OTHER_VALUES;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT8 uiIndex;
|
||||
UINT32 EmailType;
|
||||
UINT8 EmailVersion;
|
||||
|
||||
} EMAIL_TYPE;
|
||||
|
||||
#define EMAIL_VAL 4000
|
||||
|
||||
extern EMAIL_TYPE gEmailT[EMAIL_VAL];
|
||||
|
||||
enum {
|
||||
//------------------------------
|
||||
//Read Email.edt
|
||||
// read message from Email.edt
|
||||
TYPE_EMAIL_EMAIL_EDT = 0,
|
||||
// read message from Email.edt and nickname (sender) read from MercProfiles.xml
|
||||
TYPE_EMAIL_EMAIL_EDT_NAME_MERC,
|
||||
|
||||
//-------------------------------
|
||||
//Read *.xml
|
||||
//Read message from Email\EmailMercAvailable.xml.XML and nickname (sender) read from MercProfiles.xml
|
||||
TYPE_EMAIL_AIM_AVAILABLE,
|
||||
//Read message from Email\EmailMercLevelUp.xml.XML and nickname (sender) read from MercProfiles.xml
|
||||
TYPE_EMAIL_MERC_LEVEL_UP,
|
||||
|
||||
//Read from others *.XMLs
|
||||
TYPE_EMAIL_BOBBY_R,
|
||||
|
||||
//Read from JA2 Email.edt
|
||||
TYPE_EMAIL_BOBBY_R_EMAIL_JA2_EDT,
|
||||
TYPE_EMAIL_INSURANCE_COMPANY_EMAIL_JA2_EDT,
|
||||
TYPE_EMAIL_DEAD_MERC_AIM_SITE_EMAIL_JA2_EDT,
|
||||
|
||||
//Read from others *.XMLs
|
||||
TYPE_EMAIL_ENRICO,
|
||||
TYPE_EMAIL_CHAR_PROFILE_SITE,
|
||||
TYPE_EMAIL_GAME_HELP,
|
||||
TYPE_EMAIL_IMP_PROFILE_RESULTS,
|
||||
TYPE_EMAIL_SPECK_FROM_MERC,
|
||||
TYPE_EMAIL_RIS_EMAIL,
|
||||
TYPE_EMAIL_INSURANCE_COMPANY,
|
||||
TYPE_EMAIL_KING_PIN,
|
||||
TYPE_EMAIL_JOHN_KULBA,
|
||||
TYPE_EMAIL_AIM_SITE,
|
||||
|
||||
TYPE_EMAIL_OTHER,
|
||||
};
|
||||
|
||||
enum {
|
||||
|
||||
TYPE_E_NONE = 0,
|
||||
|
||||
TYPE_E_AIM_L1 = 1, //206
|
||||
TYPE_E_AIM_L2 = 2, //27
|
||||
TYPE_E_AIM_L3 = 3, //217
|
||||
TYPE_E_AIM_L4 = 4, //214
|
||||
|
||||
TYPE_E_INSURANCE_L1 = 5, //170
|
||||
TYPE_E_INSURANCE_L2 = 6, //211
|
||||
TYPE_E_INSURANCE_L3 = 7, //170
|
||||
TYPE_E_INSURANCE_L4 = 8, //173
|
||||
TYPE_E_INSURANCE_L5 = 9, //179
|
||||
TYPE_E_INSURANCE_L6 = 10, //176
|
||||
|
||||
TYPE_EMAIL_BOBBY_R_L1 = 11,
|
||||
};
|
||||
|
||||
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 EmailType );
|
||||
extern BOOLEAN SaveNewEmailDataToSaveGameFile( HWFILE hFile );
|
||||
extern BOOLEAN LoadNewEmailDataFromLoadGameFile( HWFILE hFile );
|
||||
|
||||
#ifdef JA2UB
|
||||
extern void AddBobbyREmailJA2(INT32 iMessageOffset, INT32 iMessageLength, UINT8 ubSender, INT32 iDate, INT32 iCurrentIMPPosition, INT16 iCurrentShipmentDestinationID, UINT8 EmailType );
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user