Updated Modded Aircraft Support (markdown)

C. Perreau
2021-03-30 23:43:44 +02:00
parent a8cebb0842
commit 58efbc0748

@@ -7,6 +7,12 @@ It takes a lot of time to add support for a mod in Liberation. We prefer using t
Here is how to do it :
## Pre-requisites:
* A development environment for DCS Liberation, see https://github.com/Khopa/dcs_liberation/wiki/Developer's-Guide
* Basic Python programming knowledge
* A DCS World open beta installation
## Step 1 : Pydcs extensions injection :
Adding support for a modded aircraft is much more complicated than adding its name in a faction file.
@@ -50,21 +56,77 @@ These file contains a lot of metadata we need to be able to generate missions, s
## Step 2 : Pydcs extensions injection :
Once you've created your extension, you need to inject it's content into the pydcs version run by Liberation. This is done at runtime.
Once you've created your extension, you need to inject it's content into the pydcs version run by Liberation. This is done at runtime in db.py.
[WIP]
If your modded content is a plane, you need to inject it to pydcs plane_map, in the file [db.py](https://github.com/Khopa/dcs_liberation/blob/develop/game/db.py)
```python
plane_map["A-4E-C"] = A_4E_C
plane_map["F-22A"] = F_22A
plane_map["MB-339PAN"] = MB_339PAN
[...]
```
If this is a vehicle, add it to vehicle_map instead.
## Step 2 : DB stuff
Still in [db.py](https://github.com/Khopa/dcs_liberation/blob/develop/game/db.py)
Add your plane to the price map:
```python
PRICES = {
# ...
A_4E_C: 8,
MB_339PAN: 6,
# ...
```
Also add it to the list and maps: ```UNIT_BY_TASK```, ```PLANE_PAYLOAD_OVERRIDES```, and if relevant in the lists : ```CARRIER_CAPABLE```, ```LHA_CAPABLE```
## Step 3 : Liberation flight planner database setup :
Open [ai_flight_planner_db.py](https://github.com/Khopa/dcs_liberation/blob/develop/gen/flights/ai_flight_planner_db.py)
Add your plane to the lists it needs to be in, so DCS Liberation is aware of its capabilities :
**Example:**
```python
CAP_CAPABLE = [
# ....
Su_57,
F_22A,
# ....
]
```
## Step 4 : Create default payload
## Step 5 : Create a faction that support the mods so it can be used
See https://github.com/Khopa/dcs_liberation/wiki/Custom-Loadouts
Create default loadouts for the new plane.
## Step 6 : Add icons for the UI
## Step 5 : Factions
See https://github.com/Khopa/dcs_liberation/wiki/Custom-Factions and create a faction that support the mods so it can be used
## Step 6 : Add icons for the UI [Optional]
Add icons for the new plane there: https://github.com/Khopa/dcs_liberation/tree/develop/resources/ui/units/aircrafts/icons
And a banner, there: https://github.com/Khopa/dcs_liberation/tree/develop/resources/ui/units/aircrafts/banners
## Step 7 : Playtest !
Redo the data export thing (Step 1), every time said mod is updated
Play a few missions with the plane, test as much cases as you can.
## Step 8 : Release !
## Step 9 : Maintenance !
Redo the data export thing (Step 1), every time said mod is updated, if needed create new loadouts and account for new capabilities in db.