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
|
## 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.
|
* **[Mods]** A4EC mod version updated to 2.3.
|
||||||
* **[UI]** Allow saving after fast forwarding manually with sim speed controls (--show-sim-speed-controls option).
|
* **[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,
|
HindChannelNamer,
|
||||||
HipChannelNamer,
|
HipChannelNamer,
|
||||||
KiowaChannelNamer,
|
KiowaChannelNamer,
|
||||||
|
FulcrumChannelNamer,
|
||||||
)
|
)
|
||||||
from game.utils import (
|
from game.utils import (
|
||||||
Distance,
|
Distance,
|
||||||
@ -118,6 +119,7 @@ class RadioConfig:
|
|||||||
"hind": HindChannelNamer,
|
"hind": HindChannelNamer,
|
||||||
"hip": HipChannelNamer,
|
"hip": HipChannelNamer,
|
||||||
"kiowa": KiowaChannelNamer,
|
"kiowa": KiowaChannelNamer,
|
||||||
|
"fulcrum": FulcrumChannelNamer,
|
||||||
}[config.get("namer", "default")]
|
}[config.get("namer", "default")]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -450,3 +450,15 @@ class KiowaChannelNamer(ChannelNamer):
|
|||||||
@classmethod
|
@classmethod
|
||||||
def name(cls) -> str:
|
def name(cls) -> str:
|
||||||
return "kiowa"
|
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
|
# Ka-50
|
||||||
# Note: Also capable of 100MHz-150MHz, but we can't model gaps.
|
# 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-800L1", (RadioRange(MHz(220), MHz(400), kHz(25), Modulation.AM),)),
|
||||||
Radio("R-828", (RadioRange(MHz(20), MHz(60), kHz(25), Modulation.FM),)),
|
|
||||||
# UH-1H
|
# UH-1H
|
||||||
Radio("AN/ARC-51BX", (RadioRange(MHz(225), MHz(400), kHz(50), Modulation.AM),)),
|
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),)),
|
Radio("AN/ARC-131", (RadioRange(MHz(30), MHz(76), kHz(50), Modulation.FM),)),
|
||||||
@ -298,6 +297,16 @@ RADIOS: List[Radio] = [
|
|||||||
# Mi-8/Mi-24
|
# Mi-8/Mi-24
|
||||||
Radio("R863", (RadioRange(MHz(220), MHz(400), kHz(25), Modulation.AM),)),
|
Radio("R863", (RadioRange(MHz(220), MHz(400), kHz(25), Modulation.AM),)),
|
||||||
Radio("R828", (RadioRange(MHz(20), MHz(60), kHz(25), Modulation.FM),)),
|
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-24P Hind-F
|
||||||
- Mi-28N Havoc
|
- Mi-28N Havoc
|
||||||
- MiG-21bis Fishbed-N
|
- MiG-21bis Fishbed-N
|
||||||
|
- MIG-29-FULCRUM
|
||||||
- MiG-29A Fulcrum-A
|
- MiG-29A Fulcrum-A
|
||||||
- Mirage-F1EQ
|
- Mirage-F1EQ
|
||||||
- Su-22M4 Fitter-K
|
- Su-22M4 Fitter-K
|
||||||
|
|||||||
@ -13,6 +13,7 @@ aircrafts:
|
|||||||
- MiG-21bis Fishbed-N
|
- MiG-21bis Fishbed-N
|
||||||
- MiG-23ML Flogger-G
|
- MiG-23ML Flogger-G
|
||||||
- MiG-25PD Foxbat-E
|
- MiG-25PD Foxbat-E
|
||||||
|
- MIG-29-FULCRUM
|
||||||
- MiG-29A Fulcrum-A
|
- MiG-29A Fulcrum-A
|
||||||
- Mirage-F1EQ
|
- Mirage-F1EQ
|
||||||
- SA 342M Gazelle
|
- SA 342M Gazelle
|
||||||
|
|||||||
@ -11,6 +11,7 @@ aircrafts:
|
|||||||
- MiG-19P Farmer-B
|
- MiG-19P Farmer-B
|
||||||
- MiG-21bis Fishbed-N
|
- MiG-21bis Fishbed-N
|
||||||
- MiG-23MLD Flogger-K
|
- MiG-23MLD Flogger-K
|
||||||
|
- MIG-29-FULCRUM
|
||||||
- MiG-29A Fulcrum-A
|
- MiG-29A Fulcrum-A
|
||||||
awacs:
|
awacs:
|
||||||
- A-50
|
- A-50
|
||||||
|
|||||||
@ -10,6 +10,7 @@ aircrafts:
|
|||||||
- Mi-24V Hind-E
|
- Mi-24V Hind-E
|
||||||
- Mi-24P Hind-F
|
- Mi-24P Hind-F
|
||||||
- Mi-8MTV2 Hip
|
- Mi-8MTV2 Hip
|
||||||
|
- MIG-29-FULCRUM
|
||||||
- MiG-29A Fulcrum-A
|
- MiG-29A Fulcrum-A
|
||||||
- MiG-29G Fulcrum-A
|
- MiG-29G Fulcrum-A
|
||||||
- Su-22M4 Fitter-K
|
- Su-22M4 Fitter-K
|
||||||
|
|||||||
@ -13,6 +13,7 @@ aircrafts:
|
|||||||
- MiG-21bis Fishbed-N
|
- MiG-21bis Fishbed-N
|
||||||
- MiG-23MLD Flogger-K
|
- MiG-23MLD Flogger-K
|
||||||
- MiG-25PD Foxbat-E
|
- MiG-25PD Foxbat-E
|
||||||
|
- MIG-29-FULCRUM
|
||||||
- MiG-29A Fulcrum-A
|
- MiG-29A Fulcrum-A
|
||||||
- Su-17M4 Fitter-K
|
- Su-17M4 Fitter-K
|
||||||
- Su-24M Fencer-D
|
- Su-24M Fencer-D
|
||||||
|
|||||||
@ -14,6 +14,7 @@ aircrafts:
|
|||||||
- MiG-23MLD Flogger-K
|
- MiG-23MLD Flogger-K
|
||||||
- MiG-25PD Foxbat-E
|
- MiG-25PD Foxbat-E
|
||||||
- MiG-27K Flogger-J2
|
- MiG-27K Flogger-J2
|
||||||
|
- MIG-29-FULCRUM
|
||||||
- MiG-29A Fulcrum-A
|
- MiG-29A Fulcrum-A
|
||||||
- MiG-31 Foxhound
|
- MiG-31 Foxhound
|
||||||
- Su-17M4 Fitter-K
|
- 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
|
role: Multirole Fighter
|
||||||
max_range: 150
|
max_range: 150
|
||||||
variants:
|
variants:
|
||||||
MiG-29A Fulcrum-A: {}
|
MiG-29A Fulcrum-A:
|
||||||
|
display_name: MiG-29A Fulcrum-A (FC3)
|
||||||
kneeboard_units: "metric"
|
kneeboard_units: "metric"
|
||||||
tasks:
|
tasks:
|
||||||
BAI: 530
|
BAI: 530
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user