mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
Add basic MiG-29 Fulcrum (full fidelity) support (#3529)
Add basic support for full fidelity MiG-29 Fulcrum.
This commit is contained in:
parent
bb1d4f1b18
commit
545990b16d
@ -4,7 +4,7 @@ Saves from 13.x are not compatible with 14.0.0.
|
||||
|
||||
## Features/Improvements
|
||||
|
||||
* **[Engine]** Support for DCS 2.9.19.13478
|
||||
* **[Engine]** Support for DCS 2.9.20 including MiG-29 Fulcrum (full fidelity version).
|
||||
* **[Mods]** A4EC mod version updated to 2.3.
|
||||
* **[UI]** Allow saving after fast forwarding manually with sim speed controls (--show-sim-speed-controls option).
|
||||
|
||||
|
||||
@ -38,6 +38,7 @@ from game.radio.channels import (
|
||||
HindChannelNamer,
|
||||
HipChannelNamer,
|
||||
KiowaChannelNamer,
|
||||
FulcrumChannelNamer,
|
||||
)
|
||||
from game.utils import (
|
||||
Distance,
|
||||
@ -118,6 +119,7 @@ class RadioConfig:
|
||||
"hind": HindChannelNamer,
|
||||
"hip": HipChannelNamer,
|
||||
"kiowa": KiowaChannelNamer,
|
||||
"fulcrum": FulcrumChannelNamer,
|
||||
}[config.get("namer", "default")]
|
||||
|
||||
|
||||
|
||||
@ -450,3 +450,15 @@ class KiowaChannelNamer(ChannelNamer):
|
||||
@classmethod
|
||||
def name(cls) -> str:
|
||||
return "kiowa"
|
||||
|
||||
|
||||
class FulcrumChannelNamer(ChannelNamer):
|
||||
"""Channel namer for MiG-29A Fulcrum"""
|
||||
|
||||
@staticmethod
|
||||
def channel_name(radio_id: int, channel_id: int) -> str:
|
||||
return f"R862 Ch {channel_id}"
|
||||
|
||||
@classmethod
|
||||
def name(cls) -> str:
|
||||
return "fulcrum"
|
||||
|
||||
@ -234,7 +234,6 @@ RADIOS: List[Radio] = [
|
||||
# Ka-50
|
||||
# Note: Also capable of 100MHz-150MHz, but we can't model gaps.
|
||||
Radio("R-800L1", (RadioRange(MHz(220), MHz(400), kHz(25), Modulation.AM),)),
|
||||
Radio("R-828", (RadioRange(MHz(20), MHz(60), kHz(25), Modulation.FM),)),
|
||||
# UH-1H
|
||||
Radio("AN/ARC-51BX", (RadioRange(MHz(225), MHz(400), kHz(50), Modulation.AM),)),
|
||||
Radio("AN/ARC-131", (RadioRange(MHz(30), MHz(76), kHz(50), Modulation.FM),)),
|
||||
@ -298,6 +297,16 @@ RADIOS: List[Radio] = [
|
||||
# Mi-8/Mi-24
|
||||
Radio("R863", (RadioRange(MHz(220), MHz(400), kHz(25), Modulation.AM),)),
|
||||
Radio("R828", (RadioRange(MHz(20), MHz(60), kHz(25), Modulation.FM),)),
|
||||
# MiG-29A
|
||||
Radio(
|
||||
"R862",
|
||||
(
|
||||
RadioRange(MHz(220), MHz(400), kHz(25), Modulation.AM),
|
||||
RadioRange(MHz(100), MHz(150), kHz(25), Modulation.AM),
|
||||
RadioRange(MHz(220), MHz(400), kHz(25), Modulation.FM),
|
||||
RadioRange(MHz(100), MHz(150), kHz(25), Modulation.FM),
|
||||
),
|
||||
),
|
||||
]
|
||||
|
||||
|
||||
|
||||
224
resources/customized_payloads/MiG-29 Fulcrum.lua
Normal file
224
resources/customized_payloads/MiG-29 Fulcrum.lua
Normal file
@ -0,0 +1,224 @@
|
||||
local unitPayloads = {
|
||||
["name"] = "MiG-29A",
|
||||
["payloads"] = {
|
||||
[1] = {
|
||||
["name"] = "CAS",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
|
||||
["num"] = 7,
|
||||
},
|
||||
[2] = {
|
||||
["CLSID"] = "B-8M1 - 20 S-8OFP2",
|
||||
["num"] = 5,
|
||||
},
|
||||
[3] = {
|
||||
["CLSID"] = "B-8M1 - 20 S-8OFP2",
|
||||
["num"] = 6,
|
||||
},
|
||||
[4] = {
|
||||
["CLSID"] = "B-8M1 - 20 S-8OFP2",
|
||||
["num"] = 3,
|
||||
},
|
||||
[5] = {
|
||||
["CLSID"] = "B-8M1 - 20 S-8OFP2",
|
||||
["num"] = 2,
|
||||
},
|
||||
[6] = {
|
||||
["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
|
||||
["num"] = 1,
|
||||
},
|
||||
[7] = {
|
||||
["CLSID"] = "{PTB_1500_MIG29A}",
|
||||
["num"] = 4,
|
||||
},
|
||||
},
|
||||
["tasks"] = {
|
||||
[1] = 30,
|
||||
},
|
||||
},
|
||||
[2] = {
|
||||
["name"] = "STRIKE",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
|
||||
["num"] = 1,
|
||||
},
|
||||
[2] = {
|
||||
["CLSID"] = "{37DCC01E-9E02-432F-B61D-10C166CA2798}",
|
||||
["num"] = 2,
|
||||
},
|
||||
[3] = {
|
||||
["CLSID"] = "{37DCC01E-9E02-432F-B61D-10C166CA2798}",
|
||||
["num"] = 3,
|
||||
},
|
||||
[4] = {
|
||||
["CLSID"] = "{PTB_1500_MIG29A}",
|
||||
["num"] = 4,
|
||||
},
|
||||
[5] = {
|
||||
["CLSID"] = "{37DCC01E-9E02-432F-B61D-10C166CA2798}",
|
||||
["num"] = 5,
|
||||
},
|
||||
[6] = {
|
||||
["CLSID"] = "{37DCC01E-9E02-432F-B61D-10C166CA2798}",
|
||||
["num"] = 6,
|
||||
},
|
||||
[7] = {
|
||||
["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
|
||||
["num"] = 7,
|
||||
},
|
||||
},
|
||||
["tasks"] = {
|
||||
[1] = 32,
|
||||
},
|
||||
},
|
||||
[3] = {
|
||||
["name"] = "CAP",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
|
||||
["num"] = 1,
|
||||
},
|
||||
[2] = {
|
||||
["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
|
||||
["num"] = 2,
|
||||
},
|
||||
[3] = {
|
||||
["CLSID"] = "{9B25D316-0434-4954-868F-D51DB1A38DF0}",
|
||||
["num"] = 3,
|
||||
},
|
||||
[4] = {
|
||||
["CLSID"] = "{9B25D316-0434-4954-868F-D51DB1A38DF0}",
|
||||
["num"] = 5,
|
||||
},
|
||||
[5] = {
|
||||
["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
|
||||
["num"] = 6,
|
||||
},
|
||||
[6] = {
|
||||
["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
|
||||
["num"] = 7,
|
||||
},
|
||||
[7] = {
|
||||
["CLSID"] = "{PTB_1500_MIG29A}",
|
||||
["num"] = 4,
|
||||
},
|
||||
},
|
||||
["tasks"] = {
|
||||
[1] = 10,
|
||||
},
|
||||
},
|
||||
[4] = {
|
||||
["name"] = "ANTISHIP",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
|
||||
["num"] = 7,
|
||||
},
|
||||
[2] = {
|
||||
["CLSID"] = "{3858707D-F5D5-4bbb-BDD8-ABB0530EBC7C}",
|
||||
["num"] = 5,
|
||||
},
|
||||
[3] = {
|
||||
["CLSID"] = "{3858707D-F5D5-4bbb-BDD8-ABB0530EBC7C}",
|
||||
["num"] = 6,
|
||||
},
|
||||
[4] = {
|
||||
["CLSID"] = "{3858707D-F5D5-4bbb-BDD8-ABB0530EBC7C}",
|
||||
["num"] = 3,
|
||||
},
|
||||
[5] = {
|
||||
["CLSID"] = "{3858707D-F5D5-4bbb-BDD8-ABB0530EBC7C}",
|
||||
["num"] = 2,
|
||||
},
|
||||
[6] = {
|
||||
["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
|
||||
["num"] = 1,
|
||||
},
|
||||
[7] = {
|
||||
["CLSID"] = "{PTB_1500_MIG29A}",
|
||||
["num"] = 4,
|
||||
},
|
||||
},
|
||||
["tasks"] = {
|
||||
[1] = 30,
|
||||
},
|
||||
},
|
||||
[5] = {
|
||||
["name"] = "SEAD",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
|
||||
["num"] = 7,
|
||||
},
|
||||
[2] = {
|
||||
["CLSID"] = "{3858707D-F5D5-4bbb-BDD8-ABB0530EBC7C}",
|
||||
["num"] = 5,
|
||||
},
|
||||
[3] = {
|
||||
["CLSID"] = "{3858707D-F5D5-4bbb-BDD8-ABB0530EBC7C}",
|
||||
["num"] = 6,
|
||||
},
|
||||
[4] = {
|
||||
["CLSID"] = "{3858707D-F5D5-4bbb-BDD8-ABB0530EBC7C}",
|
||||
["num"] = 3,
|
||||
},
|
||||
[5] = {
|
||||
["CLSID"] = "{3858707D-F5D5-4bbb-BDD8-ABB0530EBC7C}",
|
||||
["num"] = 2,
|
||||
},
|
||||
[6] = {
|
||||
["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
|
||||
["num"] = 1,
|
||||
},
|
||||
[7] = {
|
||||
["CLSID"] = "{PTB_1500_MIG29A}",
|
||||
["num"] = 4,
|
||||
},
|
||||
},
|
||||
["tasks"] = {
|
||||
[1] = 30,
|
||||
},
|
||||
},
|
||||
[6] = {
|
||||
["displayName"] = "OCA/Runway",
|
||||
["name"] = "OCA/Runway",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
|
||||
["num"] = 1,
|
||||
},
|
||||
[2] = {
|
||||
["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
|
||||
["num"] = 2,
|
||||
},
|
||||
[3] = {
|
||||
["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
|
||||
["num"] = 3,
|
||||
},
|
||||
[4] = {
|
||||
["CLSID"] = "{PTB_1500_MIG29A}",
|
||||
["num"] = 4,
|
||||
},
|
||||
[5] = {
|
||||
["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
|
||||
["num"] = 5,
|
||||
},
|
||||
[6] = {
|
||||
["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
|
||||
["num"] = 6,
|
||||
},
|
||||
[7] = {
|
||||
["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
|
||||
["num"] = 7,
|
||||
},
|
||||
},
|
||||
["tasks"] = {
|
||||
[1] = 34,
|
||||
},
|
||||
},
|
||||
},
|
||||
["unitType"] = "MiG-29 Fulcrum",
|
||||
}
|
||||
return unitPayloads
|
||||
@ -14,6 +14,7 @@ aircrafts:
|
||||
- Mi-24P Hind-F
|
||||
- Mi-28N Havoc
|
||||
- MiG-21bis Fishbed-N
|
||||
- MIG-29-FULCRUM
|
||||
- MiG-29A Fulcrum-A
|
||||
- Mirage-F1EQ
|
||||
- Su-22M4 Fitter-K
|
||||
|
||||
@ -13,6 +13,7 @@ aircrafts:
|
||||
- MiG-21bis Fishbed-N
|
||||
- MiG-23ML Flogger-G
|
||||
- MiG-25PD Foxbat-E
|
||||
- MIG-29-FULCRUM
|
||||
- MiG-29A Fulcrum-A
|
||||
- Mirage-F1EQ
|
||||
- SA 342M Gazelle
|
||||
|
||||
@ -11,6 +11,7 @@ aircrafts:
|
||||
- MiG-19P Farmer-B
|
||||
- MiG-21bis Fishbed-N
|
||||
- MiG-23MLD Flogger-K
|
||||
- MIG-29-FULCRUM
|
||||
- MiG-29A Fulcrum-A
|
||||
awacs:
|
||||
- A-50
|
||||
|
||||
@ -10,6 +10,7 @@ aircrafts:
|
||||
- Mi-24V Hind-E
|
||||
- Mi-24P Hind-F
|
||||
- Mi-8MTV2 Hip
|
||||
- MIG-29-FULCRUM
|
||||
- MiG-29A Fulcrum-A
|
||||
- MiG-29G Fulcrum-A
|
||||
- Su-22M4 Fitter-K
|
||||
|
||||
@ -13,6 +13,7 @@ aircrafts:
|
||||
- MiG-21bis Fishbed-N
|
||||
- MiG-23MLD Flogger-K
|
||||
- MiG-25PD Foxbat-E
|
||||
- MIG-29-FULCRUM
|
||||
- MiG-29A Fulcrum-A
|
||||
- Su-17M4 Fitter-K
|
||||
- Su-24M Fencer-D
|
||||
|
||||
@ -14,6 +14,7 @@ aircrafts:
|
||||
- MiG-23MLD Flogger-K
|
||||
- MiG-25PD Foxbat-E
|
||||
- MiG-27K Flogger-J2
|
||||
- MIG-29-FULCRUM
|
||||
- MiG-29A Fulcrum-A
|
||||
- MiG-31 Foxhound
|
||||
- Su-17M4 Fitter-K
|
||||
|
||||
BIN
resources/ui/units/aircrafts/banners/MiG-29 Fulcrum.jpg
Normal file
BIN
resources/ui/units/aircrafts/banners/MiG-29 Fulcrum.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 229 KiB |
BIN
resources/ui/units/aircrafts/icons/MiG-29 Fulcrum_24.jpg
Normal file
BIN
resources/ui/units/aircrafts/icons/MiG-29 Fulcrum_24.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
52
resources/units/aircraft/MiG-29 Fulcrum.yaml
Normal file
52
resources/units/aircraft/MiG-29 Fulcrum.yaml
Normal file
@ -0,0 +1,52 @@
|
||||
description:
|
||||
'The MiG-29 "Fulcrum" is a Russian-designed, twin-engine, supersonic
|
||||
fighter. First operational in the early 1980s, the Fulcrum is a "light weight" fighter,
|
||||
comparable to the American F/A-18 Hornet and F-16. Designed to work in conjunction
|
||||
with the larger Su-27 Flanker, the MiG-29 is armed with an internal 30mm cannon
|
||||
and both infrared and radar guided air-to-air missiles. For air-to-ground tasks,
|
||||
the MiG-29 can be armed with a large array of unguided bombs and rockets.
|
||||
|
||||
|
||||
In addition to a sophisticated pulse doppler radar, the MiG-29 is also equipped
|
||||
with a passive Infrared Search and Track (IRST) sensor that allows the Fulcrum to
|
||||
detect and target enemy aircraft just based on target infrared emissions. This allows
|
||||
the MiG-29 to make stealthy attacks with no warning!
|
||||
|
||||
|
||||
The Fulcrum is a highly-maneuverable fighter in a dogfight, and when paired with
|
||||
the helmet mounted sight and the AA-11 "Archer" air-to-air missile, it is a very
|
||||
lethal adversary.
|
||||
|
||||
|
||||
The MiG-29 has also been widely exported and has served in many countries that include
|
||||
Germany, Iran, Ukraine, and Poland.'
|
||||
introduced: 1983
|
||||
manufacturer: Mikoyan
|
||||
origin: USSR/Russia
|
||||
price: 15
|
||||
role: Multirole Fighter
|
||||
max_range: 150
|
||||
variants:
|
||||
MIG-29-FULCRUM:
|
||||
display_name: MiG-29A Fulcrum-A
|
||||
kneeboard_units: "metric"
|
||||
radios:
|
||||
intra_flight: R862
|
||||
inter_flight: R862
|
||||
channels:
|
||||
type: common
|
||||
namer: fulcrum
|
||||
intra_flight_radio_index: 1
|
||||
inter_flight_radio_index: 1
|
||||
tasks:
|
||||
BAI: 530
|
||||
BARCAP: 370
|
||||
CAS: 530
|
||||
Escort: 370
|
||||
Fighter sweep: 370
|
||||
Intercept: 370
|
||||
OCA/Aircraft: 530
|
||||
OCA/Runway: 410
|
||||
Strike: 410
|
||||
TARCAP: 370
|
||||
hit_points: 16
|
||||
@ -27,7 +27,8 @@ price: 15
|
||||
role: Multirole Fighter
|
||||
max_range: 150
|
||||
variants:
|
||||
MiG-29A Fulcrum-A: {}
|
||||
MiG-29A Fulcrum-A:
|
||||
display_name: MiG-29A Fulcrum-A (FC3)
|
||||
kneeboard_units: "metric"
|
||||
tasks:
|
||||
BAI: 530
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user