Dan Albert ce4c73098d
Add locking to some UI actions.
This is by no means complete. The bugs that this solves were already in
6.x, but we'd hidden the speed controls for the sim in that release, and
have always said that anything done after pressing "go" the first time
is undefined behavior. This is the first step on making those mid-sim
actions behave correctly.

UI actions such as creating a new package need to be executed between
ticks of the sim. We can either do this synchronously by blocking the UI
until the tick is done executing, acquiring a lock on the sim, executing
the action, then releasing the lock; or asynchronously by queueing
events and letting the sim execute them when it completes the current
tick (or instantly if the sim is paused).

Anything that comes from the new UI (currently just the map) must be
asynchronous because it goes through the REST API, but for the old UI
it's simpler (and because the lock will only be acquired as quickly as
the user can act, shouldn't slow anything down) to do this
synchronously, since it's difficult to use coroutines in Qt.

https://github.com/dcs-liberation/dcs_liberation/issues/1680
2024-11-16 19:09:42 +01:00
2024-10-12 17:33:01 +02:00
2022-05-12 16:21:12 +02:00
2024-10-12 17:33:01 +02:00
2024-03-16 19:23:39 +01:00
2024-11-16 19:09:42 +01:00
2024-11-16 19:09:42 +01:00
2024-11-16 13:07:22 +01:00
2024-10-12 17:50:54 +02:00
2024-07-28 18:27:27 +02:00
2023-06-21 10:28:26 +02:00
2020-12-19 11:56:13 -08:00
2022-09-18 15:52:21 +02:00

Logo

(Github Readme Banner and Splash screen Artwork by Andriy Dankovych, CC BY-SA 4.0)

Patreon

Download

Discord

GitHub pull requests GitHub issues GitHub stars

About DCS Retribution

(Last update: 2023-05-20)

DCS Retribution was forked from DCS Liberation, which is a DCS World turn based single-player or co-op dynamic campaign. It is an external program that generates full and complex DCS missions and manage a persistent combat environment.

Screenshot

DCS Retribution is still relying on Liberation for certain updates, and will possibly stay that way in a more distant future. Therefore, the patreon link will keep pointing to Khopa's account until further notice. However, we are no longer backwards compatible with Liberation, and will no longer attempt to do so.

Instead, we are focussing on keeping our campaigns forward compatible so that you as a user can continue on whatever campaign you had going on. Please keep in mind that once you save a campaign that was started in a previous (save-compatibility breaking) build, your save file will have been migrated and thus no longer compatible with the previous build. Therefore, we recommend backing up your saves and perhaps organizing them by version/build number.

For a more complete overview of our features, check the changelog.

Downloads

Latest release is available here : https://github.com/dcs-retribution/dcs-retribution/releases

To download preview builds of the next version of DCS Retribution, see https://github.com/dcs-retribution/dcs-retribution/wiki/Betas.

DCS bugs

These DCS bugs prevent us from improving AI behavior. Please upvote them! (But please don't spam them with comments):

While DCS bugs are still a thing, we don't quite agree with the ones stated above. We believe to have addressed these, although some quirks still exist. For example, SEAD Escorts tend to be a little picky with what they engage, especially with older SAM systems.

Bugs and feature requests

If you need to report a bug or want to suggest a new feature, you can do this on our bug tracker. In either case, please use the search bar at the top of the page to see if it has already been reported. Note that you may need to remove the filter for open bugs if it's something we've recently fixed.

Roadmap

Our plans for future releases can be found on our Projects page. Each planned release has a Project, and the page for that project has columns for to do, in progress, and done. Items in the Done column are in the preview build for that release. Items in the To do column are planned to be added to that release.

Resources

Tutorials, contributors and developer's guides are available in the project's Wiki

(Some historical information is also availabe on Liberation's Wiki)

Special Thanks

First, a big thanks to shdwp, for starting the original DCS Liberation project.

Then, DCS Liberation/Retribution uses pydcs for mission generation, and nothing would be possible without this. It also uses the popular Mist lua framework for mission scripting.

Excellent lua scripts DCS Liberation/Retribution uses as plugins:

Please also show some support to these projects !

Description
Dynamic campaign mission generator for DCS World
Readme 386 MiB
Languages
Lua 60.2%
Python 38.3%
TypeScript 1.1%
Jinja 0.2%
CSS 0.2%