With X-Plane 12.4.1 now available, let’s take a deeper dive into some of the changes concerning X-Plane developers!

Hey everyone, this update is rather short this time around. Everything is striding along nicely this Spring! Let’s see what’s new here.

NOTAM – SDK Threading

As I’m sure you’ve all noticed by now, a raft of plugins did experience issues during the 12.4.1 beta. Thankfully, most have now been resolved, but a quick explainer about what’s happened here.

We’ve been logging erroneous plugin behaviour for a while, including XPLM calls before plugin init and unsafe thread access practices… but now that we are in the Glorious Future™ where X-Plane really is doing multi-threaded rendering (with more planned in the future), we now have to enforce thread safety on XPLMDataAccess and hard assert to ensure sim stability. The tldr here is that many plugins were incorrectly calling X-Plane before it was meant to.

A few notes here:

1. Please keep in contact with us. If you are a developer, please feel free to reach out and join our developer Slack. You can use support@x-plane.com

2. Do not delay in testing your addons. We still see a few developers attempt to defer testing until after an official release. We don’t want the disruption, nor do customers!

Some plugins could also benefit from switching to easier data-access methods, like websockets. Any damage here would solely be on us!

We also know the communication/logging of this could be better; believe us, we’ve already hotly debated this internally, and we’ll work to fill out SDK deficiencies.

NOTAM – AMD Device Loss (We kicked its butt)

After reviewing the crash rate, Sidney is pleased to report that AMD device losses should be solved.

NOTAM – Steam Rollbacks

For the Steam users in the room, it is well known that you guys do not have the same special powers as LR Direct users. So starting with 12.4.1, you now have the option to rollback to the last previously available version.

I will caution that this is not a permanent workaround (Although the rollback method will always be available). Please attempt to resolve the issues with 12.4.1 first (At least 95% of plugins we’ve come across have now been resolved, or have a pending update)

TCAS API

As part of the A330 updates, we’ve now got an enhanced TCAS API for aircraft developers, put together by Philipp. Have a look!

New Assets

We keep ploughing through asset creation. Not only is this helping towards next-gen scenery, but also helping to unlock artists today!

Cab-Over European Style Trucks

My personal favourite, Justin (MisterX) has worked on these European-style trucks (and has brought some American vs Europe balance into this world). We’ve got a number of different liveries and truck variants for you to choose from.

lib/vehicles/static/trucks

Gravel Textures

Meanwhile, Petr has worked to finally give us new gravel textures. The new polygons come in different colors and a mixture of solid to patchy cover. You can use the provided lines and polygon patches to then blend in the gravel color.

This is really going to open up some of the more outback and GA airfields for scenery authors, and I can’t wait to see what you all come up with.

lib/airport/ground/terrain/gravel

lib/airport/ground/terrain_FX/patches/gravel

lib/airport/ground/terrain_FX/paths/gravel

Blue-Roof Hangars

A small update to our hangar library, which is now available with blue roofs.

Gateway Update

Finally, we have our latest round of Gateway airports by our incredible WED artists.

(Note: This list is not a complete representation of all changed/added airports)


Argentina

SAZI — Bolivar

SAZN — Neuquen – Presidente Peron

XSA000B — Chacras del Faro

Australia

XY0055 — Western Sydney Intl

YBMA — Mount Isa

YBMK — Mackay

YCCY — Cloncurry

YFLI — Flinders Island

YHLC — Halls Creek

YLRE — Longreach

YMAV — Avalon

YMEN — Essendon

YPGV — Gove

Austria

LOIH — Hohenems Dornbirn

LOWW — Wien-Schwechat

Bahamas

XMY0006 — Castaway Cay

Belgium

EBCI — Charleroi / Brussels South

EBKH — Balen Keiheuvel

Bolivia

XSL002O — San Fernando

Brazil

SIPK — Hotel SESC Pantanal

SJQN — Quirinopolis

SJYO — Bananal

SSPM — Porto Murtinho

SWYK — Fazenda Ilha Camargo

Bulgaria

LBSF — Sofia

Canada

CNP7 — Iroquois

CNS8 — Morrisburg

CRF5 — Saskatoon/Richter Field

CYCC — Cornwall RGNL

CYCL — Charlo

CYLA — Aupaluk

CYOW — Ottawa MacDonald-Cartier Intl

CYQT — Thunder Bay

CYRI — Riviere du Loup

CYSH — Smiths Falls/Montague

CYXS — Prince George

CYXY — Whitehorse/Erik Nielsen Intl

Central African Republic

FEFF — Bangui M Poko

Chile

SCOT — Santa Rosa de Tabalí

SCOV — El Tuqui

China

XZ001U — Shuang Yu Shu

XZ002W — Yunlong

XZ003K — Zhuzhou Lusong

ZBTS — Sannühe

ZLLL — Lanzhou Zhongchuan Intl

ZSYC — Yichun Mingyueshan

Colombia

SKPP — Guillermo Leon Valencia

Costa Rica

XMR0004 — Sanata Teresa

Croatia

LDLO — Losinj

Czech Republic

LKLT — Letnany

LKVO — Praha – Vodochody

Côte d'Ivoire

