2019-10-23 09:32:29 +00:00
|
|
|
# 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-20 15:40:56 +00:00
|
|
|
|
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`)
|
2019-09-20 15:40:56 +00:00
|
|
|
- Visual Studio 2019
|
|
|
|
- nightly rust compiler (`x86_64-pc-windows-msvc`)
|
|
|
|
|
2019-10-23 09:32:29 +00:00
|
|
|
## 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/`
|
|
|
|
|
2019-10-23 09:32:29 +00:00
|
|
|
## 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 .
|
|
|
|
```
|
|
|
|
|
2019-10-23 09:32:29 +00:00
|
|
|
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
|
2019-09-28 19:23:59 +00:00
|
|
|
|
2019-10-23 09:32:29 +00:00
|
|
|
## Router
|
|
|
|
|
|
|
|
- Caching wrapper for System
|
|
|
|
- Only fetch position once when building Spatial-Tree
|
|
|
|
- Fetch data on demand
|
|
|
|
|
2019-09-28 19:23:59 +00:00
|
|
|
## GUI
|
2019-10-23 09:32:29 +00:00
|
|
|
|
2019-09-28 19:23:59 +00:00
|
|
|
- Implement estimate time to completion display for route computation and preprocessing
|
2019-10-23 09:32:29 +00:00
|
|
|
- Export route as:
|
|
|
|
- JSON
|
|
|
|
- HTML (WIP)
|
|
|
|
- CSV
|
|
|
|
- SVG
|
2019-09-28 19:23:59 +00:00
|
|
|
|
|
|
|
## Installer
|
|
|
|
|
|
|
|
- Update PATH from installer
|
|
|
|
|
|
|
|
## Preprocessing
|
|
|
|
|
2019-10-23 09:32:29 +00:00
|
|
|
- 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
|