mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Updated Modded Aircraft Support (markdown)
@@ -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.
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user