ED_LRR/README.md

82 lines
2.3 KiB
Markdown
Raw Normal View History

# Elite: Dangerous Long-range router
## Features
- Three different routing algorithms:
- **Breadth-first search:**, always finds the shortest route but is quite slow
- **A-Star:** has an adjustable tradeoff between speed and quality
- **Greedy search:** always picks the next reachable star that's closest to the destination, very fast but very poor quality routes
- Nice GUI! (made with PyQt5)
- Two themes! (Dark and Light)
- Uses data from (EDSM)[https://edsm.net/] for star data
- Only routes through scoopable systems, no more running out of fuel! (assuming you have a fuel scoop)
- Precomputing of BFS routing graphs for near-instant routing from your home system to any destination!
- Routing code written in Rust, so it's quite speedy!
- Export routes as HTML, JSON, CSV and SVG (WIP!)
- Automagically copy next jump destination into system clipboard (works by monitoring the player journal file)
# Installation
## Prerequisites
2019-09-28 13:41:56 +00:00
- Python:
- conda (miniconda/anaconda)
- tox (`conda install tox`)
- Inno Setup Compiler
- Download from [here](http://www.jrsoftware.org/isdl.php)
- or install via [scoop](https://scoop.sh/) `scoop install inno-setup`)
- Visual Studio 2019
- nightly rust compiler (`x86_64-pc-windows-msvc`)
## Building an installer
2019-07-14 22:43:57 +00:00
2019-09-28 13:41:56 +00:00
(Assuming `conda` is in your `PATH`)
1. Start a Visual Studio 2019 x64 command prompt
2. Run `tox`
3. Grab the installer from `installer/Output/`
## Manual installation
2019-07-14 22:43:57 +00:00
2019-09-28 13:41:56 +00:00
(Assuming `conda` is in your `PATH`)
2019-07-14 22:43:57 +00:00
2019-09-28 13:41:56 +00:00
1. Start a Visual Studio 2019 x64 command prompt
2. Run the following commands:
```
conda install pycrypto nuitka
pip install PyQt5 setuptools_rust
2019-07-14 22:43:57 +00:00
python build_gui.py
pip install .
```
then you can run `ed_lrr -h` from your command prompt to get help
2019-07-14 22:43:57 +00:00
2019-09-28 13:41:56 +00:00
# To do
## Router
- Caching wrapper for System
- Only fetch position once when building Spatial-Tree
- Fetch data on demand
## GUI
- Implement estimate time to completion display for route computation and preprocessing
- Export route as:
- JSON
- HTML (WIP)
- CSV
- SVG
## Installer
- Update PATH from installer
## Preprocessing
- Build index over `systemsWithCoordinates.json` instead of loading it into RAM (reuse modified `LineCache` from `router.rs`)
## Misc
- Luigi based Task queue for distributed routing