From 1bb6051260eff6f3e4d66f0c97be0e2dc10796da Mon Sep 17 00:00:00 2001 From: mr-russ <> Date: Thu, 6 Mar 2003 09:09:47 +0000 Subject: [PATCH] Only Update Units that are seen by me --- src/map/map.cpp | 3 +-- src/unit/unit.cpp | 28 +++++++++++++++------------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/map/map.cpp b/src/map/map.cpp index f93521523..d80f1034c 100644 --- a/src/map/map.cpp +++ b/src/map/map.cpp @@ -137,8 +137,6 @@ global void RevealMap(void) for (i = 0; i < PlayerMax; ++i) { if (!TheMap.Fields[ix+iy*TheMap.Width].Visible[i]) { TheMap.Fields[ix+iy*TheMap.Width].Visible[i]=1; - if (IsMapFieldVisible(&Players[i],ix,iy)) { - UnitsMarkSeen(ix,iy); } } } @@ -151,6 +149,7 @@ global void RevealMap(void) } #endif MapMarkSeenTile(ix, iy); + UnitsMarkSeen(ix, iy); } } } diff --git a/src/unit/unit.cpp b/src/unit/unit.cpp index dfcaae558..1431a885f 100644 --- a/src/unit/unit.cpp +++ b/src/unit/unit.cpp @@ -1122,21 +1122,23 @@ global void UnitsMarkSeen(int x,int y) int n; Unit* units[UnitMax]; - n = SelectUnitsOnTile(x,y,units); - // FIXME: need to handle Dead buldings - while( n ) { - units[n-1]->SeenIY=units[n-1]->IY; - units[n-1]->SeenIX=units[n-1]->IX; - units[n-1]->SeenFrame = units[n-1]->Frame; - units[n-1]->SeenType = units[n-1]->Type; - units[n-1]->SeenState = (units[n-1]->Orders[0].Action==UnitActionBuilded) | - ((units[n-1]->Orders[0].Action==UnitActionUpgradeTo) << 1); - if( units[n-1]->Orders[0].Action==UnitActionDie ) { + if( IsMapFieldVisible(ThisPlayer, x, y) ) { + n = SelectUnitsOnTile(x,y,units); + // FIXME: need to handle Dead buldings + while( n ) { + units[n-1]->SeenIY=units[n-1]->IY; + units[n-1]->SeenIX=units[n-1]->IX; + units[n-1]->SeenFrame = units[n-1]->Frame; + units[n-1]->SeenType = units[n-1]->Type; + units[n-1]->SeenState = (units[n-1]->Orders[0].Action==UnitActionBuilded) | + ((units[n-1]->Orders[0].Action==UnitActionUpgradeTo) << 1); + if( units[n-1]->Orders[0].Action==UnitActionDie ) { units[n-1]->SeenState = 3; + } + units[n-1]->SeenConstructed = units[n-1]->Constructed; + units[n-1]->SeenDestroyed = units[n-1]->Destroyed; + --n; } - units[n-1]->SeenConstructed = units[n-1]->Constructed; - units[n-1]->SeenDestroyed = units[n-1]->Destroyed; - --n; } }