Giter Club home page Giter Club logo

scenable's Introduction

Scenable

Scenable is a custom scenery manager for the X-Plane 11 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 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:

  • 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 https://github.com/X-Plane/xptools/tree/master/src/DSF, or just implement the required subset of the DSF 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.

scenable's People

Contributors

kellpossible avatar

Stargazers

Akilan Selvacoumar avatar

Watchers

James Cloos avatar  avatar Akilan Selvacoumar avatar  avatar

scenable's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.