Commit Graph

4975 Commits

Author SHA1 Message Date
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
793a87d4fb Fix crash when deleting waypoints.
self.coalition is used but was never set.
2022-09-03 19:13:21 +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
Dan Albert
ad9686947b Remove splash screen delay.
This has been in for a long time, so people will have seen the message
by now (and it's on our GitHub page).
2022-09-03 19:13:21 +02:00
Dan Albert
c5b50ceeae Add campaign property for campaign start time.
This field is optional. Omitting the field (or using only a date instead
of a full timestamp) will use the old behavior of picking a random
daylight hour to start the campaign.

This doesn't include any UI in the new game wizard yet. This is only a
campaign yaml option.

https://github.com/dcs-liberation/dcs_liberation/issues/2400
2022-09-03 19:13:20 +02:00
Dan Albert
b6da2d8e62 Turn the daytime map in theater into a real type.
No (intended) user visible effects, but this is the groundwork that will
support https://github.com/dcs-liberation/dcs_liberation/issues/2400.
2022-09-03 19:12:33 +02:00
Dan Albert
a8debc3927 Don't advance the clock between turn 0 and turn 1.
Turn 0 isn't a real thing, it's just a game play affordance that allows
players to set up their initial conditions.
2022-09-03 19:12:33 +02:00
root0fall
4dac3413fc Sort vehicles in new game wizard.
Fixes #2402.
2022-09-03 19:12:19 +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
MetalStormGhost
ede4ce1362 Correct the name of Ural-375 ZU-23s.
Previously, only the insurgent variant was used because the names were
identical. Also added descriptions to all ZU-23 variants and specified that the
insurgent variants are used with both Insurgent factions.
2022-08-24 18:53:56 +02:00
Dan Albert
c69158728d Update contributors list. 2022-08-15 21:15:00 +02:00
Raffson
1f4cca329e Vary number of aircraft for main task
The following tasks plan according to the number of targets left:
- BAI
- ANTISHIP
- DEAD
- STRIKE

Other tasks use a random value between 2 and 4.
2022-08-15 01:20:14 +02:00
Raffson
a14bf6d1ba Make campaign's yaml suffix case-insensitive 2022-08-15 01:09:41 +02:00
Raffson
4722a558b8 Scrub unplannable missions
Prevents generating support flights like TARCAP when the a main
task is unplannable, e.g. an Air Assault.
2022-08-15 00:49:00 +02:00
Raffson
2ef84fd6a6 Update changelog.md 2022-08-14 20:02:07 +02:00
Raffson
3966e03ea5 Don't skip QuadPoint trigger zones
Added code to deduce a radius given a QuadPoint trigger zone
2022-08-14 19:22:25 +02:00
Raffson
429a397cc8 Readd QMessageBox in AirWingConfigurationDialog
Fixing a mistake that happened during merging/rebasing
2022-08-14 16:34:12 +02:00
Raffson
43e9a66afb Advanced IADS: recalculate connections if needed 2022-08-14 15:29:11 +02:00
Raffson
244415b721 PBO: IADS
Finishes/Fixes part of advanced IADS in back-end
2022-08-14 15:26:40 +02:00
Raffson
6e555167e0 Fix #2011
I tracked down the problem to `dataclass.replace` because it generates a new object.
Turns out the check for "claimed" squadrons is somehow linked to the original object.
Simply overwriting the original object fixes the problem.
2022-08-14 14:45:27 +02:00
Raffson
18057af9ad Disable player options for non-flyable aircraft
3 items handled:

- Enable/Disable player checkbox if (not) flyable
- Disable player list in air wing config dialog for non-flyable aircraft
- Update changelog
2022-08-14 14:45:27 +02:00
Raffson
d9c6be0a9d Refactor 'grey-out' CSS
The CSS used to grey out the checkbox and label for
advanced IADS should be refactored so it can be reused for
disabling player checkboxes in the flight edit/create dialogs.

The solution is applied to all checkboxes/labels, so that
there's a consistent way of showing users when a
checkbox/label is disabled.
2022-08-14 14:45:27 +02:00
Raffson
647032ca48 Skip & Log incompatible loadouts
Solution exists in using the 'get' method
of the "Weapons dictionary", and
subsequentially guarding against
None. Aside from that I created
a method to validate a payload,
which uses this None value to
determine validity.
2022-08-14 14:45:26 +02:00
Raffson
d44bf98ab9 Fixing certain squadron liveries
The following things were handled:

- Typos in A-10C squadrons
- Updated livery names for F-14 squadrons
- Replacing custom liveries with pre-installed ones
2022-08-14 14:45:26 +02:00
Raffson
a8d6f90f55 Add livery-selector in AirWingConfigurationDialog
Resolves #1861
2022-08-14 14:45:26 +02:00
Raffson
e9917ba00e Front-end 'push' updates for SupplyRoutes 2022-08-14 14:45:25 +02:00
Raffson
74142536e9 #978 2022-08-14 14:45:25 +02:00
Raffson
8dab64f4c3 Support for Su-30 mod 2022-08-14 14:45:25 +02:00
Raffson
0913b506f4 Support for F-15D 'Baz' mod 2022-08-14 14:44:50 +02:00
Raffson
9fbc2d2c58 Update mods after pydcs update 2022-08-14 14:35:36 +02:00
Dan Albert
582fcf8b19 Update pydcs.
Includes terrain export for the Falklands.

https://github.com/dcs-liberation/dcs_liberation/issues/2242
2022-08-10 20:21:35 -07:00
Dan Albert
60f772081c Update pydcs. 2022-08-10 19:17:06 -07:00
root0fall
267da47f6e Fix grammatical typo in main.py 2022-08-07 09:34:09 -07:00
Dan Albert
151cf17e35 Move tests into main workflows.
The workflow UI works best if there's only a single main workflow in a
PR. We can keep things organized similarly by turning the test workflow
into a reusable workflow. Same code (mostly), better UI.
2022-07-27 20:50:49 -07:00
Dan Albert
6437700a61 Fix warning in black job. 2022-07-27 20:50:49 -07:00
Dan Albert
07ac8957c8 Split Python linting into separate jobs.
This is just the first step to prove the concept. Most of the work done
in our workflows can be split into separate jobs to parallelize the
workflow. This will also make the checks page more readable.

This change alone probably won't speed up CI much.
2022-07-27 20:50:49 -07:00
SnappyComebacks
2bd39bd9f5 Changed garrison terminology to battle position. (#2352) 2022-07-26 22:41:45 -06:00
RndName
2ecb3506b5 Update skynet to V3.0.0 release 2022-07-26 18:47:41 +02:00
Tom Wabinski
35fc43cda0 Refactor unclear conditional. 2022-07-25 23:51:26 -07:00
Tom Wabinski
71311eb157 Fix inverted pilot leveling flag. 2022-07-25 22:54:20 -07:00
Raffson
02c52f0801 Support for Mirage F1.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/2335.

Co-authored-by: Starfire13 <72491792+Starfire13@users.noreply.github.com>
Co-authored-by: Jake Lewis <jake@logdyn.com>
Co-authored-by: Dan Albert <dan@gingerhq.net>
2022-07-25 16:11:36 +00:00
Raffson
ee7a0ade9e Update pydcs
Last version of pydcs was missing flyable aircraft, specifically the following:
- Mi-24P
- I-16
- Christen Eagle II
- Mirage-F1CE

It also removed the flyable option for the F/A-18C, i.e. the AI variant.
Note that the flyable F-18's ID is "FA-18C_hornet".
2022-07-24 09:57:46 -07:00
Raffson
1bee29de83 Fix incomplete reset (#2330)
* Fixing 'Reset' in squadron boxes

* Always use confirmation pop-up when closing with [X]
2022-07-23 12:10:26 +02:00
C. Perreau
d1c1977a9c pydcs updated for 2.7.16 (#2337)
Co-authored-by: Raffson <raffson@users.noreply.github.com>
2022-07-23 10:09:14 +02:00
dependabot[bot]
16b03ec90e Bump terser from 5.11.0 to 5.14.2 in /client (#2333)
Bumps [terser](https://github.com/terser/terser) from 5.11.0 to 5.14.2.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/commits)

---
updated-dependencies:
- dependency-name: terser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-21 23:33:51 +02:00
C. Perreau
7162bf4d24 #2203 : Added RNLAF Redskins 301 Squadron by KillgOreNL (#2332) 2022-07-20 16:25:47 +00:00
C. Perreau
3fb31c9d78 #2324 : Fixed buildings.miz not being usable without WW2 asset pack (#2331)
#2324 : Fixed buildings.miz not being usable without WW2 asset pack installed
2022-07-20 16:02:10 +00:00