Skip to content

v1.5.0

Choose a tag to compare

@MichelleFindlay MichelleFindlay released this 19 Sep 20:34
· 12 commits to main since this release
6f69885

v1.5.0

Changed

  • Each of the 64 destruction methods now lives in its own file under a new js/methods/ directory, fetched on demand only the first time that method is actually launched — a plain page load, or browsing the method picker, no longer downloads any of them. index.php's inline script shrank from roughly 9,400 lines to about 2,300, keeping only the shared engine (city generation, colour palette, UI wiring) and a small loader/registry.
  • No in-page launch (a tile click, tapping anywhere on the intro screen, pressing any key, or RANDOM) rewrites the address bar anymore. Refreshing the page always returns to the method picker, the same as a fresh visit. A real shared link (?m=<id>, opened directly) still auto-launches that method, and the Share button still builds a correct link from the current method regardless of what's in the address bar.

Fixed

  • Along the way, fixed a handful of latent cross-method dependencies this refactor surfaced: a few small helpers (a demolition helper, a speech-bubble helper, an ion-cannon-style blast helper, a tank sprite, a helicopter-rotor sprite, and a bystander sprite) were each defined inside one method's code but quietly reused by several others — these now live in the shared core so no method needs another method's file loaded just to borrow one function.
  • RANDOM, and then any other in-page launch, used to leave ?m=<id> in the address bar, so refreshing afterward replayed whatever was last launched (most visibly Nuke, since that's the intro screen's default) instead of returning to the picker.