MCPcopy Create free account
hub / github.com/black-sliver/PopTracker

github.com/black-sliver/PopTracker @v0.35.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.35.3 ↗ · + Follow
10,238 symbols 20,431 edges 910 files 2,225 documented · 22% updated 2d agov0.35.3 · 2026-06-21★ 17222 open issues

Browse by type

Functions 7,287 Types & classes 2,951
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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.

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 releases exist for Windows 64bit, macOS 64bit and Linux x86_64 (see Download prebuilt exe or app),\ should compile on most unix-like OS (see Building from source).

Nix users can install poptracker from nixpkgs.

Raspberry Pis can run the Linux ARM64 builds on the 64bit OS (available for Pi 3 and newer). 32bit OS may still work, but you need to build yourself. Only Pi 5 with 64bit OS is tested.

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, app or AppImage

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

For the AppImage, you still need to install which and a dialog provider (zenity, kdialog, matedialog, qarma or xdialog) to run them. The AppImage currently requires fuse2. On recent Ubuntu and Debian that can be installed with apt install libfuse2t64.

Third-party packages

Please note that the below packages are not maintained by black-sliver.

Arch users can install poptracker from the AUR.

Gentoo users can install games-util/poptracker from the Ysayle overlay.

Building from source

See BUILD.md.

Supported/tested packs

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 tested with GBA and N64. See doc/AUTOTRACKING.md for details.

Other systems

No work has been done for other systems yet.

Keyboard Shortcuts

Hotkey Alternative Function
F1 n/a Show this document.
F2 n/a Open broadcast window.
F5 Ctrl + R Reload: if the pack did not change, loads an empty state (everything unchecked), otherwise same as force-reload.
Ctrl + F5 Ctrl + Shift + R Force-reload: reload the pack from disk.
F11 Ctrl + H Toggle visibility of cleared and inaccessible map locations.
Ctrl + P n/a Toggle between mixed and split colors for map locations.

Version Numbering

  • Major update (X.0.0) may break everything
  • Minor update (0.X.0) may change render output (i.e. window captures break)
  • Revisions (0.0.X) should only fix bugs and add non-breaking features

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).

Command Line Arguments

PopTracker supports some command line arguments. Run with --help from a terminal or see doc/commandline.txt.

Core symbols most depended-on inside this repo

Shape

Method 5,996
Class 2,844
Function 1,291
Enum 107

Languages

C++98%
C2%
Python1%

Modules by API surface

lib/json/include/nlohmann/json.hpp601 symbols
lib/miniz/miniz.c194 symbols
src/gh/util/date.h157 symbols
lib/valijson/include/valijson/constraints/concrete_constraints.hpp133 symbols
lib/tinyfiledialogs/tinyfiledialogs.cpp126 symbols
lib/asio/include/asio/impl/spawn.hpp108 symbols
lib/asio/include/asio/impl/awaitable.hpp107 symbols
lib/asio/include/asio/experimental/impl/coro.hpp105 symbols
lib/asio/include/asio/experimental/impl/co_composed.hpp101 symbols
lib/asio/include/asio/execution/any_executor.hpp100 symbols
lib/asio/include/asio/detail/buffer_sequence_adapter.hpp94 symbols
lib/asio/include/asio/execution/blocking.hpp90 symbols

For agents

$ claude mcp add PopTracker \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page