Skip to content

Commit b80e6e9

Browse files
authored
Don't hide entities from GM screen radar (#2824)
Bypass the early exit in BasicRadarRendering::renderOnRadar() for LongRange-only traces if the radar system is flagged as GM (GM screen, Spectate)
1 parent 333fbfd commit b80e6e9

2 files changed

Lines changed: 6 additions & 1 deletion

File tree

src/systems/missilesystem.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,7 @@ void MissileSystem::spawnProjectile(sp::ecs::Entity source, MissileTubes::MountP
361361
trace.icon = mwd.radar_trace;
362362
trace.radius = 32.0f;
363363
trace.max_size = trace.min_size = 32 * (0.25f + 0.25f * category_modifier);
364+
// LongRange intentionally omitted for gameplay
364365
trace.flags = RadarTrace::Rotate;
365366
// Exempt mines from LongRange restriction.
366367
if (tube.type_loaded == MW_Mine) trace.flags |= RadarTrace::LongRange;

src/systems/radar.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,11 @@ std::vector<RadarRenderSystem::Handler> RadarRenderSystem::handlers;
1515

1616
void BasicRadarRendering::renderOnRadar(sp::RenderTarget& renderer, sp::ecs::Entity entity, glm::vec2 screen_position, float scale, float rotation, RadarTrace& trace)
1717
{
18-
if ((RadarRenderSystem::current_flags & RadarRenderSystem::FlagLongRange) && !(trace.flags & RadarTrace::LongRange))
18+
// Exit early if the trace is flagged for LongRange and this is non-GM
19+
// LongRange radar.
20+
if ((RadarRenderSystem::current_flags & RadarRenderSystem::FlagLongRange)
21+
&& !(RadarRenderSystem::current_flags & RadarRenderSystem::FlagGM)
22+
&& !(trace.flags & RadarTrace::LongRange))
1923
return;
2024

2125
auto scanstate = entity.getComponent<ScanState>();

0 commit comments

Comments
 (0)