Brownie 0.1.0 — Windows x64

A MITM proxy and automation runtime for Realm of the Mad God (Exalt), with
an ImGui overlay drawn inside the game. Everything it does is a plugin, and
every plugin is switched on and bound to a key from that overlay.

Setup
-----
1. Copy d3d11.dll into the game folder — the one holding "RotMG Exalt.exe",
   normally %LOCALAPPDATA%\RealmOfTheMadGod\Production.
2. Run brownie.exe from this folder. It has to be started from here: the
   configuration, the plugins and the game data are all read from beside it.
3. Start the game the way you normally do. Press INSERT in it for the overlay.

Ctrl-C in the console stops the runtime and lets it shut down cleanly. The
run is also written to logs\runtime.log, truncated on every start.

What is here
------------
  brownie.exe      the runtime: proxy, packet pipeline, plugin host
  d3d11.dll        the module injected into the game — copy it, see above
  config\          runtime.json, and the preferences the overlay writes
  plugins\         loaded at startup, and reloaded when saved
  node_modules\    @brownie/plugin-api, which a plugin imports
  data\            the wire protocol: packet definitions and stat types
  game-data\       the game's own object and tile data

game-data was extracted from one install of the game. A game patch makes it
stale, and the runtime says so at startup when it no longer matches yours.

data\ is read at startup and nothing here caches it. A patch that moves a
field on the wire is an edit to packet-definitions.json, not a new build.

Plugins
-------
Drop a .js or .mjs file into plugins\. It is loaded at startup, and saving it
reloads it mid-session — no restart. Import @brownie/plugin-api for what a
plugin is written against; it is in node_modules\ here, types included, so an
editor can check the file. See docs\plugins.md in the repository.
