Commit Graph

2880 Commits

Author SHA1 Message Date
Dan Albert
04b53fa23d Add decorator for tracking save compat.
Used to decorate functions or methods that have save compat code for a
given major version.

```
@has_save_compat_for(5)
def foo() -> None:
    ...
```

This function will raise an error at startup if it is decorated as
having save compat for a version other than the current major version of
the game. A new major version is the definition of a save compat break,
so keeping around the old compat code serves no purpose other than
hiding initialization bugs. The compat code and the decorator should be
removed in the branch raising the error.

(cherry picked from commit cd558daf5a)
2021-07-12 13:48:33 -07:00
Dan Albert
a22f1d8e63 Correct int/float confusion in Point APIs.
The heading and distance calculations always return floats.

(cherry picked from commit 6ce02282e7)
2021-07-11 14:34:43 -07:00
Dan Albert
5860518f92 Use Pillow types from typeshed.
(cherry picked from commit a19a0b6789)
2021-07-11 13:54:19 -07:00
Dan Albert
68473ae63a Update to latest pydcs.
This includes the basics that we need to get type checking for pydcs
calls.

Type checking has been disabled in a few monkey-patching cases. Patches
ought to be sent upstream (or in the case of dead unit tracking,
replaced with a better model).

(cherry picked from commit 9de08dc83f)
2021-07-11 13:38:54 -07:00
Dan Albert
1ea13954ec More adaptation for pydcs updates.
This is as much as we can do until pydcs actually adds the py.typed
file. Once that's added there are a few ugly monkey patching corners
that will just need `# type: ignore` for now, but we can't pre-add those
since we have mypy warning us about superfluous ignore comments.

(cherry picked from commit 96c7b87ac7)
2021-07-11 13:38:50 -07:00
Brock Greman
53a1c938c3 Fixing broken group generation.
(cherry picked from commit 469dd49def)
2021-07-11 13:38:41 -07:00
Dan Albert
229a2cd7a4 Fix some typing in preparation for pydcs types.
Not complete, but progress.

(cherry picked from commit 53f6a0b32b)
2021-07-11 13:38:40 -07:00
Dan Albert
19980e5d6b Flesh out typing information, enforce.
(cherry picked from commit fb9a0fe833)
2021-07-07 17:42:21 -07:00
Dan Albert
85be9df481 Disallow partially specified generics.
(cherry picked from commit 69c3d41a8a)
2021-07-07 16:07:58 -07:00
Dan Albert
9bc8b51794 Type check the contents of untyped functions.
By default mypy doesn't type check the code within an untyped function.
This enables that and fixes typing errors to accomodate it.

This did uncover a very old bug:
https://github.com/dcs-liberation/dcs_liberation/issues/1417

(cherry picked from commit fc32b98341)
2021-07-07 16:07:57 -07:00
Dan Albert
e9bc3f3e69 Fix unreachable code issues, enable checking.
The loadout case actually could (and previously did) hide bugs from the
type checker, since mypy was smart enough to see that we were removing
None from the input it assumed that the member was non-optional, but
later modifications could cause null values, and since those came from
the UI mypy couldn't reason about this. This meant that mypy assumed the
type could not be optional and wouldn't check that case.

(cherry picked from commit 299ed88f09)
2021-07-07 16:07:56 -07:00
Dan Albert
3f5fdc580a Add (mostly disabled) mypy configs.
We're missing a lot of checking right now. Most of it requires
additional cleanup. For now I've enabled what I could and will follow up
to clean up and enable more checking.