XDI0004 — Odienne

DEU Germany

EDX5 — Asslarer Huette

Denmark

EKBI — Billund

EKCH — Kastrup

EKHV — Haderslev

EKLS — Laeso

EKRN — Bornholm Rønne

Eritrea

HHAS — Asmara INTL

France

LFBP — Pau Pyrenees

LFFY — Etrepagny

LFHM — Megeve

LFHZ — [X] Sallanches Mont Blanc

LFLO — Roanne

LFLP — Annecy Meythet

LFMD — Cannes Mandelieu

LFPB — Paris Le Bourget

LFRU — Morlaix Ploujean

Germany

EDAY — Strausberg

EDAZ — Schönhagen

EDBH — Barth

EDDK — Koeln – Bonn

EDDS — Stuttgart

EDFM — Mannheim City

EDFQ — Allendorf/Eder

EDFZ — Mainz-Finthen

EDJA — Memmingen

EDMA — Augsburg

EDME — Eggenfelden

EDMF — Passau-Fuerstenzell

EDMJ — Jesenwang

EDMK — Kempten – Durach

EDMO — Oberpfaffenhofen

EDMS — Straubing

EDMW — Deggendorf

EDPI — Moosburg auf der Kippe

EDQM — Hof-Plauen

EDRJ — Saarlouis – Dueren

EDRY — Speyer

EDTB — Baden-Oos

EDWI — Wilhelmshaven JadeWeser

Germany (civil)

XED006K — [H] Hiddensee

XED08 — Steinheimer Schaefhalde

XED6B — Dettingen/Teck

XEDCV — Hermuthausen

Greece

LGNX — Naxos

LGPA — Paros

IDN Indonesia

WAWJ — Tampa Padang

Iceland

BIAR — Akureyri

BIBD — Bildudalur

India

VASU — Surat

VERK — Rourkela

VODG — Dundigul

XVI000N — Kalaburagi

Indonesia

WABQ — Mulia

WIMS — Dr Ferdinand Lumban Tobing

XWI000R — Marinda

Ireland

EIKN — Ireland West Knock

EISG — Sligo

Italy

LIDT — Trento-Mattarello

LIPE — Bologna Borgo Panigale

LIPN — Verona Boscomantico

LIPV — Venezia Lido G. Nicelli

XLIKI — Caposile

Japan

RJEB — Monbetsu

Kazakhstan

UAAA — Almaty Intl

XUA000F — [H] Anar

Liberia

GLRB — Monrovia Roberts Intl.

XGLFOY — Foya

Luxembourg

ELLX — Luxembourg

Moldova, Republic of

LUKK — Chisinau Intl

Montenegro

XLY000T — Cemovsko Polje/Spiro Mugosa

Nepal

XVN0005 — Thamkharka

Netherlands

EHAM — Schiphol

EHBK — Maastricht Aachen

XEH002N — [H] Buitengaats

XEH002O — [H] L2-FA-1 Heliport

XEH002R — [H] K1-A Heliport

XEH002S — [H] K5-CU Heliport

XEH002T — [H] L4-PN Heliport

XEH002U — [H] L5-FA-1 Heliport

XEH002V — [H] L5-D Heliport

XEH002X — [H] F3-FB-1 Heliport

XEH002Y — [H] D12-B Heliport

XEH002Z — [H] D12-A Heliport

XEH0030 — [H] D15-FA-1 Heliport

XEH0031 — [H] F15-A Heliport

XEH0032 — [H] G14-B Heliport

XEH0033 — [H] G14-A Heliport

XEH0034 — [H] D18-A Heliport

XEH0035 — [H] E17-A Heliport

New Zealand

NZAA — Auckland Intl

NZOM — Omaka

NZTI — Taieri

NZWB — Woodbourne

NZWS — Westport

XNZ000J — Drury

Nigeria

DNAA — Nnamdi Azikiwe Intl

Norway

ENGM — Oslo Gardermoen

Pakistan

OPKC — Karachi Jinnah Intl

OPRK — Sheikh Zayed

OPRS — Risalpur

Palau

PTRO — Roman Tmetuchl Intl

Poland

EPLB — Lublin

EPGL — Gliwice Trynek

EPWR — Wroclaw Strachowice

XEP0008 — Swieta Katarzyna

Romania

LRBS — Bucarest Baneasa

LRSV — Stefan Cel Mare

Russia

UI78 — Mostovoy

XU003P — Esso

XU003Q — May Gatka

Russian Federation

UEEA — Aldan

UELL — Neryungri

Rwanda

HRYR — Kigali Intl

Saudi Arabia

OEJF — King Faisal Naval Base

Singapore

WSSL — Seletar

Sint Maarten (Dutch part)

TNCM — Princess Juliana Intl

Slovakia

LZIB — Bratislava

Slovenia

LJPZ — Portoroz

South Africa

FAUP — Upington

Spain

GEML — Melilla

LEBA — Cordoba

Spain (mainland section and Balearic Islands)

XLE0020 — Oteo de Losa

XLE002B — Chaira

XLE002O — El Carrascal

XLE002P — Tomas Fernandez Espada

XLE002X — Los Oteros

