diff --git a/Strategic/Map Screen Helicopter.cpp b/Strategic/Map Screen Helicopter.cpp index d3d0b1e8..9944f1db 100644 --- a/Strategic/Map Screen Helicopter.cpp +++ b/Strategic/Map Screen Helicopter.cpp @@ -2322,10 +2322,10 @@ void AddHelicopterToMaps( BOOLEAN fAdd, UINT8 ubSite ) { AddHeliPiece( iGridNo, ( UINT16 ) iTileIndexNo ); // AddHeliPiece( iGridNo, sOStruct ); AddHeliPiece( iGridNo, ( UINT16 )( iTileIndexNo + 1 ) ); - AddHeliPiece( ( iGridNo - WORLD_ROWS * 5 ), ( UINT16 )( iTileIndexNo + 2 ) ); // ( iGridNo - 800 ) + AddHeliPiece( ( iGridNo - WORLD_COLS * 5 ), ( UINT16 )( iTileIndexNo + 2 ) ); // ( iGridNo - 800 ) AddHeliPiece( iGridNo, ( UINT16 )( iTileIndexNo + 3 ) ); AddHeliPiece( iGridNo, ( UINT16 )( iTileIndexNo + 4 ) ); - AddHeliPiece( ( iGridNo - WORLD_ROWS * 5 ), ( UINT16 )( iTileIndexNo + 5 ) ); // ( iGridNo - 800 ) + AddHeliPiece( ( iGridNo - WORLD_COLS * 5 ), ( UINT16 )( iTileIndexNo + 5 ) ); // ( iGridNo - 800 ) InvalidateWorldRedundency(); SetRenderFlags( RENDER_FLAG_FULL ); @@ -2348,10 +2348,10 @@ void AddHelicopterToMaps( BOOLEAN fAdd, UINT8 ubSite ) // remove from the world RemoveStruct( iGridNo, ( UINT16 )iTileIndexNo ); RemoveStruct( iGridNo, ( UINT16 )( iTileIndexNo + 1 ) ); - RemoveStruct( ( iGridNo - WORLD_ROWS * 5 ), ( UINT16 )( iTileIndexNo + 2 ) ); // ( iGridNo - 800 ) + RemoveStruct( ( iGridNo - WORLD_COLS * 5 ), ( UINT16 )( iTileIndexNo + 2 ) ); // ( iGridNo - 800 ) RemoveStruct( iGridNo, ( UINT16 )( iTileIndexNo + 3 ) ); RemoveStruct( iGridNo, ( UINT16 )( iTileIndexNo + 4 ) ); - RemoveStruct( ( iGridNo - WORLD_ROWS * 5 ), ( UINT16 )( iTileIndexNo + 5 ) ); // ( iGridNo - 800 ) + RemoveStruct( ( iGridNo - WORLD_COLS * 5 ), ( UINT16 )( iTileIndexNo + 5 ) ); // ( iGridNo - 800 ) InvalidateWorldRedundency(); SetRenderFlags( RENDER_FLAG_FULL ); diff --git a/Strategic/Map Screen Interface Map.cpp b/Strategic/Map Screen Interface Map.cpp index 6e7ec6c6..7d0d7b4b 100644 --- a/Strategic/Map Screen Interface Map.cpp +++ b/Strategic/Map Screen Interface Map.cpp @@ -5731,6 +5731,12 @@ void RenderIconsPerSectorForSelectedTown( void ) { // grab current sector value sCurrentSectorValue = sBaseSectorValue + ( ( iCounter % MILITIA_BOX_ROWS ) + ( iCounter / MILITIA_BOX_ROWS ) * ( 16 ) ); + + // skip sectors that's beyond sector P16 + if( sCurrentSectorValue > SEC_P16 ) + { + continue; + } sSectorX = SECTORX( sCurrentSectorValue ); sSectorY = SECTORY( sCurrentSectorValue ); @@ -6128,6 +6134,12 @@ BOOLEAN IsThisMilitiaTownSectorAllowable( INT16 sSectorIndexValue ) // is this sector allowed to be clicked on? sBaseSectorValue = GetBaseSectorForCurrentTown( ); sGlobalMapSector = sBaseSectorValue + ( ( sSectorIndexValue % MILITIA_BOX_ROWS ) + ( sSectorIndexValue / MILITIA_BOX_ROWS ) * 16 ); + + // skip sectors that's beyond sector P16 + if( sGlobalMapSector > SEC_P16 ) + { + return( FALSE ); + } sSectorX = SECTORX( sGlobalMapSector ); sSectorY = SECTORY( sGlobalMapSector ); @@ -6358,6 +6370,12 @@ DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"Map Screen4"); { // grab current sector value sCurrentSectorValue = sBaseSectorValue + ( ( iCounter % MILITIA_BOX_ROWS ) + ( iCounter / MILITIA_BOX_ROWS ) * ( 16 ) ); + + // skip sectors that's beyond sector P16 + if( sCurrentSectorValue > SEC_P16 ) + { + continue; + } sSectorX = SECTORX( sCurrentSectorValue ); sSectorY = SECTORY( sCurrentSectorValue ); @@ -6642,6 +6660,12 @@ void RenderShadingForUnControlledSectors( void ) { // grab current sector value sCurrentSectorValue = sBaseSectorValue + ( ( iCounter % MILITIA_BOX_ROWS ) + ( iCounter / MILITIA_BOX_ROWS ) * ( 16 ) ); + + // skip sectors that's beyond sector P16 + if( sCurrentSectorValue > SEC_P16 ) + { + continue; + } sSectorX = SECTORX( sCurrentSectorValue ); sSectorY = SECTORY( sCurrentSectorValue ); @@ -7506,6 +7530,12 @@ BOOLEAN CanMilitiaAutoDistribute( void ) { // grab current sector value sCurrentSectorValue = sBaseSectorValue + ( ( iCounter % MILITIA_BOX_ROWS ) + ( iCounter / MILITIA_BOX_ROWS ) * ( 16 ) ); + + // skip sectors that's beyond sector P16 + if( sCurrentSectorValue > SEC_P16 ) + { + continue; + } sSectorX = SECTORX( sCurrentSectorValue ); sSectorY = SECTORY( sCurrentSectorValue ); @@ -7829,6 +7859,12 @@ BOOLEAN CanRedistributeMilitiaInSector( INT16 sClickedSectorX, INT16 sClickedSec { // grab current sector value sCurrentSectorValue = sBaseSectorValue + ( ( iCounter % MILITIA_BOX_ROWS ) + ( iCounter / MILITIA_BOX_ROWS ) * ( 16 ) ); + + // skip sectors that's beyond sector P16 + if( sCurrentSectorValue > SEC_P16 ) + { + continue; + } sSectorX = SECTORX( sCurrentSectorValue ); sSectorY = SECTORY( sCurrentSectorValue );