From 9066fafcb1178ebd4b63e56bae24a2952c54981e Mon Sep 17 00:00:00 2001 From: zhexu14 <64713351+zhexu14@users.noreply.github.com> Date: Thu, 6 Jun 2024 22:41:08 +1000 Subject: [PATCH] DCS 55918 (#3401) This PR adds support for DCS 2.9.5.55918. Some limited support for the Kiowa Warrior is also implemented. --- changelog.md | 2 +- game/dcs/aircrafttype.py | 2 + game/radio/channels.py | 13 +++++++ game/radio/radios.py | 1 + requirements.txt | 2 +- resources/factions/NATO_Desert_Storm.yaml | 1 + resources/factions/NATO_OIF.yaml | 1 + resources/factions/bluefor_modern.yaml | 1 + resources/factions/turkey_2005.yaml | 1 + resources/factions/usa_1990.yaml | 1 + resources/factions/usa_2005.yaml | 1 + .../ui/units/aircrafts/icons/OH58D_24.jpg | Bin 0 -> 1569 bytes resources/units/aircraft/F-4E-45MC.yaml | 1 + resources/units/aircraft/OH58D.yaml | 35 ++++++++++++++++++ 14 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 resources/ui/units/aircrafts/icons/OH58D_24.jpg create mode 100644 resources/units/aircraft/OH58D.yaml diff --git a/changelog.md b/changelog.md index 449e8414..16d58bfb 100644 --- a/changelog.md +++ b/changelog.md @@ -4,7 +4,7 @@ Saves from 11.0.0 are compatible with 11.1.0. See Known Issues section for excep ## Features/Improvements -* **[Engine]** Support for DCS 2.9.5.55300 including Heatblur F-4E. +* **[Engine]** Support for DCS 2.9.5.55918 including Heatblur F-4E. ## Fixes diff --git a/game/dcs/aircrafttype.py b/game/dcs/aircrafttype.py index 3d825337..eecc0505 100644 --- a/game/dcs/aircrafttype.py +++ b/game/dcs/aircrafttype.py @@ -37,6 +37,7 @@ from game.radio.channels import ( PhantomChannelNamer, HindChannelNamer, HipChannelNamer, + KiowaChannelNamer, ) from game.utils import ( Distance, @@ -116,6 +117,7 @@ class RadioConfig: "phantom": PhantomChannelNamer, "hind": HindChannelNamer, "hip": HipChannelNamer, + "kiowa": KiowaChannelNamer, }[config.get("namer", "default")] diff --git a/game/radio/channels.py b/game/radio/channels.py index 0928d479..170d2691 100644 --- a/game/radio/channels.py +++ b/game/radio/channels.py @@ -437,3 +437,16 @@ class HipChannelNamer(ChannelNamer): @classmethod def name(cls) -> str: return "hip" + + +class KiowaChannelNamer(ChannelNamer): + """Channel namer for OH58D Kiowa Warrior""" + + @staticmethod + def channel_name(radio_id: int, channel_id: int) -> str: + radio_name = ["UHF AM", "VHF AM", "VHF FM1", "VHF FM2"][radio_id - 1] + return f"{radio_name} Ch {channel_id}" + + @classmethod + def name(cls) -> str: + return "kiowa" diff --git a/game/radio/radios.py b/game/radio/radios.py index 7aadfe2c..57273595 100644 --- a/game/radio/radios.py +++ b/game/radio/radios.py @@ -160,6 +160,7 @@ RADIOS: List[Radio] = [ Radio("AN/ARC-164", (RadioRange(MHz(225), MHz(400), MHz(1), Modulation.AM),)), Radio("AN/ARC-186(V) AM", (RadioRange(MHz(116), MHz(152), MHz(1), Modulation.AM),)), Radio("AN/ARC-186(V) FM", (RadioRange(MHz(30), MHz(76), MHz(1), Modulation.FM),)), + Radio("AN/ARC-201", (RadioRange(MHz(30), MHz(88), kHz(25), Modulation.FM),)), Radio( "AN/ARC-210", ( diff --git a/requirements.txt b/requirements.txt index 525a39a5..8c55da08 100644 --- a/requirements.txt +++ b/requirements.txt @@ -36,7 +36,7 @@ pre-commit==3.5.0 pydantic==2.5.2 pydantic-settings==2.1.0 pydantic_core==2.14.5 -pydcs @ git+https://github.com/dcs-liberation/dcs@b83c5a00bdda9719737ce61719a4d64a0dd4321c +pydcs @ git+https://github.com/dcs-liberation/dcs@58b4cc91bfb068e094f684e4747190d1dcd57232 pyinstaller==5.13.1 pyinstaller-hooks-contrib==2023.6 pyproj==3.6.1 diff --git a/resources/factions/NATO_Desert_Storm.yaml b/resources/factions/NATO_Desert_Storm.yaml index 290b156c..c15d2e6c 100644 --- a/resources/factions/NATO_Desert_Storm.yaml +++ b/resources/factions/NATO_Desert_Storm.yaml @@ -25,6 +25,7 @@ aircrafts: - F/A-18C Hornet (Lot 20) - Mirage 2000C - OH-58D Kiowa Warrior + - OH-58D(R) Kiowa Warrior - S-3B Viking - SA 342L Gazelle - SA 342M Gazelle diff --git a/resources/factions/NATO_OIF.yaml b/resources/factions/NATO_OIF.yaml index 9331fff9..851d3409 100644 --- a/resources/factions/NATO_OIF.yaml +++ b/resources/factions/NATO_OIF.yaml @@ -25,6 +25,7 @@ aircrafts: - F/A-18C Hornet (Lot 20) - Mirage 2000C - OH-58D Kiowa Warrior + - OH-58D(R) Kiowa Warrior - S-3B Viking - SA 342L Gazelle - SA 342M Gazelle diff --git a/resources/factions/bluefor_modern.yaml b/resources/factions/bluefor_modern.yaml index b20221cd..067a50a1 100644 --- a/resources/factions/bluefor_modern.yaml +++ b/resources/factions/bluefor_modern.yaml @@ -45,6 +45,7 @@ aircrafts: - Mi-24P Hind-F - Mi-8MTV2 Hip - MiG-29S Fulcrum-C + - OH-58D(R) Kiowa Warrior - SA 342L Gazelle - SA 342M Gazelle - Su-25T Frogfoot diff --git a/resources/factions/turkey_2005.yaml b/resources/factions/turkey_2005.yaml index 472d849d..b8165c6a 100644 --- a/resources/factions/turkey_2005.yaml +++ b/resources/factions/turkey_2005.yaml @@ -13,6 +13,7 @@ aircrafts: - F-4E Phantom II - F-4E-45MC Phantom II - OH-58D Kiowa Warrior + - OH-58D(R) Kiowa Warrior - UH-1H Iroquois - UH-60A - UH-60L diff --git a/resources/factions/usa_1990.yaml b/resources/factions/usa_1990.yaml index 6c932409..44ed46ab 100644 --- a/resources/factions/usa_1990.yaml +++ b/resources/factions/usa_1990.yaml @@ -23,6 +23,7 @@ aircrafts: - F-15E Strike Eagle (Suite 4+) - F-16CM Fighting Falcon (Block 50) - F/A-18C Hornet (Lot 20) + - OH-58D(R) Kiowa Warrior - S-3B Viking - SH-60B Seahawk - UH-1H Iroquois diff --git a/resources/factions/usa_2005.yaml b/resources/factions/usa_2005.yaml index 5a4a7b85..d8184167 100644 --- a/resources/factions/usa_2005.yaml +++ b/resources/factions/usa_2005.yaml @@ -26,6 +26,7 @@ aircrafts: - F-16CM Fighting Falcon (Block 50) - F-22A Raptor - F/A-18C Hornet (Lot 20) + - OH-58D(R) Kiowa Warrior - S-3B Viking - SH-60B Seahawk - UH-1H Iroquois diff --git a/resources/ui/units/aircrafts/icons/OH58D_24.jpg b/resources/ui/units/aircrafts/icons/OH58D_24.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c6728828a0aade2bd73e56d1da67162ca45c005c GIT binary patch literal 1569 zcmbW0c~DbV6vkh830Vk2kWC6QvdTIIqp}$)DiB(2K@=O0@A{rDMWD^l& z6Nn-%EP_Bp_DH0lEJ;9i5Y&MPgg_waOY7K~{?+!o=gi!hd(NHjch6kWkZ25$b+9Gc z0x%d1@Prm1;s6H#2^dTqUj!mRu_WPe5P_6LBE^Y9OQBIH3<`7I18^KdZimT!$*qp3ks3krrt#DQl%~z&W(B9-MXg<4 z!3k)LqLT796>S~eoqGEC-Fx<$nOhtd}1WlL*Ydq-y%qwmez z{(-?E7JGbRa%y^J_Wj&E_w&;73U8Iawl3y^0pMR)U&;Q#g@d>xpc%lCVlJ3OIFuj` zj@V%$DYxGdc{*sThG{%X-iBK6xEZav%V|-;E4UYQ(@3IB`iE7;#$ zYybu-?-9b<9& zkwZ(2!H)bz=KuwAA}?^WM2O*Ynq5>FA7b%!1k3>blQHX|adnK9drPoY_B#Ik50s*Z zI$*)>4^8?aAc4XUco`xBN;V8O@7}e|+VW!yr{d8)^sv2_rzaN7i@6@W8HqV!+Sd`z zi?Kt!RvBI1XSyVmyI?WR!r#$!sWH50)cC>GU7yG3d~hvpjFj(pJvvPK%IoqX{>?+j z1byzlJ$O*a=B$<92tE}3YNCg4So*SRpy^cw*==%5atV7lC`>0Y%x^F-`>Gs*DEm-b z|MrR8L~5$R#0}1>5JQictW4qEU$k@O`XpQFdV4+^*;8EF)70>;`?LS8;`9B^G|xPT zoAINWHNHo3W>V->Rx-oDIqh0e03m;{b5myXDZ!G=X%VU|x^5^9623V_Qt6-=;bUyn zyjHYMtGx)&v(X!lzvUL9YD(K^RbP#suu9dYX}n55eFYUEu~(2|YK2%MW*k!(EW zPj2dN79gwl3aoNQErNufba_#6;mf6;l0LHT)`u%-%(V!r96jPJEi>?e>auZXDiP5q z__gEes{EA0b^TVvF}>{T|w|%C1o(!bSexRQAnXsk0}}UGs_sxCCtODd^DdUl-}evU7e^iI>$}Vax$t4 z8TomLZ}EACS$b|qQPQOUGpXuY1rMUKGShNAe?wNPt;vX+a(?w4exQnEo{&K&V4tUs zq|TW%bm=27G#PXAbU;RjV$idG$C%{C^(kMOAI_qW-RN5w(&ef3TYJ%w^EqlFpcVQ) z^X(^{eSe=