From 03d8448defd944bc690e6cc4ead3252cd8e1f6bd Mon Sep 17 00:00:00 2001 From: Raffson Date: Sat, 7 Oct 2023 18:13:55 +0200 Subject: [PATCH] Streamlining --- game/ato/flightplans/cas.py | 15 ++++++++------- game/ato/packagewaypoints.py | 6 ++---- game/migrator.py | 2 ++ game/persistency.py | 4 ++++ 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/game/ato/flightplans/cas.py b/game/ato/flightplans/cas.py index be6bd5c2..7ece04cf 100644 --- a/game/ato/flightplans/cas.py +++ b/game/ato/flightplans/cas.py @@ -3,7 +3,7 @@ from __future__ import annotations from collections.abc import Iterator from dataclasses import dataclass from datetime import timedelta -from typing import TYPE_CHECKING, Type +from typing import TYPE_CHECKING, Type, Optional from game.theater import FrontLine from game.utils import Distance, Speed, kph, dcs_to_shapely_point @@ -15,7 +15,7 @@ from .uizonedisplay import UiZone, UiZoneDisplay from .waypointbuilder import WaypointBuilder from ..flightwaypointtype import FlightWaypointType from ...flightplan.ipsolver import IpSolver -from ...persistence.paths import waypoint_debug_directory +from ...persistency import waypoint_debug_directory if TYPE_CHECKING: from ..flightwaypoint import FlightWaypoint @@ -23,12 +23,13 @@ if TYPE_CHECKING: @dataclass class CasLayout(PatrollingLayout): - ingress: FlightWaypoint + ingress: Optional[FlightWaypoint] def iter_waypoints(self) -> Iterator[FlightWaypoint]: yield self.departure yield from self.nav_to - yield self.ingress + if self.ingress: + yield self.ingress yield self.patrol_start yield self.patrol_end yield from self.nav_from @@ -154,13 +155,13 @@ class Builder(IBuilder[CasFlightPlan, CasLayout]): nav_to=builder.nav_path( self.flight.departure.position, ingress_point, - patrol_altitude, + ingress_egress_altitude, use_agl_patrol_altitude, ), nav_from=builder.nav_path( - patrol_end, + egress, self.flight.arrival.position, - patrol_altitude, + ingress_egress_altitude, use_agl_patrol_altitude, ), ingress=ingress, diff --git a/game/ato/packagewaypoints.py b/game/ato/packagewaypoints.py index 09460173..ce350d09 100644 --- a/game/ato/packagewaypoints.py +++ b/game/ato/packagewaypoints.py @@ -10,7 +10,7 @@ from game.ato.flightplans.waypointbuilder import WaypointBuilder from game.flightplan import JoinZoneGeometry from game.flightplan.ipsolver import IpSolver from game.flightplan.refuelzonegeometry import RefuelZoneGeometry -from game.persistency import debug_dir +from game.persistency import waypoint_debug_directory from game.utils import dcs_to_shapely_point from game.utils import nautical_miles @@ -33,8 +33,6 @@ class PackageWaypoints: ) -> PackageWaypoints: origin = package.departure_closest_to_target() - waypoint_debug_directory = debug_dir() / "Waypoints" - # Start by picking the best IP for the attack. ip_solver = IpSolver( dcs_to_shapely_point(origin.position), @@ -43,7 +41,7 @@ class PackageWaypoints: coalition.opponent.threat_zone.all, ) ip_solver.set_debug_properties( - waypoint_debug_directory / "IP", coalition.game.theater.terrain + waypoint_debug_directory() / "IP", coalition.game.theater.terrain ) ingress_point_shapely = ip_solver.solve() if dump_debug_info: diff --git a/game/migrator.py b/game/migrator.py index 866b3821..f8623eb1 100644 --- a/game/migrator.py +++ b/game/migrator.py @@ -97,6 +97,8 @@ class Migrator: layout = f.flight_plan.layout try_set_attr(layout, "nav_to", []) try_set_attr(layout, "nav_from", []) + if f.flight_type == FlightType.CAS: + try_set_attr(layout, "ingress", None) def _update_flights(self) -> None: to_remove = [] diff --git a/game/persistency.py b/game/persistency.py index 934cb2b4..bc2b05f7 100644 --- a/game/persistency.py +++ b/game/persistency.py @@ -80,6 +80,10 @@ def debug_dir() -> Path: return base_path() / "Retribution" / "Debug" +def waypoint_debug_directory() -> Path: + return debug_dir() / "Waypoints" + + def settings_dir() -> Path: return base_path() / "Retribution" / "Settings"