Skip to content

MTS Event Manager 0.6.2

Choose a tag to compare

@github-actions github-actions released this 27 Sep 09:24

[0.6.2] - 2026-09-27

Added

  • Change history (MTS: Change History, or πŸ•˜ History in the event editor): every code
    change made by the event manager, newest first, as a diff per block. Revert a single block or a
    whole change, jump to it in the code, filter by file. Block states follow the file (reverted,
    edited since); reverts are recorded too and can be reverted again. The history is kept per
    workspace across restarts.

Changed

  • ↩ Undo in the event editor now goes through the change history: it reverts the newest change
    that is still in the code, verified like any other edit.

Fixed

  • The paperdoll editor, the image preview carousel and the custom portraits panel keep working
    when moved into another window (they were left empty and unresponsive); a test now requires
    every panel to be restorable.
  • Events written directly inside pool.add_event(Event(...), ...) were treated as "not added to a
    pool" (116 events in the game, e.g. all office events). The simulator's pool competition and the
    overview's pool groups now include them.

[0.6.1] - 2026-09-26

Added

  • Update check in the extension and in MTS Capture: once a day (extension) / on studio start
    (plugin) GitHub is asked for a newer release; you get a note with a link to the release post.
    Extension: Open release / Skip this version, command MTS: Check for Updates, setting
    mtsEventManager.checkForUpdates. Plugin: a line in the window, setting Check for updates.

Changed

  • Moving statements in large files is much faster (the scene fuzzer went from 151 s to 39 s).

Fixed

  • The plugin build restores HarmonyX / MonoMod / Mono.Cecil (dependencies of BepInEx.Core) on a
    clean machine.

[0.6.0] - 2026-09-26

Added

  • Event editor (timeline) β€” MTS: Preview Event Timeline / Show in Event Timeline:
    • Step through an event like the game plays it: dialogue with portraits, CGs, backgrounds,
      paperdolls (with an animation player for moves, flips and pauses) and videos.
    • Pick branches (call_custom_menu, if/elif) and selector values; the timeline follows.
    • Edit in place: dialogue text, speaker and type, random_say alternatives, stats and
      end_event types, menu choices. Insert dialogue, images, videos, paperdolls and menus
      with οΌ‹, move statements up/down, delete lines β€” every edit is verified and undoable.
    • Modules: image (steps, pause, video + Movie declarations), background (set_background,
      blur, split, b/w), paperdoll editor and the Event(...) definition editor.
    • Check: every path of the event against images per value (incl. $ wildcard files),
      Movie declarations, menu targets, endings and speakers β€” plus a shot list of missing images.
    • Simulator: when does the event fire? Time, levels and stats against its conditions and
      its pool (incl. competing events).
    • Event overview of all events with thumbnails, pools and batch checks.
    • Restores itself after a window reload and reopens in the editor group it was in.
  • Ren'Py monologue mode: a """…""" say statement is split at blank lines into several
    dialogue stops (rpy monologue single/none respected); each part is edited on its own.
  • Composite events: fragments inherit the patterns and selector values of their
    EventComposite (the engine's frag_image_patterns β†’ image_patterns fallback).
  • Pattern paths built from variables (base_path + "x <step>.webp") are resolved.
  • convert_pattern(key, {"k": "v"}) / **with_values(kwargs, k = "v") fixed values are respected
    by previews and checks.
  • Mod support: overwrite_event_image(...) replacement patterns; register_preset(...) paperdoll
    presets are read from the workspace (mods included).
  • PNG / WEBP switch: when an image exists in both formats, the timeline and the image module
    show which one the game loads and let you switch.
  • MTS Capture β€” a new BepInEx plugin for Honey Select 2 StudioNeoV2: assign screenshots to
    the event's missing images (sorted by your key order), copied and renamed into the game's
    image folder. The extension exports the open event for it (mtsEventManager.capture.*).

Changed

  • Every write goes through a verified edit: planned, simulated, re-parsed, structure-checked
    (strings, brackets, empty blocks) and rolled back if the result differs.
  • Faster indexing: per-file cache, no full reindex on every keystroke.
  • Webview scripts moved out of TypeScript template strings into webview/*.js; pages load them
    with a nonce β€” no inline scripts are allowed any more (stricter CSP).
  • Image previews reload when files change on disk (versioned URLs + file watcher).
  • The image and paperdoll CodeLens buttons were removed β€” both live in the event editor now.

Fixed

  • Triple-quoted dialogue no longer produces bogus speakers or stops.
  • οΌ‹ inserts after the end of a multi-line statement instead of after its first line.
  • Deleting the only statement of a block leaves pass instead of an empty block.

Install: the extension via Extensions β†’ … β†’ Install from VSIX (mts-event-manager-0.6.2.vsix);
the plugin by extracting MTSCapture-0.6.2.zip into the Honey Select 2 folder (BepInEx 5 + KKAPI β‰₯ 1.46 required).