https://github.com/kellpossible/scenable
Scenery manager for X-Plane 11
https://github.com/kellpossible/scenable
Last synced: 8 months ago
JSON representation
Scenery manager for X-Plane 11
- Host: GitHub
- URL: https://github.com/kellpossible/scenable
- Owner: kellpossible
- License: gpl-3.0
- Created: 2021-05-14T04:30:37.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-02-19T11:20:47.000Z (over 4 years ago)
- Last Synced: 2025-07-07T02:04:35.257Z (11 months ago)
- Language: Rust
- Size: 96.7 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Scenable
Scenable is a custom scenery manager for the [X-Plane 11](https://www.x-plane.com/) flight simulator.
## Why Scenable?
Currently X-Plane appears to waste a lot of memory loading scenery and scenery library assets which it doesn't actually use. I measured a difference of about 10GB in memory usage when flying in an area with no custom scenery, but with lots of custom scenery in other areas currently enabled. Having lots of custom scenery enabled also makes the simulator slower to start.
The ultimate (**not yet complete**) goal of this tool is to make the management of enabling/disabling custom scenery based on the area that you want to fly in as painless as possible. When disabling scenery with this tool, it should detect whether scenery libraries are currently un-used and will disable them automatically, and the same thing in reverse, when enabling a scenery pack that uses a disabled library, it will also enable the library as required.
## Installation
You can build `scenable` application with the [rust compiler](https://www.rust-lang.org/) and run it with the following command:
```
cargo run --release
```
It's also possible to install the binary to your system using:
```
cargo install --git https://github.com/kellpossible/scenable
```
And then run using the `scenable` command.
## Roadmap
Core features:
- [x] ~Create GUI to manually enable/disable scenery packs.~
- [ ] Scenery pack selection (including multiple selection).
- [ ] Capability to re-order scenery packs (re-order selected scenery packs using buttons on the top toolbar).
- [ ] Preset creation, selection, updating and saving.
- [ ] Indicate differences between current state and saved state.
- [ ] Detection of new scenery packs, and removed scenery packs.
- [ ] Parse scenery library txt files.
- [ ] Implement a dsf parser (perhaps wrap , or just implement the required subset of the [DSF specification](https://developer.x-plane.com/article/dsf-file-format-specification/) in pure Rust).
- [ ] Class sceneries as libraries, textures, airports, etc (apply categories and show in UI)
- [ ] Scan DSF files (including unzipping using `rust-lzma`) to find references to scenery library objects.
- [ ] Automatic enable/disable of library scenery packs based on calculated dependencies.
Nice to have:
- [ ] Show coverage map.
- [ ] Parse x-plane navigation database.
- [ ] Enter route, automatically only enable scenery along route.