4181 Commits

Author SHA1 Message Date
Raffson
87c75aa61e
Import DaytimeMap locally
Causes an exception otherwise, and at the same time a perfect example why a strongly typed language would be better in this case, because this would've been caught by a compiler!
2022-09-04 12:26:09 +02:00
Nosajthedevil
9a0e8c9e4b
Additional weapons fallback data.
Added weapons fallback data for the laser guided rockets, AIM-54's,
AGM-65 E/F, 4X Hellfire and TOW carried by US helis, rockets for them
to fall back to, all of the USSR IR missiles, R-3R, Mk-83 & Mk-84 and
adjusted the dates for the R-27ER &ET to 1990.
2022-09-04 12:07:17 +02:00
Dan Albert
fa4bf3d516
Make generate_landmap importable.
This file may not be needed long term, but for now I want to import
to_multipoly for some other work.
2022-09-04 12:07:16 +02:00
Dan Albert
db4b43f495
Fix inclusion/exclusion zone reversal in UI. 2022-09-04 12:07:16 +02:00
Dan Albert
1d5a410bc5
Move logging_config to game.
This isn't unique to the UI, the UI is just the current caller.
2022-09-04 12:07:06 +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
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