**********************************************************

** Big Maps Projects code (incl. Multiplayer v1.5 **
**********************************************************
- Merged Big Maps Project code from BMP+MP trunk (Revision: 3340)
o Complete SVN Revision history: https://81.169.133.124/source/ja2/branches/Wanne/JA2%201.13%20MP
- Before THIS merge, I made a branch of the existing 1.13 source
o SVN Branch: https://81.169.133.124/source/ja2/branches/JA2_rev.3336/src
- Removed old VS 6.0 and VS 2003 project and solutions files, because compilation is broken long time ago
- I will add VS 2010 projects and solution file in the next few days

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@3341 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2010-02-28 18:38:52 +00:00
parent a98c44ac78
commit 14750c6903
461 changed files with 23615 additions and 120157 deletions
+32 -13
View File
@@ -38,19 +38,38 @@ enum
// combo flag for turning active flags off
#define SCHEDULE_FLAGS_ACTIVE_ALL 0x00F0
#define MAX_SCHEDULE_ACTIONS 4
typedef struct SCHEDULENODE
//dnl ch42 260909
#define MAX_SCHEDULE_ACTIONS 4//dnl Now is possible to extend beyond 4 and old maps should be correctly load, but didn't test behaviour in game
#define OLD_MAX_SCHEDULE_ACTIONS 4
// WANNE - BMP: DONE!
typedef struct _OLD_SCHEDULENODE
{
struct SCHEDULENODE *next;
UINT16 usTime[MAX_SCHEDULE_ACTIONS]; //converted to minutes 12:30PM would be 12*60 + 30 = 750
UINT16 usData1[MAX_SCHEDULE_ACTIONS]; //typically the gridno, but depends on the action
UINT16 usData2[MAX_SCHEDULE_ACTIONS]; //secondary information, not used by most actions
struct _OLD_SCHEDULENODE *next;
UINT16 usTime[OLD_MAX_SCHEDULE_ACTIONS]; //converted to minutes 12:30PM would be 12*60 + 30 = 750
UINT16 usData1[OLD_MAX_SCHEDULE_ACTIONS]; //typically the gridno, but depends on the action
UINT16 usData2[OLD_MAX_SCHEDULE_ACTIONS]; //secondary information, not used by most actions
UINT8 ubAction[OLD_MAX_SCHEDULE_ACTIONS];
UINT8 ubScheduleID;
UINT8 ubSoldierID;
UINT16 usFlags;
}_OLD_SCHEDULENODE;
class SCHEDULENODE
{
public:
SCHEDULENODE *next;
UINT16 usTime[MAX_SCHEDULE_ACTIONS]; // Converted to minutes 12:30PM would be 12*60 + 30 = 750
UINT32 usData1[MAX_SCHEDULE_ACTIONS]; // Typically the gridno, but depends on the action
UINT32 usData2[MAX_SCHEDULE_ACTIONS]; // Secondary information, not used by most actions
UINT8 ubAction[MAX_SCHEDULE_ACTIONS];
UINT8 ubScheduleID;
UINT8 ubSoldierID;
UINT16 usFlags;
}SCHEDULENODE;
public:
SCHEDULENODE& operator=(const _OLD_SCHEDULENODE& src);
BOOLEAN Load(INT8** hBuffer, FLOAT dMajorMapVersion);
BOOLEAN Save(HWFILE hFile, FLOAT dMajorMapVersion, UINT8 ubMinorMapVersion);
};
extern UINT8 gubScheduleID;
extern SCHEDULENODE *gpScheduleList;
@@ -67,9 +86,9 @@ void ProcessTacticalSchedule( UINT8 ubScheduleID );
void DeleteSchedule( UINT8 ubScheduleID );
void LoadSchedules( INT8 **hBuffer );
void LoadSchedules( INT8 **hBuffer, FLOAT dMajorMapVersion );
BOOLEAN LoadSchedulesFromSave( HWFILE hFile );
BOOLEAN SaveSchedules( HWFILE hFile );
BOOLEAN SaveSchedules(HWFILE hFile, FLOAT dMajorMapVersion=MAJOR_MAP_VERSION, UINT8 ubMinorMapVersion=MINOR_MAP_VERSION);//dnl ch33 240909
void PostSchedule( SOLDIERTYPE *pSoldier );
void PostDefaultSchedule( SOLDIERTYPE *pSoldier );
@@ -91,16 +110,16 @@ void PrepareSchedulesForEditorExit();
//before saving the map, as this forces the IDs to align with the SOLDIERINITNODE->ubScheduleID's.
void OptimizeSchedules();
void PerformActionOnDoorAdjacentToGridNo( UINT8 ubScheduleAction, INT16 sMapIndex );
void PerformActionOnDoorAdjacentToGridNo( UINT8 ubScheduleAction, INT32 usMapIndex );
BOOLEAN ExtractScheduleEntryAndExitInfo( SOLDIERTYPE * pSoldier, UINT32 * puiEntryTime, UINT32 * puiExitTime );
BOOLEAN ExtractScheduleDoorLockAndUnlockInfo( SOLDIERTYPE * pSoldier, UINT32 * puiOpeningTime, UINT32 * puiClosingTime );
void ReconnectSchedules( void );
void SecureSleepSpot( SOLDIERTYPE * pSoldier, UINT16 usSleepSpot );
void SecureSleepSpot( SOLDIERTYPE * pSoldier, UINT32 usSleepSpot );
BOOLEAN BumpAnyExistingMerc( INT16 sGridNo );
BOOLEAN BumpAnyExistingMerc( INT32 sGridNo );
#endif