diff --git a/doc/ChangeLog.html b/doc/ChangeLog.html index 1cd198be1..651ffc688 100644 --- a/doc/ChangeLog.html +++ b/doc/ChangeLog.html @@ -1091,6 +1091,9 @@ <LI>Fixed bug #690994: Editor scrolling bug (from Jimmy Salmon). <LI>Fixed bug #689227: Internal editor crashes saving 1024x1024 maps (from Jimmy Salmon). + <LI>Fixed bug where destroyed buildings didn't show under fow until + they were destroyed. (They show immediately now) (from Russell + Smith). <LI>+++ </UL> </UL> diff --git a/src/unit/unit.cpp b/src/unit/unit.cpp index 7e21dded8..8735a7f92 100644 --- a/src/unit/unit.cpp +++ b/src/unit/unit.cpp @@ -3495,6 +3495,7 @@ global void LetUnitDie(Unit* unit) UnitShowAnimation(unit,unit->Type->Animations->Die); DebugLevel0Fn("Frame %d\n" _C_ unit->Frame); #if defined(NEW_FOW) && defined(BUILDING_DESTROYED) + unit->Visible = 0xffff; DeadBuildingCacheInsert(unit); //Insert into corpse list #else CorpseCacheInsert(unit); diff --git a/src/unit/unit_draw.cpp b/src/unit/unit_draw.cpp index 59187512c..736511143 100644 --- a/src/unit/unit_draw.cpp +++ b/src/unit/unit_draw.cpp @@ -1913,7 +1913,8 @@ global void DrawUnits(const void* v) corpses = &DestroyedBuildings; while( *corpses ) { if( UnitVisibleInViewport(vp,*corpses) && !(*corpses)->SeenDestroyed - && ((*corpses)->Visible & 1<<ThisPlayer->Player)) { + && (((*corpses)->Visible & 1<<ThisPlayer->Player) + || !(*corpses)->Destroyed)) { DrawBuilding(*corpses); } corpses=&(*corpses)->Next;