Skip to content

Commit 0d3ce17

Browse files
committed
bugfix(radar): Preserve hero icon during hidden exit frames
Signed-off-by: tintinhamans <[email protected]>
1 parent c5d839e commit 0d3ce17

File tree

2 files changed

+12
-6
lines changed
  • GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/Common/System
  • Generals/Code/GameEngineDevice/Source/W3DDevice/Common/System

2 files changed

+12
-6
lines changed

Generals/Code/GameEngineDevice/Source/W3DDevice/Common/System/W3DRadar.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -654,13 +654,16 @@ void W3DRadar::renderObjectList( const RadarObject *listHead, TextureClass *text
654654

655655
for( const RadarObject *rObj = listHead; rObj; rObj = rObj->friend_getNext() )
656656
{
657+
// get object
658+
const Object *obj = rObj->friend_getObject();
659+
660+
// TheSuperHackers @bugfix arcticdolphin 07/11/2025 Keep hero icon during hidden exit frames
661+
if (calcHero && rObj->isTemporarilyHidden() && obj->isHero())
662+
m_cachedHeroObjectList.push_back(obj);
657663

658664
if (rObj->isTemporarilyHidden())
659665
continue;
660666

661-
// get object
662-
const Object *obj = rObj->friend_getObject();
663-
664667
// check for shrouded status
665668
if (obj->getShroudedStatus(playerIndex) > OBJECTSHROUD_PARTIAL_CLEAR)
666669
continue; //object is fogged or shrouded, don't render it.

GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/Common/System/W3DRadar.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -652,13 +652,16 @@ void W3DRadar::renderObjectList( const RadarObject *listHead, TextureClass *text
652652

653653
for( const RadarObject *rObj = listHead; rObj; rObj = rObj->friend_getNext() )
654654
{
655+
// get object
656+
const Object *obj = rObj->friend_getObject();
657+
658+
// TheSuperHackers @bugfix arcticdolphin 07/11/2025 Keep hero icon during hidden exit frames
659+
if (calcHero && rObj->isTemporarilyHidden() && obj->isHero())
660+
m_cachedHeroObjectList.push_back(obj);
655661

656662
if (rObj->isTemporarilyHidden())
657663
continue;
658664

659-
// get object
660-
const Object *obj = rObj->friend_getObject();
661-
662665
// check for shrouded status
663666
if (obj->getShroudedStatus(playerIndex) > OBJECTSHROUD_PARTIAL_CLEAR)
664667
continue; //object is fogged or shrouded, don't render it.

0 commit comments

Comments
 (0)