Emotracker v2.3 Release Notes

February 23, 2019

EmoTracker 2.3 has just been released! As always, your tracker will automatically prompt you to install it the next time you start it, or you can find “Check For Updates” in the gear menu!

Read on for the details on what’s included!

For Users

Auto-Tracking!

Version 2.3 brings the first wave of suport for one of our most requested features - auto-tracking!

The primary concern with auto-tracking has never been whether or not we could (at least to an extent), but rather whether or not we should. For the past few weeks, I’ve been working with the development team for the A Link to the Past Randomizer to ensure that we were able to make this feature a reality without introducing significant risk to races and other competitive events, and I’m super happy to announce that it’s finally ready for all of you!

Initial support at launch is limited to my LTTPR pack, which supports item AND location tracking (except in dungeons) but the SNES platform is fully supported and ready for pack developers to get to work. There is some experimental support in place for a few other platforms, but they are not quite ready for official release yet.

Auto-tracking uses the same technology as Crowd Control to provide a live connection to a game running on either an SD2SNES flash-cart (via USB) or to the Bizhawk emulator (via Lua scripts).

Using Auto-Tracker

To get started using Auto-Tracker, look for the adorable little robot in the bottom bar of the tracker. It will only show up for packs that support it. Right clicking on it will allow you to select a supported connection method for the appropriate platform.

autotracker menu screenshot

If the robot turns a delightful shade of cyan, you’re in business! If it’s yellow or red, you’ve got problems! Check your setup, and then check in the Discord for support.

autotracker robot color

Here are some specific notes on console vs. emulator setup…

SD2SNES

To use auto-tracking with SD2SNES, you will need to install the Crowd Control client, and make sure you’ve started the “SD2SNES Service”. You can find installation information and instructions at the Crowd Control website. Once the service is running, all you need to do is start the auto-tracker via the robot’s context menu.


Bizhawk

To use auto-tracker with Bizhawk, you will need to make sure that you are using the BSNES core, and load the connector.lua Lua script located in your EmoTracker installation directory, e.g. C:\Program Files (x86)\EmoTracker\Connectors\bizhawk.

Crowd Control Compatibility

  • SD2SNES users are currently able to use auto-tracker at the same time as Crowd Control!
  • Emulator users can’t do this right now, but I am in talks with the Crowd Control folks about enabling this in the future.


Upgrades to Notes!

Notes have received a nice upgrade, with support for more Markdown formatting. In particular, we now have support for…

  • Headings 1-5
  • Tables (pipe and grid)
  • Ordered and un-ordered lists
  • Code blocks

5.3 notes upgrades screenshot


For Developers

Lua 5.3

EmoTracker 2.3 upgrades the Lua environment to version 5.3. The biggest change here is support for bitwise operators (very useful for auto-tracker implementations), but it also adds a distinction between the floating-point arithmetic division operator / and the integer “floor division” operator, //.

Memory Watch Support (Auto-Tracker)

Auto-tracking for packs is implemented entirely in Lua - any SNES game that is compatible with ConnectorLib (and the USB2SNES firmware for SD2SNES) can support auto-tracker. SNES games that are incompatible include any games that make use of expansion chipsets that are incompatible with USB functions. This list of chipsets currently includes…

  • SuperFX
  • SA-1 (Super Mario RPG)

As always, I recommend using my LTTPR pack as a reference for implementation. Assume that any function you DON’T see is unavailable unless I post about it somewhere.

Future Work

Support for additional platforms is forthcoming, as is support for additional styles of auto-trackers, especially file watches for games on PC that need to be tracked via monitoring e.g save files.