Sri Lanka

VCCG — Amparai

VCCK — Koggala AFB

VCCW — Wirawila

Sweden

ESSA — Stockholm Arlanda

Switzerland

LSGE — Ecuvillens

LSGG — Geneva

LSGP — La Cote

LSGS — Sion

LSPU — Munster

LSTO — Motiers

LSXU — [H] Untervaz

LSZF — Birrfeld

LSZJ — Courtelary

Turkmenistan

UTAA — Oguzhan Ashgabat Intl

USA United States

O24 — Lee Vining

O43 — Yerington Muni

O79 — Sierraville Dearwater

Ukraine

UKDR — Kryvyi Rih Intl

UKOH — Kherson Intl

United Kingdom

EGBG — Leicester

EGHH — Bournemouth

EGHJ — Bembridge

EGMC — Southend

EGSC — Cambridge

United Kingdom (and Crown dependencies)

XEG0056 — Newry private airstrip

XEG0058 — [H] Ailsa Craig Lighthouse

XEG005H — [H] Altnagelvin Hospital

XEG005P — [H] Salisbury Dist Hospital

XEG005W — Fleetlands

XEG005X — [H] St Mary's Hospital

United States

06C — Schaumburg Regl

07V — Cuchara Valley At La Veta

0Y6 — Lake Mills Muni

16Z — [S] Mc Grath

1MD5 — [H] Federal Support Center

1V6 — Fremont County

42VA — Virginia Beach

4G5 — Monroe County

4I0 — [X] Mingo County

4N7 — Greene

65NJ — [H] Helo Kearny Heliport

87VA — Cottonwood Farm

8A7 — Twin Lakes

99MN — [H] St Marys Hospital

FA54 — Coral Creek

KALX — Thomas C Russell Fld

KBBW — Broken Bow Muni

KBCB — Virginia Tech Montgomery Exec

KBIS — Bismarck Muni

KBUF — Buffalo Niagara Intl

KCLE — Cleveland Hopkins Intl

KCMI — Univ of Illinois Willard

KDET — Coleman A. Young Muni

KDKB — De KalbTaylor Muni

KEOK — Keokuk Muni

KFAF — Felker Army Airfield

KFLL — Fort Lauderdale Hollywood Intl

KGAI — Montgomery County Airpark

KGUP — Gallup Muni

KHHF — Hemphill Co

KHNR — Harlan Muni

KHSV — Huntsville Intl

KIMS — Madison Muni

KISM — Kissimmee Gateway

KISP — Long Island Mac Arthur

KJAC — Jackson Hole

KLAF — Purdue University

KLBE — Arnold Palmer Regl

KMKE — General Mitchell Intl

KMKY — Marco Island Exec

KMPI — Mariposa-Yosemite

KMSN — Dane County Regl

KNUW — Whidbey Island NAS

KOLF — L M Clayton

KOXB — Ocean City Muni

KPEA — Pella Muni

KPTN — Harry P Williams Mem

KRDK — Red Oak Muni

KRFD — Chicago Rockford Intl

KRNT — Renton Muni

KRYV — Watertown Muni

KRZN — Burnett County

KSAN — San Diego Intl

KSCH — Schenectady Co

KSDC — Williamson-Sodus

KSEG — Penn Valley

KSFM — Sanford Regl

KSFO — San Francisco Intl

KSLE — McNary Fld

KSMF — Sacramento Intl

KTEX — Telluride Rgnl

KTHM — Thompson Falls

KTMB — Miami Executive

KTNU — Newton Muni

KTPH — Tonopah

KYKN — Chan Gurney Muni

KZER — Schuylkill Co Joe Zerbey

MS88 — Oreck

NJ20 — Coyle Field

NV17 — Youngberg Ranch

NV40 — [H] Action

NV72 — Sweetwater (US Marine Corps)

NV78 — [H] REMSA / Care Flight

O57 — Bryant Field

PAGH — Shungnak

PAK — Port Allen

PAMC — Mc Grath

PHBK — Barking Sands PMRF

PHDH — Dillingham

PHJH — Kapalua

PS81 — [H] Robert Packer Hospital

Q20 — [H] USFS Bridgeport

S77 — Magee

SN34 — Rucker

W50 — Davis

United States (Contiguous)

KIAD — Washington Dulles Intl

KOZS — Camdenton Mem – Lake Rgnl

XK00C7 — Bald Eagle Airfield – Myakka

XK00CL — Grand Rock

XK00DS — Pomona Landing

XK00EG — [H] Erie County Medical Center

XK00EI — Peasley Field

XK00EM — Bakko Aviation

XK00EO — Rassawek

Uruguay

XSU0008 — Chuy

Uzbekistan

UTSS — Samarkand Intl

Vanuatu

NVVV — Bauerfield

Venezuela

SVEN — Encontrados


That’s all from this update. Catch you next time!

About Dellanie Byron

No-one quite knows who he is, or where he came from. However this happy little Quokka exhibits a passion for design.

Leave a Reply

Your email address will not be published. Required fields are marked *

Please do not report bugs in the blog comments.
Only bugs reported via the X-Plane Bug Reporter are tracked.