Repository navigation
Releases: EnragedStrings/EDM-Inspector
Releases · EnragedStrings/EDM-Inspector
Release list
EDM Inspector 1.7.0
1.7.0 (2026-09-25)
The real map: terrain in full detail, and the buildings, trees and props placed on it.
Added
- Scenery. View > Scenery (maps) loads the objects DCS places on the map around the view centre: buildings, hangars, walls, fences, poles, towers and, when asked, trees and bushes, drawn with the map's own models and textures (the trees with their leaves). Objects of one kind are merged into one entry in the Outliner (for example "concrete_wall_01 x1898") that can be shown, hidden, selected and exported like everything else. It works on all six installed maps. Vehicles, bridges and effects that the map lists but ships no model for are counted and left out.
- Terrain detail. View > Terrain Detail (maps) loads a finer level of the terrain around the view centre (finest within 10 or 30 km, fine within 60 km, medium within 150 km). The coarser squares underneath are hidden while it is shown, and Remove loaded detail brings them back.
- Exterior controls. Open an aircraft's exterior model and the Cockpit Controls panel now lists Landing gear handle, Flaps, Slats, Speed brake, Canopy, Arresting hook, Refuelling probe, Wing fold, Brake parachute, Weapon bay doors, Engine nozzle, Ailerons, Elevator and Rudder, for whichever of them the model has. They are found from the animated parts (by name), and pressing one moves all the parts of that system together, so you can lower the landing gear or step the flaps. Find shows the parts it moves.
- Dials and 3-position switches. Press / next in the Cockpit Controls panel now understands the kind of control: buttons and 2-position switches flip, 3-position switches go through their middle, and dials and multi-position switches turn one step (the step size is read from the control's definition). Back goes one position the other way.
- VS Code for DLL work. In the DLL Explorer, Open in VS Code writes one .c file per function (the current code where there is edited code, otherwise Ghidra's, plus your flagged functions) and opens the folder in VS Code (found on the PATH or in its usual install folders, or through whatever opens .code-workspace files). What you save in VS Code is read back straight away: the function shows your code in the explorer, and a changed
// name:line renames it. Files you already edited are kept if you write the workspace again. - AI code shown in place. When an import from AI brings rewritten code for a function, the explorer now shows it straight away in that function, the function list shows the new name and signature and marks changed functions with a pencil in the Edited column, and search finds the new names. The view is called Live Code (it is the default, and shows the current code of a function whether it was edited by the AI or in VS Code, or is still Ghidra's), the old AI report view is now simply Report, and Original C (Ghidra) is one click away.
Changed
- The terrain mesh is built differently and is now clean: the map file stores several overlapping layers of triangles (the ground, and roads, fields, forests and shores draped over it), so it is rebuilt as one surface from the ground points themselves. Open water is drawn as a flat sea at height 0, as DCS does. Heights that do not fit their surroundings (spikes) are pulled back to what their neighbours say, and patches of open water stored inside mountains take the height of the ground around them instead of showing as blue water. This fixes the black gaps in the sea and the spikes, fins and overlaps on land that the first version showed.
- The DLL Explorer now opens as a tab beside the Viewport instead of a floating window (drag it out to float it or dock it elsewhere).
- The viewport now takes the left three quarters of the window by default and the Outliner and Properties the right quarter (Window > Reset Panel Layout applies it).
- Exporting a DLL for AI and downloading Ghidra or Java from Preferences now report in the task card like the Blender and Substance Painter exports, so the inspector stays usable meanwhile. (Installing or updating EDM Inspector itself still shows a pop-up, because the program restarts.)
Fixed
- Liveries. Liveries did nothing to the model and said 0 of its materials used them, because most descriptions write DIFFUSE, NORMAL_MAP or ROUGHNESS_METALLIC instead of numbers and the manager did not know those names, and because DCS ships most liveries as zip files, which were not listed at all. Both are handled now (zips are unpacked on demand into a cache), as are texture names like
../COMMON/nameand$LIVERIES/unit/name. - Terrain seams. The edges between terrain tiles no longer show stray slivers and spikes: the squares of a loaded area are triangulated together, so their borders join up.
EDM Inspector 1.6.0
1.6.0 (2026-09-24)
Real terrain meshes, editing, a Blender round trip, cockpit and livery tools, Substance Painter, and maps and models in 3D. (This release also carries everything planned for 1.5.0, which was never published.)
Added
- Real terrain mesh (early). Maps in 3D now use the terrain mesh DCS itself draws, read from the map's .surface5 file, instead of only the coarse height map: real mountains, valleys and sea floor, coloured by height. The whole map opens as its coarsest level (about a million triangles); the height map stays in the Outliner, hidden. It works for all six installed maps. This is an early version: the sea shows some gaps, finer levels are not offered in the interface yet, and the objects placed on the map and their models are not read yet.
- Maps in 3D. File > Open Terrain in 3D (or View in 3D in the Terrain Map panel) shows a whole DCS map in the main viewport: terrain relief as tiles, roads and railways, airfields with their runways, towns and navigation aids. Every part has an eye in the Outliner, can be clicked in the viewport, and shows its details in Properties. Airfield and town markers keep the same size on screen at any zoom. The terrain is drawn taller than real (2x by default, change it under Preferences > Settings > Viewport) so hills read. The objects placed on the map and their models are not read yet.
- Assets panel. A tab beside the Outliner lists every model in your DCS install and mods (aircraft, vehicles, ships, weapons, buildings and props, over 5,000 of them) with search and categories. Double-click one to open it on its own in the viewport. Lower-detail and damage copies are hidden unless you ask for them.
- Export Selection as 3D Mesh. Export > Export Selection as 3D Mesh saves what you selected (or everything shown) as an OBJ with its materials and textures, or as a single .glb file. It works for models (in the pose the Arguments sliders show) and for maps (any tiles, roads or airfields you pick), and needs no Blender. Blender opens both files as they are.
- Camera controls. Preferences > Settings > Controls chooses which mouse button, with which of Shift, Ctrl or Alt held, orbits, pans, zooms or looks around (turning the camera on the spot, new), with up to three inputs each, plus speeds and inverted directions. A reminder of the current controls sits in the corner of the viewport (Overlays > Camera control hints turns it off), and View > Camera Controls opens the page.
- Send to Substance Painter. Export > Send to Substance Painter... opens the selection (or everything shown) in Painter as a new project: one texture set per material, and every texture of those materials (base colour, normal, specular and the rest) loaded into the project's Assets > Project shelf and grouped by material. Painter is started for you and the project is saved next to the exported files. Set Painter's path under Preferences > Settings > Locations (it is found automatically in the usual places). This version of Painter cannot place textures on layers from outside, so drag each one from the shelf onto a fill layer. After exporting textures from Painter, Export > Import Painted Textures from Painter... writes them back over the model's textures (a .bak of each original is kept).
- Structural editing. Right-click in the Outliner to add a group, transform or animated node, add a connector, duplicate, delete (keeping or removing what is under it) and move parts to a new parent. Every parent number, render item and bone is renumbered for you, each edit is checked and can be undone, and the result is saved through File > Save Edited Copy As or Save and Replace Original. A part can also get an animation channel for an argument.
- Blender round trip. Animated parts export to Blender as plain keyframes on the object again (no bones), as they did before 1.5.0. Import Changes from Blender reads those keyframes back, and also vertex positions, normals and UVs of meshes whose vertex count did not change. Changes to the number of vertices are reported and left alone.
- Textures panel. Each texture opens in a larger viewer with a per-channel view (R, G, B, A), and shows its size, format, mip count, where the file is, and which materials use it.
- Collision and hitbox views. View > Show Collision Shapes and Show Model Boxes draw the shell, segment and bounding-box data of a model in the viewport.
- Model versions and LODs. The Assets panel groups a model's LOD and damage variants; the viewport shows which LOD is in use at a distance and lets you switch between them, with triangle and material counts.
- Clickable data. A Clickable panel reads a cockpit's clickabledata.lua and lists each control (connector, argument, hint, action). Hovering a control in the viewport shows what it is, and clicking selects its parts so you can try its animation.
- Livery manager. A Liveries panel lists every livery of the aircraft (Saved Games and install), shows which texture slot uses which file, previews a livery on the model, and edits description.lua.
- DLL Explorer: calls, classes and exports. A new Calls and uses view shows what the selected function calls (including functions it imports from other DLLs) and what calls it, which virtual table slots point at it, and, for a string, which functions use it. Classes list their virtual function tables (one per base class where a class has several) and their methods. Double-click any function in these lists to go to it. A new Exports tab lists what the DLL itself exports, read straight from the file, with C++ names made readable. On the Imports tab the imported names are made readable too and checked against the DLL they come from (for example EDCORE.DLL in your DCS folder), so a name that DLL does not export is flagged. Ghidra reads the call graph once per DLL; new DLLs get it as part of the first analysis, and DLLs analyzed before show a Read call graph button.
Changed
- Preferences > Settings is now split into tabs: Locations, Ghidra and Java, Installation, Viewport, Controls and General.
- The three small round buttons under the axis indicator (a hand, a magnifier and a square) are gone. Pan and zoom use the controls above, and the Perspective / Orthographic switch is now a labelled button in the viewport header.
- Sliders in the settings and the Arguments panel have a proper dark style, and drop-down lists no longer draw their arrow over the text.
EDM Inspector 1.4.0
1.4.0 (2026-09-24)
Everything is a panel now.
Changed
- The DLL Explorer and the Terrain Map are panels instead of pop-up windows. They open floating (a window of their own) and can be dragged into the main window's dock like any other panel; each DLL gets its own panel.
- The default arrangement is the Viewport on the left, the Outliner to its right, and Properties under the Outliner with Textures and Arguments as tabs beside it. (The "Material" panel is now called Textures.)
Added
- A Window menu next to Preferences. It shows or hides the Viewport, Outliner, Properties, Textures and Arguments panels, the Terrain Map and each open DLL, opens a DLL, and has Reset Panel Layout.
- Your panel layout is saved with a model's progress (File > Save Progress, or Export Progress File) and comes back when you open that model again. A model with no saved progress keeps the arrangement you have now; Reset Progress puts the panels back to the default.