mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Change the logic for culling missile sites.
Missile sites now generate a 2.5km culling circle around themselves, rather than using the standard full culling zone size. Fixes #850.
This commit is contained in:
@@ -268,13 +268,20 @@ class QLiberationMap(QGraphicsView):
|
||||
def display_culling(self, scene: QGraphicsScene) -> None:
|
||||
"""Draws the culling distance rings on the map"""
|
||||
culling_points = self.game_model.game.get_culling_points()
|
||||
culling_zones = self.game_model.game.get_culling_zones()
|
||||
culling_distance = self.game_model.game.settings.perf_culling_distance
|
||||
for point in culling_points:
|
||||
culling_distance_point = Point(point.x + culling_distance*1000, point.y + culling_distance*1000)
|
||||
culling_distance_point = Point(point.x + 2500, point.y + 2500)
|
||||
distance_point = self._transform_point(culling_distance_point)
|
||||
transformed = self._transform_point(point)
|
||||
radius = distance_point[0] - transformed[0]
|
||||
scene.addEllipse(transformed[0]-radius, transformed[1]-radius, 2*radius, 2*radius, CONST.COLORS["transparent"], CONST.COLORS["light_green_transparent"])
|
||||
for zone in culling_zones:
|
||||
culling_distance_zone = Point(zone.x + culling_distance*1000, zone.y + culling_distance*1000)
|
||||
distance_zone = self._transform_point(culling_distance_zone)
|
||||
transformed = self._transform_point(zone)
|
||||
radius = distance_zone[0] - transformed[0]
|
||||
scene.addEllipse(transformed[0]-radius, transformed[1]-radius, 2*radius, 2*radius, CONST.COLORS["transparent"], CONST.COLORS["light_green_transparent"])
|
||||
|
||||
def draw_shapely_poly(self, scene: QGraphicsScene, poly: Polygon, pen: QPen,
|
||||
brush: QBrush) -> Optional[QPolygonF]:
|
||||
|
||||
Reference in New Issue
Block a user