Elite: Dangerous Long Range Router
Find a file
2020-03-28 15:20:49 +01:00
.chglog chore: more cleanup 2019-09-20 17:44:33 +02:00
celery Big update, AppVeyor_Test 2020-03-28 14:53:52 +01:00
docs Big update, AppVeyor_Test 2020-03-28 14:53:52 +01:00
ed_lrr_gui Big update, AppVeyor_Test 2020-03-28 14:53:52 +01:00
icon Big update, AppVeyor_Test 2020-03-28 14:53:52 +01:00
installer Big update, AppVeyor_Test 2020-03-28 14:53:52 +01:00
rust Big update, AppVeyor_Test 2020-03-28 14:53:52 +01:00
tests Big update, AppVeyor_Test 2020-03-28 14:53:52 +01:00
.env Big update, AppVeyor_Test 2020-03-28 14:53:52 +01:00
.gitignore Update .gitignore, appveyor.yml, and celery_rabbitmq_setup.ps1 2020-03-28 15:20:49 +01:00
appveyor.yml Update .gitignore, appveyor.yml, and celery_rabbitmq_setup.ps1 2020-03-28 15:20:49 +01:00
build_gui.py Big update, AppVeyor_Test 2020-03-28 14:53:52 +01:00
CHANGELOG.md Big update, AppVeyor_Test 2020-03-28 14:53:52 +01:00
LICENSE chore: Setup tox+appveyor, refomat python code, prepare rust code to add branch pruning to search 2019-09-20 17:40:56 +02:00
MANIFEST.in Big update, AppVeyor_Test 2020-03-28 14:53:52 +01:00
noxfile.py Big update, AppVeyor_Test 2020-03-28 14:53:52 +01:00
pyproject.toml Big update, AppVeyor_Test 2020-03-28 14:53:52 +01:00
README.md Big update, AppVeyor_Test 2020-03-28 14:53:52 +01:00
setup.cfg Big update, AppVeyor_Test 2020-03-28 14:53:52 +01:00
setup.py Big update, AppVeyor_Test 2020-03-28 14:53:52 +01: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

  • Python:
    • conda (miniconda/anaconda)
    • tox (conda install tox)
    • Inno Setup Compiler
      • Download from here
      • or install via scoop scoop install inno-setup)
  • Visual Studio 2019
  • nightly rust compiler (x86_64-pc-windows-msvc)

Building an installer

(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

(Assuming conda is in your PATH)

  1. Start a Visual Studio 2019 x64 command prompt
  2. Run the following commands:
conda install pycrypto nuitka
pip install PyQt5 setuptools_rust
python build_gui.py
pip install .

then you can run ed_lrr -h from your command prompt to get help

TODO

Routing

  • Custom weights and filtering for routing

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
  • Full route tree computation
    • overlap elimination