New Feature: strategic militia command allows ordering militia around in the map if someoen performs the STRATEGIC_MILITIA_MOVEMENT facility assignment.

requires GameDir >= r1946

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6943 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2014-02-18 21:26:46 +00:00
parent e04bff6f61
commit cee17f5651
29 changed files with 643 additions and 57 deletions
+28 -6
View File
@@ -103,6 +103,7 @@
#include "Explosion Control.h"
#include "Auto Resolve.h"
#include "cursors.h"
#include "GameVersion.h"
#endif
#include "LuaInitNPCs.h"
@@ -5306,16 +5307,38 @@ BOOLEAN SaveStrategicInfoToSavedFile( HWFILE hFile )
BOOLEAN LoadStrategicInfoFromSavedFile( HWFILE hFile )
{
UINT32 uiNumBytesRead=0;
UINT32 uiSize = sizeof( StrategicMapElement ) * ( MAP_WORLD_X * MAP_WORLD_Y );
UINT32 uiSize = sizeof( StrategicMapElement );
// Load the strategic map information
FileRead( hFile, StrategicMap, uiSize, &uiNumBytesRead );
if( uiNumBytesRead != uiSize)
if ( guiCurrentSaveGameVersion >= MILITIA_MOVEMENT )
{
return(FALSE);
for(UINT16 i = 0; i < MAP_WORLD_X * MAP_WORLD_Y; ++i)
{
// Load the strategic map information
FileRead( hFile, &StrategicMap[i], uiSize, &uiNumBytesRead );
if( uiNumBytesRead != uiSize)
{
return(FALSE);
}
}
}
else
{
uiSize = 41;
for(UINT16 i = 0; i < MAP_WORLD_X * MAP_WORLD_Y; ++i)
{
// Load the strategic map information
FileRead( hFile, &StrategicMap[i], uiSize, &uiNumBytesRead );
if( uiNumBytesRead != uiSize)
{
return(FALSE);
}
StrategicMap[i].usFlags = 0;
}
}
// Load the Sector Info
for (int sectorID = 0; sectorID <= 255; ++ sectorID) {
FileRead( hFile, &SectorInfo[sectorID], sizeof( SECTORINFO ), &uiNumBytesRead );
@@ -5348,7 +5371,6 @@ BOOLEAN LoadStrategicInfoFromSavedFile( HWFILE hFile )
return(FALSE);
}
return( TRUE );
}