(cherry picked from commit 29753a6aa9)
2021-07-07 16:07:54 -07:00
Dan Albert
f4e02954b7 Add documentation for turn processing.
(cherry picked from commit 7983cd8d62)
2021-07-07 14:45:05 -07:00
RndName
e88dfc53c2 correct display of turn statistics 2021-07-07 14:12:42 -07:00
RndName
2926431dc7 replan opfor mission on sell or buy of tgos
(cherry picked from commit 7229b886e0)
2021-07-07 14:12:34 -07:00
Dan Albert
70a0341675 Note fix for empty convoy groups.
(cherry picked from commit 8b70d2674f)
2021-07-05 15:54:47 -07:00
RndName
251c84019f remove completely destroyed units from the convoy
(cherry picked from commit 8ba27cdaea)
2021-07-05 15:54:46 -07:00
bgreman
8fae7decca Adds Marianas Islands support (#1406)
* Implements #1399

* Reverting accidental change in generate_landmap.py

* Changelog update

* Import beacon data for Marianas.

Co-authored-by: Dan Albert <dan@gingerhq.net>
(cherry picked from commit aa328d3ef7)
2021-07-03 14:52:21 -04:00
Dan Albert
3415525e2c Fixup None loadouts for aircraft with no loadouts.
Aircraft that have no loadouts at all (such as the IL-78M) will have no
loadouts and thus no values in the dropdown menu. If the player toggles
the custom layout box we reset the flight's loadout to the selected
loadout, and with no loadouts in the combo box that is None, and
`Flight.loadout` isn't supposed to be optional.

Check for that case in the loadout selector and replace with an empty
loadout if that happens.

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

(cherry picked from commit 727facfb90)
2021-07-02 17:33:40 -07:00
Dan Albert
355ea9f9be Fix the legacy tanker.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1379

(cherry picked from commit 4add853473)
2021-07-02 17:18:31 -07:00
RndName
eff674c441 remove prices from sam generators
The prices are only estimations due to randomization. the real price will be only known when the generator was used and the final units are known

(cherry picked from commit b2db27f9aa)
2021-07-02 16:46:29 -07:00
RndName
9858e3e257 correct prices for ewr and sams
prices will now be calculated for the whole group by the generator by
looking up the price using the  GroundUnitType wrapper

fixes #1163

(cherry picked from commit 96be6c0efe)
2021-07-02 16:46:28 -07:00
Dan Albert
b206bcae56 Note the silkworm fix in the changelog.
(cherry picked from commit 3f42f1281d)
2021-07-02 16:28:35 -07:00
Mustang-25
3dbfa8ca60 Corrected Silkworm launcher name
(cherry picked from commit bab8384803)
2021-07-02 16:28:34 -07:00
Florian
779dc8ad70 Remove the randomness from SAM group size.
(cherry picked from commit 3f65928e9d)
2021-07-02 01:38:37 -07:00
Dan Albert
467de580c5 Bump version to 4.1.0. 2021-07-02 01:29:25 -07:00
Dan Albert
adbba788c6 4.0.1 -> 4.1.0
This includes new features now.

(cherry picked from commit 4e6659e7e8)
2021-07-02 01:29:09 -07:00
Chris Seagraves
99f359b46b Note TGO tooltip improvement in the changelog.
(cherry picked from commit 9e22d4b5df)
2021-07-02 01:27:07 -07:00
RndName
277df247b9 fixed lua data generation
(cherry picked from commit 357361de3d)
2021-07-02 01:25:18 -07:00
RndName
e0a4ceef67 reworked the skynet group name generation
- added information about the role of the aa site
- moved handling of ground name from tgo to the sam generator to make the tgo cleaner
- adjusted the skynet-config lua to the changes

(cherry picked from commit de443fa3f0)
2021-07-02 01:25:17 -07:00
Dan Albert
234a998abe Minor formatting fix for the changelog.
(cherry picked from commit 20839853b7)
2021-07-01 20:07:40 -07:00
Chris Seagraves
2233141033 Fix for crash when clear weather.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1394

(cherry picked from commit bc2539b566)
2021-07-01 20:07:09 -07:00
Dan Albert
c47750b2d9 Remove debug cruft.
We don't need to print the description of every unit on startup.

(cherry picked from commit 2ef2eafdd3)
2021-07-01 19:37:46 -07:00
bgreman
3f8dfce9e0 Addresses #478 to clean up the angle summing functionality. (#1386)
(cherry picked from commit 9bd6f9ef47)
2021-06-30 23:59:03 -04:00
bgreman
20e7690a85 Increasing time JTAC radio messages stay on the UI. (#1369)
- Target lost or killed: 10s -> 20s
- New target : 10s -> 30s
- Request JTAC Status: 25s -> 60s

(cherry picked from commit c8e5cefd36)
2021-06-30 23:56:06 -04:00
bgreman
7f1e21b587 Fixes #240 by making statistics windows axis labels integers (#1370)
(cherry picked from commit 7ba4077f9f)
2021-06-30 23:54:31 -04:00
Mustang-25
bc3a75836d Update TGP Restriction Dates
TGP dates to more accurately reflect IRL IOC dates.

(cherry picked from commit 151f8bf329)
2021-06-30 19:17:45 -07:00
Chris Seagraves
f588c445ae Notes to kneeboard (#1375)
Adds global-level kneeboard notes.  Explicit save compatability with 4.0.0

(cherry picked from commit e94d48c265)
2021-06-30 18:08:44 -04:00
Fryderyk Wysocki
7807e2fc31 Update poland_2010.json (#1380)
* Update poland_2010.json

* Adding MiG-29G to PL faction

Poland has bought some MiG-29Gs from unified Germany in the early '90s

(cherry picked from commit 2a5c523afd)
2021-06-30 15:31:02 -04:00
Chris Seagraves
91bde9dccf Add Cloud Base Altitude to Weather Display (#1371)
Adds tooltip with cloud base altitude to weather panel

(cherry picked from commit f80696b724)
2021-06-30 15:23:13 -04:00
Chris Seagraves
de9d388b96 asset reference links 😎 (#1363)
Adds urls to unit info pages that don't have data.

(cherry picked from commit 5f5b5f69e3)
2021-06-30 15:05:48 -04:00
Chris Seagraves
c7d3f1a340 Update main.py (#1382)
(cherry picked from commit d99f8fef09)
2021-06-29 18:21:52 -04:00
Simon Clark
d3b44e5ba1 Merge branch 'develop-4.x' of https://github.com/dcs-liberation/dcs_liberation into develop-4.x 2021-06-26 22:39:45 +01:00
Dan Albert
ac0e29a54d Bump branch to 4.0.1-preview. 2021-06-26 14:40:53 -07:00
Dan Albert
91d08e2160 Add changelog section for 4.0.1.
(cherry picked from commit 0b90b53e09)
2021-06-26 14:40:40 -07:00
Simon Clark
d18d6b2422 Fix begin campaign button on reload. 2021-06-26 22:39:32 +01:00
Dan Albert
6cc967742a Add the most important feature to the changelog.
(cherry picked from commit aa86a6e53b)
2021-06-26 12:34:51 -07:00
Brock Greman
17f2bcc9c9 Clarify the impact of non-cold flight starts.
(cherry picked from commit 34470336e4)
2021-06-26 12:29:23 -07:00
Mustang-25
9d499a1430 Update Op Mole Cricket 2010 Campaign.
Moved SAM generator at Rosh Pina so it does not spawn units on the runway.

(cherry picked from commit 5a2a89f19e)
2021-06-26 12:17:33 -07:00
Dan Albert
3b55dfad40 Revert accidental change to default pilot limit.
(cherry picked from commit 7eb4df770e)
2021-06-26 12:06:26 -07:00