So I had some issues using ADE on V6, I could not hide defualt buildings, taxiway edge lights & taxiway signs, I could not get rid of them even trying all the usual tricks, . anyway this worked using claude Ai so i can move on with my scenery now, obiously i cant share the actual program but here is what claude did, basicly add all this text to your claude code and it should make it use the excludeGenericBuildingObjects="TRUE & excludeTaxiwaySignObjects="TRUE that are in the V6 SDK
ADE v01.79 working with P3D v6 — complete guide
Hi all. I've been working on getting ADE functional with P3D v6 and managed to solve several issues. Sharing
everything here so others can benefit. Credit to Claude Code (AI assistant) for helping work through the binary
patching and BGL format research.
——————————————————
1. PATCH ADE TO RECOGNISE P3D v6
——————————————————
ADE v01.79 tops out at P3D v5. Since all the "v5" strings are the same byte length as "v6" it's a simple direct byte
patch — no decompiler or recompile needed.
Close ADE completely then run this in PowerShell (right-click PowerShell → Run as Administrator):
Code:
!! CHANGE THIS to your ADE install folder !!
$adeDir = "C:\Path\To\Your\ADE"
Backup originals first
Copy-Item "$adeDir\Airport Design Editor.exe" "$adeDir\Airport Design Editor.exe.v5backup"
Copy-Item "$adeDir\jmSDELib.dll" "$adeDir\jmSDELib.dll.v5backup"
Load files
$exe = [IO.File]::ReadAllBytes("$adeDir\Airport Design Editor.exe")
$dll = [IO.File]::ReadAllBytes("$adeDir\jmSDELib.dll")
Patch all P3D v5 references to v6 (single byte change each: 0x35 -> 0x36)
$exe[1816248]=0x36; $exe[1596954]=0x36; $exe[1802813]=0x36
$dll[733496]=0x36; $dll[733570]=0x36
Write patched files
[IO.File]::WriteAllBytes("$adeDir\Airport Design Editor.exe", $exe)
[IO.File]::WriteAllBytes("$adeDir\jmSDELib.dll", $dll)
Write-Host "Done. Launch ADE and check Settings - it should now show P3D v6 paths."
After patching, ADE's compile target dropdown shows
P3D v6 and it finds your P3D v6 installation and SDK
bglcomp.exe automatically via the registry. Compiling works — v5 and v6 use the same BGL format.
To revert: copy the .v5backup files back over the originals.
——————————————————
2. SUPPRESS P3D v6 PROCEDURAL TAXI SIGNS
——————————————————
P3D v6 generates taxi signs procedurally from airport taxiway data. ADE's exclusion rectangles cannot suppress them —
this is a known incompatibility. However the P3D v6
bglcomp.xsd schema exposes an attribute that does work:
excludeTaxiwaySignObjects="TRUE" on an ExclusionRectangle.
ADE doesn't expose this in the UI, so it must be added manually to the compiled XML after every ADE compile, before
running bglcomp.
Add this near the top of the compiled XML, just after the
<FSData ...> opening tag:
Use coordinates covering your whole airport area with a comfortable margin. Your own ADE-placed custom taxi signs are
not affected — they are explicit BGL objects that load after the exclusion clears the default signs.
——————————————————
3. FIX BLUE TAXI EDGE LIGHTS
——————————————————
ADE always compiles taxiways with edge lights set to TRUE. In P3D v6 this produces unwanted blue lighting along all
taxiways. Fix by editing the compiled XML before running bglcomp:
Code:
$content = Get-Content "your_airport.xml" -Raw
$content = $content -replace 'rightEdgeLighted="TRUE"', 'rightEdgeLighted="FALSE"'
$content = $content -replace 'leftEdgeLighted="TRUE"', 'leftEdgeLighted="FALSE"'
Set-Content "your_airport.xml" $content -Encoding UTF8
——————————————————
4. POST-COMPILE SCRIPT (automates 2 and 3)
——————————————————
Since ADE regenerates the XML from scratch on every compile, I wrote a PowerShell script that applies all fixes
automatically after every ADE compile. Save this as
postcompile.ps1 in your ADE project folder and run it after
every ADE compile:
Code:
Edit these paths for your setup
$xml = "C:\Path\To\ADE!AdeTempWorkOnly\YOURAIRPORT.xml"
$bglcomp = "C:\Program Files\Lockheed Martin\Prepar3D v6 SDK 6.x.x.xxxxx\World\Scenery\bglcomp.exe"
$scenery = "E:\Prepar3D v6\Addon Scenery...\scenery"
if (-not (Test-Path $xml)) { Write-Host "XML not found - compile from ADE first."; exit }
$content = Get-Content $xml -Raw
Add taxi sign + object exclusion if not already present
if ($content -notmatch 'excludeTaxiwaySignObjects') {
$block = "n <ExclusionRectanglen" +
" latitudeMinimum="YOUR_LAT_MIN"n" + " latitudeMaximum="YOUR_LAT_MAX"n" +
" longitudeMinimum="YOUR_LON_MIN"n" + " longitudeMaximum="YOUR_LON_MAX"n" +
" excludeTaxiwaySignObjects="TRUE"n" + " excludeGenericBuildingObjects="TRUE"/>"
$content = $content -replace '(<FSData[^>]*>)', "$1$block"
Write-Host "Added exclusion rectangle."
}
Fix edge lights
$content = $content -replace 'rightEdgeLighted="TRUE"', 'rightEdgeLighted="FALSE"'
$content = $content -replace 'leftEdgeLighted="TRUE"', 'leftEdgeLighted="FALSE"'
Set-Content $xml $content -Encoding UTF8
Recompile - must run from bglcomp folder so it finds bglcomp.xsd
Push-Location (Split-Path $bglcomp)
& $bglcomp $xml 2>&1 | Write-Host
Pop-Location
Copy to scenery folder
$bgl = Join-Path (Split-Path $xml) ([IO.Path]::GetFileNameWithoutExtension($xml) + ".bgl")
if (Test-Path $bgl) {
Copy-Item $bgl $scenery -Force
Write-Host "Done. Reload scenery in P3D (Ctrl+Shift+F5)."
} else {
Write-Host "WARNING: BGL not found - check bglcomp output above."
}
——————————————————
5. REMOVE DEFAULT OSM BUILDINGS AT YOUR AIRPORT
——————————————————
P3D v6 loads OpenStreetMap 3D buildings from
OBX*.bgl files in the scenery tile folders. These are completely
separate from the BGL exclusion system — ExclusionRectangle, excludeAllObjects, CVX polygons and autogen suppression
all have
no effect on OBX buildings.
The OBX filename matches your airport's APX tile number. If your default airport file is
APX24210.bgl, the OSM
buildings file for that same tile is
OBX24210.bgl in the same folder.
To remove: simply rename it to
OBX24210.bgl.disabled. P3D will ignore it. Reload scenery and the buildings are
gone.
Note: this removes OSM buildings for the entire tile, not just the airport area. If you want a surgical fix, create a
polygon in ADE-GP over the building areas using ASPHALT or CONCRETE surface type — the CVX polygon generated will
suppress OBX building placement in that area only.
——————————————————
6. FIX THE "No parameterless constructor for UnknownObject" CRASH
——————————————————
This crash happens when you try to reopen an .ad4 file that ADE saved after certain operations (scanning unknown BGL
records from the default airport, or placing ExclusionRectangles via the ADE UI). ADE stores these as UnknownObject
wrappers in its protobuf binary — and then can't load them back.
The .ad4 file is a ZIP file containing a protobuf binary. The fix requires:
[]Extract the inner binary from the ZIP
[]Find and remove the Unknown Record byte ranges
[]Update ALL affected protobuf length-prefixes (there are nested levels — every length-delimited field whose content
range spans the removed bytes needs to be reduced by the same amount)
[]Repack as ZIP
I have a full PowerShell script for this — happy to share it if anyone needs it. Note that ADE re-inserts these
Unknown Records every time it rescans the default airport BGL, so the fix needs to be reapplied periodically.
Also: do not place ExclusionRectangles via the ADE UI — ADE saves them incorrectly and will break your .ad4.
Add them manually to the compiled XML instead (see point 2 above).
——————————————————
Hope this helps keep ADE alive for P3D v6 users. None of this touches the core compile logic or BGL format — those
still work fine. The main limitations remaining are the UI for exclusion polygons and the UnknownObject serialisation
bug, which would need a proper IL-level patch to fix permanently.