Skip to content

XFastInstall v0.5.0

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Jan 06:32
· 258 commits to main since this release
2f29d7c

[0.5.0] - 2026-01-21

Added

Scenery Manager

  • Complete Scenery Management Interface - New dedicated page for managing X-Plane scenery packages
    • Visual interface for viewing and organizing all scenery in Custom Scenery folder
    • Real-time sync with scenery_packs.ini file
    • Enable/disable scenery packages with toggle switches
    • Drag-and-drop reordering within and across categories
    • Search functionality to quickly find scenery packages
    • Collapsible category groups with entry counts (e.g., "机场 (162)")
    • Missing library dependency warnings with visual indicators
    • Apply changes button to save modifications to scenery_packs.ini
    • Automatic backup creation before applying changes

Scenery Auto-Sorting System

  • Intelligent Scenery Classification - Automatically categorizes scenery packages

    • Analyzes DSF file headers and folder structure
    • 8 classification categories with priority-based sorting:
      1. FixedHighPriority - SAM libraries (SAM_Library, openSAM, etc.)
      2. Airport - Scenery with apt.dat files
      3. DefaultAirport - X-Plane's GLOBAL_AIRPORTS marker
      4. Library - Packages with library.txt but no Earth nav data
      5. Other - Unclassified scenery
      6. Overlay - Scenery with sim/overlay property
      7. Orthophotos - Ortho4XP imagery (detected by creation agent)
      8. Mesh - Terrain mesh packages
    • Parses DSF PROP section for sim/overlay, sim/creation_agent, sim/filter/aptid
    • Detects terrain references (TRET) vs object references (OBJT)
    • Recursive apt.dat search with depth limits for performance
    • Plugin detection for "Other" category classification
  • Persistent Scenery Index - Fast caching system for scenery metadata

    • Stored at %LOCALAPPDATA%/XFastInstall/scenery_index.json (Windows)
    • Automatic cache invalidation based on directory modification time
    • Parallel scanning with rayon for large scenery collections
    • Tracks: category, sub-priority, file counts, library dependencies, tile coverage
    • Manual rebuild index button in settings
  • Earth Nav Tile Coverage Sorting - Sorts scenery by geographic coverage

    • Counts 10-degree tile folders under Earth nav data (e.g., "+30+110")
    • Scenery with more tiles sorted before scenery with fewer tiles
    • Ensures large coverage areas load before small regional scenery
  • Alphabetical Sorting Within Categories - Consistent ordering

    • After category priority, entries sorted by folder name (case-insensitive)
    • Provides predictable, organized scenery list
  • Auto-Sort After Installation - Optional automatic sorting

    • Toggle in settings to enable/disable auto-sorting after scenery installation
    • Smart insertion: only inserts newly installed scenery at correct position
    • Preserves user's manual ordering of existing scenery
    • Marked as experimental feature in settings UI
  • Manual Sort Button - Sort all scenery on demand

    • "Sort All Scenery Now" button in settings
    • Creates timestamped backup before modifying scenery_packs.ini
    • Atomic file write (temp file + rename) for safety

Enhanced Scenery Detection

  • SAM Library Priority - SAM libraries automatically promoted to highest priority

    • Enhanced pattern matching: "SAM_Library", "open_SAM_library", "openSAM", "mySAM"
    • Correctly excludes airport codes (e.g., "ZSAM") and unrelated words (e.g., "sample")
    • Ensures SAM libraries load first for proper airport animations
  • Windows Shortcut Support - Full support for .lnk files in Custom Scenery

    • Automatically resolves shortcuts to target directories
    • Shortcut target folder name used for sorting and classification
    • Works alongside symbolic links (mklink) for maximum compatibility
    • Proper handling in index updates and sorting operations
  • Symbolic Link Support - Enhanced symlink handling

    • All file system traversal explicitly follows symbolic links
    • Applies to: apt.dat search, DSF file search, texture counting, validation
    • Debug logging shows symlink targets for troubleshooting

UI/UX Improvements

  • Enhanced Theme Transitions - Smoother theme switching experience

    • Improved animation timing and easing
    • Better visual feedback during theme changes
  • Search Functionality - Quick scenery filtering

    • Real-time search across all scenery packages
    • Automatically expands collapsed groups when search matches found
    • Clear search button for quick reset
  • Grouped Display - Organized category view

    • 8 collapsible category groups with rotating chevron icons
    • Group collapse state persists to localStorage
    • Smooth expand/collapse animations
    • Visual separation between categories

Performance Optimizations

  • Runtime Log Level Control - Dynamic logging configuration

    • New set_log_level command (Debug/Info/Error)
    • Parallel processing enabled when not in debug mode
    • Sequential processing only for debug builds (ordered logs)
    • Significantly faster indexing in production
  • Scenery Classification Performance - Major speed improvements

    • Only scans first DSF file found (not all DSF files)
    • apt.dat search limited to Earth nav data folder with max depth 5
    • Texture counting stops after finding 5 files (sufficient for classification)
    • Dramatically faster indexing for large scenery packages (Ortho4XP, etc.)

Changed

  • Scenery Installation Flow - Optional auto-sorting integration
    • install_addons command now accepts auto_sort_scenery parameter
    • Newly installed scenery automatically sorted if enabled in settings