201 Commits

Author SHA1 Message Date
Raffson
c37c56c879
Air Assault for C-130 mod
Resolves #49
2022-12-27 21:51:14 +01:00
Raffson
33586aaf4f
Remove C47 from AI DB flight planner
Until this aircraft actually drop troops, it's not air assault capable
2022-12-27 21:51:13 +01:00
Raffson
00ab0c4be2
Add "Instant Squadron Transfer" cheat option
Resolves #14
2022-12-27 21:51:11 +01:00
Raffson
5c06e74659
Auto-swap ATFLIR to LITENING for land-based Hornets
Resolves #50
2022-12-27 21:51:11 +01:00
Raffson
6664a139d8
Support for Ka-50 Black Shark 3
Resolves #38
2022-12-18 16:42:39 +01:00
Raffson
436d2f87da
Add F-16A MLU
Resolves #10
2022-12-10 17:28:02 +01:00
Raffson
2e2a397312
Increase Mirage F1's priority for RUNWAY_ATTACK 2022-12-10 17:28:02 +01:00
MetalStormGhost
48e5e7ca95
F-100 Super Sabre mod version 2.7.18.30765 patch 20.10.22 support (#32)
Also makes F-105G "SEAD Escort" capabale
2022-12-10 17:24:22 +01:00
Raffson
568fd35ddc
Fix CAS' landing WPT 2022-12-03 16:31:03 +01:00
MetalStormGhost
0c30ce3bb3
Revert "Revert "Add support for the AI-only F-14A."" (#27)
This reverts commit 920c9b15ff815b5df08ff90c4a6b0a10cce3e169.
2022-12-03 14:31:40 +01:00
Raffson
ae561e5564
Remove 'initial' wpt from STRIKE 2022-12-02 21:37:08 +01:00
Raffson
e5c80ef3af
Move Bronco down in CAS list, lowering priority 2022-11-27 21:09:13 +01:00
Raffson
85607b97d5
Update ai_flight_planner_db.py 2022-11-26 17:50:01 +01:00
Dan Albert
499e63e2c3
Unfilter the custom waypoint targets.
There doesn't appear to be any reason for us to be poking at
implementation details here aside from changing the name from "unit" to
"building" for that case. Just iterate over the known strike targets.

Making this change uncovered some latent type errors.

Fixes https://github.com/dcs-liberation/dcs_liberation/issues/2564.
2022-11-26 17:38:00 +01:00
Dan Albert
f5ef509af6
Fix drop zone display for air assault.
Troops must be dropped inside this zone or they won't attack the target.
The zone needs to be drawn in the map so players don't break the flight
plan by accidentally moving the drop waypoint outside the DZ.

I've move the API for doing this out of `PatrollingFlightPlan` in favor
of a mixin so this is no longer presented as `engagement_distance` by
the flight plan. I don't love that it's still the `commit-boundary`
endpoint, but it's fine for now.

I don't know why mypy wasn't able to catch this. pycharm is also
struggling to understand this class.
2022-11-26 15:18:41 +01:00
Dan Albert
219b52fc12
Fix adding and removing waypoints in the UI.
This moves more of the logic out of the UI so mypy can actually spot
these mistakes more often.

Fixes https://github.com/dcs-liberation/dcs_liberation/issues/2495.
2022-11-20 16:07:01 +01:00
Dan Albert
9a73a10a09
Remove refueling from sweep flights.
The timing for these doesn't work. Sweep RTBs at the same time the
package reaches its TOT. The tanker won't be on station until 1m30s
before the package reaches the refueling point.
2022-11-20 16:07:01 +01:00
Dan Albert
6ff3a34c14
Fix layout for TARCAP, Escort, and strike-like.
If there's a refuel point, nav from that, not from the patrol end/split.

Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1749.
2022-11-20 16:07:01 +01:00
Dan Albert
0499ded1b3
Clarify AirAssault flight plan method name.
`engagement_distance` is used elsewhere to mean commit distance, so this
looked like a bug when I stumbled across it. Rename it to be more
explicit.
2022-11-20 16:07:00 +01:00
RndName
b49562f4bc
Airlift & AirAssault updates from Liberation
Cleanup and reword refuel waypoints

- rename Stopover back to CargoStop
- precise some waypoint naming

Cleanup and refine airlift and airassault waypoints

- Drop Off and Pickup now correctly worded
- Helo waypoints now represent LandingZones for pickup and dropoff

Forbid planes from air assault.

Make air assault drop-off non-optional.

There is always a drop-off location for troops.

Add docs explaining what the assault area is.

Add error handling for cargo drop waypoints.

Document some airlift waypoint behavior.

Remove unnecessary refuel waypoint in airlifts.

Remove CTLD logic from Airlift flightplan for AI

Add Ingress Point to AirAssault FlightPlan

Add simulation halt at AirAssault ingress

Remove AirAssault completly from AutoPlanner

Remove unneeded LandRefuel from Airlift

Clarify cargo waypoints for AirLift and AirAssault
2022-11-20 16:06:59 +01:00
Nosajthedevil
5f15ddc52c
Add OV-10A Bronco Mod 2022-11-20 16:06:59 +01:00
Raffson
004a99e080
Cleanup 2022-11-13 22:38:24 +01:00
Raffson
2aee878a40
Adjust ai flight planner for (sead) escort 2022-11-13 22:38:24 +01:00
Raffson
7e51061582
Formatting 2022-11-13 22:38:23 +01:00
Raffson
e71ff17a23
Fix mypy errors 2022-11-13 22:38:23 +01:00
Raffson
2270300177
Adjust flightplans for escorts 2022-11-13 22:38:23 +01:00
Raffson
395969a371
Initial attempt at fixing escorts 2022-11-13 22:38:20 +01:00
Raffson
2d770ae05e
Support for MB-339A 2022-11-07 18:46:16 +01:00
Raffson
6606f0f58b
Also look for Liberation payloads 2022-10-29 21:08:22 +02:00
MetalStormGhost
b64a0f17eb
F-16I mod v2.2 support (by IDF Mods Project) (#9) 2022-10-29 17:12:50 +02:00
Raffson
93328d4443
(Mod)Support for VSN A-6A Intruder v2.7.5.01
Co-Authored-By: HellAngelic <108198242+HellAngelic@users.noreply.github.com>
2022-10-27 20:36:38 +02:00
Raffson
24e9936f28
Add F-16A to CAS/ANTI-SHIP/DEAD in ai_flight_planner_db.py 2022-10-25 19:59:21 +02:00
Raffson
a736bf9b09
"Optimize Imports" in game & qt-ui
Adjustments made by PyCharm
2022-10-24 18:54:41 +02:00
MetalStormGhost
515d28313d
Support F-84G Thunderjet mod v2.5.7.01 (#8)
* Implemented support for the VSN F-84G Thunderjet version 2.5.7.01
2022-10-23 19:00:11 +02:00
Raffson
7bbb07c927
Finish F-104C mod support v2.7.11.222.01 (#6)
Finished the F-104C mod support of version 2.7.11.222.01, which was included during a new export after the livery-scanner was introduced. Includes VSN_F104C banner by GLOBAL HAWK. Banner includes the official VSN logo by J.P. Ferré. Used with permission.

Co-Authored-By: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com>
2022-10-18 21:12:31 +02:00
Dan Albert
9e5f1d08d2
Add a comment explaining a wtf in alt estimation. 2022-10-16 12:51:19 +02:00
MetalStormGhost
04a5497f3b
F-4B Phantom II mod support (#4) 2022-10-15 23:07:06 +02:00
MetalStormGhost
139e42dbed
Support for the F-105 Thunderchief mod
v2.7.12.23x
2022-10-15 12:57:43 +02:00
MetalStormGhost
8c905f95e3 Implemented support for the F-100 Super Sabre mod versions v2.7.18.01 & 2.7.18.30765 and patches 30.09.22 & 09.10.22. 2022-10-15 10:55:26 +02:00
Raffson
c4f20b67fe
Support for C-47 2022-10-09 22:17:46 +02:00
Dan Albert
920c9b15ff
Revert "Add support for the AI-only F-14A."
AI behavior with the Heatblur F-14 has been fixed, so not needed any
more.

Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1927.

This reverts commit 7387c2ed8f1662686b9df63ad9e6dc4808eee8b0.
2022-10-02 19:56:49 +02:00
Dan Albert
aeed7fd42a
Clean up one frontline bounds user. 2022-09-25 14:53:29 +02:00
Dan Albert
a9f6e3a0c3
Rename frontline vector to bounds, add a class.
This isn't actually the data that callers usually want. Most of the
callers just want the bounds. The heading and length are trivially
computed from that. Add a class to contain the result so it's easier to
refactor.
2022-09-17 14:42:19 +02:00
MetalStormGhost
e1bf0ed47a
Added a new setting: "Maximum frontline length (km)"
It replaces the FRONTLINE_LENGTH constant, which was used previously. The default setting for the frontline length has been set to match the FRONTLINE_LENGTH value (80 km), but I feel the default should be a bit shorter. Discussion on the topic would be welcome.
2022-09-03 22:14:56 +02:00
Dan Albert
96a5a8e2ef
Move FlightPlan ownership from Flight to IBuilder.
The next step in splitting up the layout and scheduling phases. This
facilitates splitting flights into two classes where one has a full
flight plan, but one used in the earlier phases of planning has only a
layout. Layout-only flights won't need TOTs, which will make them much
easier to work with once we've migrated TOTs from timedeltas to
datetimes.

Layout-only flights of course aren't actually usable, but it lets us
avoid dealing with the current sim time until we're certain the Flight
will even survive planning.

I'm not actually sure if we'll be able to split the two phases any more,
but this ends up being a nice cleanup anyway.
2022-09-03 19:13:23 +02:00
Dan Albert
71f9c6c28c
Un-dataclass Package.
This hasn't been very dataclass-like for a long time.
2022-09-03 19:13:22 +02:00
Dan Albert
4eadce7563
Simplify flight startup time calls.
We can always estimate a startup time now. Remove the nullability from
the result, cleanup the callsites, and eliminate
TotEstimator.mission_start_time since it no longer does anything useful.
2022-09-03 19:13:22 +02:00
Dan Albert
1ea6260054
Remove unused property from Flight. 2022-09-03 19:13:22 +02:00
Dan Albert
07632e2705
Make TOT waypoints non-optional for flight plans.
Flights without a meaningful TOT make the code around startup time (and
other scheduling behaviors) unnecessarily complicated because they have
to handle unpredictable flight plans. We can simplify this by requiring
that all flight plans have a waypoint associated with their TOT. For
custom flight plans, we can just fall back to the takeoff waypoint. For
RTB flight plans (which are only synthetic flight plans injected for
aborted flights), we can use the abort point.

This also means that all flight plans now have, at the very least, a
departure waypoint. Deleting this waypoint is invalid even for custom
flights, so that's no a problem.
2022-09-03 19:13:21 +02:00
Raffson
48938fc529
Dan's massive refactor
Squashing 8 commits by DanAlbert:

- Track theater in ControlPoint.
Simplifies finding the owning theater of a control point. Not used yet.

- Clean some cruft out of FlightPlanBuilder.
- Clean up silly some exception handling.
- Move FlightPlan instantiation into the builder.
I'm working on moving the builder to be owned by the Flight, which will simplify callers that need to create (or recreate) flight plans for a flight.

- Simplify IBuilder constructor.
We have access to the theater via the flight's departure airbase now.

- Move FlightPlan creation into Flight.
For now this is just a callsite cleanup. Later, this will make it easier
to separate unscheduled and scheduled flights into different classes without complicating the layout/scheduling.

- Remove superfluous constructors.
- Remove unused Package field.
2022-08-24 19:25:30 +02:00