black-sliver / PopTracker

universal, scriptable randomizer tracking solution that is open source, runs everywhere and supports auto-tracking.
Other
67 stars 21 forks source link

PopTracker

Powerful open progress tracker is a project to offer a universal, scriptable randomizer tracking solution that it is open source, runs everywhere and supports auto-tracking.

Getting started

This is work in progress. Some pre-existing packs work, some do not.

Download a binary release or build from source. Nix users can install poptracker from nixpkgs.

Drag & drop downloaded packs into the PopTracker window to install them without unpacking.\ Alternatively copy or unpack tracker packs into one of the search paths EXEDIR/packs (not on macOS), HOME/PopTracker/packs, Documents/PopTracker/packs or CWD/packs.

Use the Load button in the top left corner to load a pack.

Do not load untrusted packs until some sort of fuzzing is done.

Binary release is Windows 64bit and macOS 64bit only at the moment (see Download prebuilt exe or app),\ should compile on most unix-like OS (see Building from source).\ WASM support still needs a lot of work.

Check BUILD.md, CONTRIBUTING.md, doc/OUTLINE.md and doc/TODO.md if you want to join in on the development journey.

Check doc/PACKS.md if you want to write a game pack for this tracker.

Upstream URL is https://github.com/black-sliver/PopTracker/

Screenshot

Screenshot

Download prebuilt exe or app

Head over to releases and unfold "Assets" of the latest release or pre-release to get a Windows exe or macOS app.

We have AppImage builds on the Community Discord for Linux. You still need to install which and a dialog provider (zenity, kdialog, matedialog, qarma or xdialog) to run them.

Building from source

See BUILD.md.

Supported/tested packs

more to be tested

Join the Community Discord to find pack repositories, follow updates and get support.

Location Color Key

Color Meaning
Red This check is not currently accessible.
Yellow This check is not logically accessible, but the location can be reached through alternate methods (e.g. glitches, breaking key logic)
Orange Some (but not all) checks at this location are accessible.
Green All checks at this location are logically accessible.
Blue The check at this location is visible, but you cannot currently access the check.
Other Locations with mixed accessibility checks will have the corresponding colors mixed.

Colors can be customized by following instructions on the Color Picker page.

Press Ctrl+P to switch between "mixed" and "split" map location colors.

Auto-tracking

SNES Games

Requires SNI or QUsb2Snes (flash cart, emu, snes mini) or usb2snes (flash cart only). See their respective documentation.

PC Games

We do not allow direct access to process memory or sockets from Lua. Instead UAT can be used to receive "variables".

Archipelago Multiworld

Archipelago allows connecting to a Multiworld as a tracker. Click on the grey "AP" to connect to a server if the pack supports it. See doc/AUTOTRACKING.md for more details.

Bizhawk Connector

Preview, currently only when setting platform to "n64". See doc/AUTOTRACKING.md for details.

Other systems

No work has been done for other systems yet.

Version Numbering

Plug-Ins

Currently there is no plug-in interface.

If you want to work towards implementing such a system, please check PLUGIN LICENSE ADDENDUM.md for licensing considerations.

User Overrides

Users can override files from packs by creating a folder with the same file structure as in the pack, named .../user-override/<pack_uid> where ... is any one of Documents/PopTracker, %home%/PopTracker or AppPath.

Portable Mode

When creating a file called portable.txt next to the program (not macos) or next to poptracker inside the AppBundle (macos-only), the app runs in portable mode, which changes the default pack folder to be next to the program (not in home folder) and disables asset and pack overrides from home folder (only allows overrides from program folder).