Git Product home page Git Product logo

doortracker's Introduction

Muffins' Jank (Auto)Door Tracker

Under the current standard racing ruleset, auto-tracking using this tracker is illegal to use while racing unless explicitly allowed or agreed upon on a per-race basis

A getting started document, including screenshots, controls nd more technical details can be found here, I will attempt to keep this up to date.

This tracker will auto-track dungeon layouts from the Doors branch of ALttPR using SNI.

  • When visiting a dungeon, that dungeons tab will be auto-selected
  • Players position is displayed as a red 'x'
  • Unvisited supertiles are automatically added to the map
  • Entering or exiting a dungeon will automatically add a lobby to the door
  • Mirroring will add a lobby to the door mirrored to

Basic Usage

Auto-tracking will track supertiles, links between doors and lobbies. Dark rooms are only visible if the player has a lamp or a torch lit, otherwise they are obscured.

Manually link doors with left click. Right click a line to remove a link.

Right click a door to place an annotation or lobby on that door. Lobbies are the white squares and are used to start mapping a dungeon. Right click an annotation to remove it.

Add new tiles by clicking an empty grey square. Ctrl-Right click to remove a tile.

You can save the current state of the tracker with File -> Save Tracker Data. This will save the current layout and the current annotations. You can load a saved layout File -> Load Tracker Data and selecting a file.

The size and aspect ratio of the tracker can be modified under the view menu.

Installation

Windows users

Download the latest release from the releases page. Run the DoorsTracker_vx.x.x.exe file.

Other users

Clone the repo and install the requirements. python DoorsTracker.py

Usage

Start SNI and launch the tracker. The tracker will automatically connect to SNI and start tracking.

Controls

  • Left click empty tile - Add a new tile
  • Left click door - Start link, select another door to complete
  • Right click door - Add annotation or lobby
  • Right click link - Remove link
  • Ctrl+Right click tile - Remove tile

Advanced Controls

  • Double left click door - Start link and add new tile
  • Middle click tile - Pin tile (prevents tile being hidden in "hide simple tiles" mode)

Command Line Arguments

  • --size - Size of the tracker window ('small', 'medium', 'large')
  • --port - Port to use for SNI connection
  • --debug - Show debug messages

Requirements

  • SNI is required to use this tracker - it will not work with (q)usb2snes

If you are using the Windows release, no other dependencies are required.

If you are running from source, you will need the following dependencies:

  • Python 3.10+
  • grpcio
  • grpcio-tools
  • PyYAML
  • Pillow

Known Issues

  • When autotracking, multiple different dark rooms in the same dungeon will be obscured separately, providing the player with a little extra information
  • Certain supertiles with many connections (Mire lobby, Mire Big chest Supertile) or long transition edges (Desert Main, TT Lobbies) can have issues tracking. This usually results in a wrong connection, or a missed connection.

doortracker's People

Contributors

krisdavie avatar

Stargazers

Chris Florin avatar Paul Wendelboe avatar  avatar Kevin Oelze avatar William Kinderman avatar cassidy avatar jsd1982 avatar

Watchers

 avatar  avatar cassidy avatar

doortracker's Issues

Tracker not tracking anything

I start SNI, start the game and connect it to SNI using lua. Afterwards Iaunch DoorTracker, which seems to connect correctly to SNI. It works manually but doesn't autotrack anything.

image
image

I already have all required Python librarys installed, but can't seem to figure out what I'm missing. Wondering if this error is on my side doing something wrong or due to its still early developement

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.