📌 The scenery_packs.ini editor – draft, preview, backups and profiles

💬 0 replies

X-Plane scenery – the scenery_packs.ini editor

The X-Plane scenery view (formerly Packages) shows and edits the order and enabling of sceneries in the Custom Scenery\scenery_packs.ini file of the X-Plane installation from Settings. The list is in X-Plane priority order: # is the number as in Log.txt (0 = highest priority), ln is the ini line. On top are folders not in the ini – X-Plane adds them at the top, enabled, at its next start (+ to ini adds them at the recommended place). At the bottom, under an expandable row, are Laminar (Global Scenery, default scenery) and Global Airports without a line – they cannot be edited.

  • The checkbox enables or disables a pack. Drag it with the mouse or press Alt+↑ / Alt+↓ to move it, Space toggles the selected ones. Selection: click, Ctrl+click, Shift+click, arrows, Shift+arrows, Ctrl+A.
  • Order / Groups: in groups Studio tests, Airports, Overlays, Libraries, Orthophoto, Meshes, Other and Disabled; dragging and Alt+arrows move within the group.
  • Badges as in the DSF list: content kind (mesh, overlay, orthophoto, airport, library, empty, missing), Global Airports, Studio test (with the editor project), link (junction / symlink, the target in the tooltip), other installation, nested folder, missing Earth nav data, number of exclusions, duplicate, same data (another path – a link – to the same folder as a pack above; X-Plane loads it again), tab, cp1250 and a draft change. Tiles = number of DSF tiles of the pack, ! = number of check findings.
  • Filter: text, pack kind (finds disabled packs too), enabled only, disabled only, with check findings and changed in the draft, prefix ZZ_, YY_, ZZZ_RFS_ and tile only (e.g. -21+057 or -21 57, Enter) – only packs with a DSF of that tile. Enable / Disable change all filtered or selected packs at once; Global Airports is not disabled in bulk (a line pointing to the Global Airports of another X-Plane installation is an ordinary pack).
  • Right click on a pack: details, enable / disable, move up / down, to the top / bottom, merge duplicate lines, remove the line from the ini (the folder stays – X-Plane adds it on top and enables it at the next start, the preview shows it; if you do not want it loaded, disable the line), browse the library, show in folder, copy the path, link target, name and ini line.

On the right are three tabs:

  • Pack – priority, ini line and text, state, kind, folder, link target, Studio test, size, exclusions, action buttons, tiles on a mini map over the OSM base map or the provider from Settings › Base map – offline only from the cache (a click shows the tile stack), airport ICAO codes, check findings and the pack library (entries, regions, warnings, Browse this package's library).
  • Checks – findings on the draft (error, warning, recommendation, info) with a line N link and a Fix: … button that adds the fix to the draft. Checked are: several enabled meshes of one tile, our mesh disabled below an enabled orthophoto, a mesh above overlays with exclusions, an overlay with exclusions above Global Airports, a custom airport below Global Airports, Global Airports disabled or without a line, Global Airports written as a path instead of *GLOBAL_AIRPORTS*, a missing folder, a broken link, a link into another installation, a duplicate line (the same path – fix Merge), two lines to the same data through a link (fix Disable the second; do not remove the line, X-Plane would bring the folder back enabled), a nested folder, missing Earth nav data, an empty pack, an archive and a .lnk shortcut in Custom Scenery, a folder not in the ini, a Studio test out of step with the ini, tabs, indentation, invalid UTF-8 and a read-only ini. Log.txt vs the ini at the bottom shows what changed since the last X-Plane start.
  • Tile – the tile stack (who provides the mesh, covered meshes, meshes disabled in the ini and meshes not in the ini separately, drawn overlays and what the exclusions of higher packs remove – not the exclusions behind an airport filter won by another pack; such a pack has the label airport elsewhere: ICAO), optionally with the draft, and the quick action Tile mesh from: [pack] – the chosen mesh is enabled and goes to the top for the tile, competing enabled meshes are moved below it (move the others down) or disabled (disable the others).

The line N links in the tile stack of the Map, of Operations › Test in X-Plane and of the editor (Underlays › Existing scenery, the Terrain row) open this view at the pack line.

Draft, preview and writing

  1. Every change goes to a draft first: the top bar shows the number of draft changes (the number of changed ini lines), Undo (Ctrl+Z in the list) and Discard draft. The draft survives switching views; the window asks before closing with an unsaved draft.
  2. Preview… shows the byte and the text diff of the ini (the byte diff including line endings, tabs and bytes outside UTF-8), the affected tiles with the winning mesh before and after and the drawn overlays (computed for the state after the next X-Plane start: a folder without a line is on top and enabled, its mesh shows after the next start), warnings, new and resolved check findings and the backup name (the time in the name = the time of the write). A very long byte diff is shortened and the preview says so; the full diff is in the Text diff tab.
  3. Only Write scenery_packs.ini writes: the ini is backed up to _zalohy_scenerii\scenery_packs_<time>_pred_<action>.ini in the X-Plane installation, written atomically and verified by its sha256; the write is recorded in the log. Unchanged lines, the header, line endings, BOM and unknown lines stay byte-identical.

While X-Plane is running
The write goes through and the change takes effect after an X-Plane restart – the Studio never closes X-Plane. The X-Plane state is in the top bar. The first 60 s after X-Plane starts the write is blocked, because X-Plane rewrites the ini at start – the preview counts down and allows the write when the block ends (the Studio checks it again). Operations › Test in X-Plane behaves the same. A read-only ini is reported in the preview already and is not written.

The ini changed outside the Studio
When scenery_packs.ini changed since the preview (another program, X-Plane), nothing is written – open the preview again. If the ini changes while you edit, the draft is carried over by pack paths; when that is not possible, the Studio offers to discard the draft.

Backups, profiles and the recommended order

  • Backups… – the Studio backups from _zalohy_scenerii and manual scenery_packs*.ini copies in Custom Scenery (newest on top, with a match against today's ini) and the Write log. Restore… opens a restore preview; writing again needs a confirmation and makes a new backup.
  • Profiles… – saved sets of enabled packs by folder name (e.g. “Mauritius RF”), in the Studio working folder xpini\profily.json. Save profile stores the list state including the draft, Apply… opens a preview (packs the profile does not know stay as they are; a profile does not disable Global Airports – only on its own), Take into the draft only adds it to the draft. Overwrite and Delete do not touch scenery_packs.ini.
  • Recommended order – custom airports, Global Airports, overlays and libraries, orthophoto, meshes; only as a proposal in the preview (the order within groups stays). It is a community habit, not an X-Plane rule.
  • Tile mesh… switches to the Tile tab with the Tile mesh from quick action.

Based on the RF Studio manual (F1 › Manual, version 0.12.0-beta). Post your questions and experience in this thread.