Skip to content

Releases: tesselslate/resetti

v0.5.4

27 Jan 14:19
Compare
Choose a tag to compare

Improved state output detection. It now detects the latest WorldPreview releases in addition to tildejustin's standalone state-output mod, largely removing the need for --force-wpstate.

v0.5.3

11 Dec 00:14
Compare
Choose a tag to compare

Thanks to @sathya-pramodh, @Dworv, and @GroobleDierne for their contributions.

This is the first 0.5.x release (non pre-release). There have been a number of breaking changes since 0.4.x; refer to the release notes of the 0.5.x betas for more information.

Bugfixes:

  • Don't print instance death messages twice
  • Always disable freeze filters on launch
  • Create data directory with correct permissions
  • Do not error when data directory does not exist
  • Write the cgroup preparation script when using the benchmark utility
  • Attempt to warp pointer to the center of projector when refocusing wall
  • Fix parsing certain keys in options.txt

Improvements:

  • Added Debian package generation
  • Added Fedora (RPM) package generation (thanks @Dworv)
  • Provide error message when Leave Preview or Atum reset hotkeys are not set (thanks @Dworv)
  • Parse the grave key (`) in options.txt (thanks @Dworv)
  • Improve log output (thanks @sathya-pramodh)
  • Allow using non-English OBS languages (thanks @GroobleDierne)
  • Allow using negative window coordinates in configuration file (thanks @sathya-pramodh)
  • Run the ingame reset hook before the window is unfocused (thanks @sathya-pramodh)

v0.5.2-beta

11 May 21:13
Compare
Choose a tag to compare
v0.5.2-beta Pre-release
Pre-release

Fix --force-wpstate and a crash when affinity is disabled.

v0.5.1-beta

08 May 12:54
Compare
Choose a tag to compare
v0.5.1-beta Pre-release
Pre-release

Fix OBS websocket authentication issue (thanks @olexsmir)!

v0.5.0-beta

29 Apr 15:05
Compare
Choose a tag to compare
v0.5.0-beta Pre-release
Pre-release

Huge thanks to Sathya (@sathya-pramodh) and boyenn (@dev-boyenn) for additional
testing and feedback, code contributions, and design suggestions.

BREAKING CHANGES

  • Reworked configuration file format
  • Reworked OBS scene generation
    You will have to convert your config and regenerate your OBS scene collection.

Additions:

  • --force-cgroups flag to force cgroup script to run
  • --force-wpstate and --force-log flags to choose state reader
  • Debug info dump via stdin or SIGUSR1
  • Readded sequence affinity
  • Added CCX split affinity option
  • Added "confine pointer to wall" option
  • Added "reset on unlock" option to wall
  • Added instance hiding (dirt covers) to wall
  • Added preview freezing to wall
  • Added more options to sequence affinity (thanks @dev-boyenn)
  • Added play first locked hotkey (thanks @dev-boyenn)
  • Added alternate resolution hotkey (thanks @dev-boyenn, @sathya-pramodh)
  • Massively improved moving wall (thanks @dev-boyenn, @sathya-pramodh)
    • Mouse support
    • More binds
    • Configurable layout
    • Automatic Z indexing
    • Added force_reset_before_play option to moving (thanks @dev-boyenn)
  • Close automatically when instance crashes

Improvements:

  • Made keybind system much more robust (BREAKING)
    • Specify one or more actions per key
    • Support more than just mouse for wall actions
    • Support per-instance wall actions
  • Revamped scene generation to be single scene (BREAKING)
    • One Instance scene instead of one scene per instance
  • Cleaned up config (BREAKING)
  • Improved input latency on wall
  • Made benchmark utility much more robust
  • Better ghost pie fix
  • More fine-grained delay system for latency optimization
  • No longer requires set scene collection name
  • Account for projector letterboxing when handling mouse inputs
  • Automatically take new projector size into account while resizing
  • Store files (e.g. cgroup script) in separate data folder

Other technical improvements:

  • Even more refactoring
  • Asynchronous OBS websocket calls
  • Less blocking I/O in event loops
  • Use leave preview key when available
  • Less wasteful log reader
  • Added wpstateout.txt state reader
  • Don't spawn goroutines for empty hooks
  • Get rid of keyboard grabs

Bug fixes:

  • Don't click menu buttons when doing Atum click fix
  • Analyze CPU cache topology to make affinity correct
  • Avoid runtime.NumCPU()
  • Make end of preview resets work correctly
  • Probably some others (and probably some new bugs)

v0.4.0

08 Mar 21:48
Compare
Choose a tag to compare

Support for obs-websocket 4.x has been dropped in favor of 5.0. Many changes have been made to the configuration file and some features have been removed. You may want to generate a new config profile and copy your settings over.

Changes since 0.3:

  • Major changes:
    • Removed set seed resetting
    • Removed the fancy UI
    • Removed obs-websocket 4.x support
    • Added obs-websocket 5.0 support
    • Added initial moving wall implementation, courtesy of @sathya-pramodh
  • General changes:
    • Simpler scene generation (no more scaling filters) in the OBS wizard
    • Added lock image width/height options to the OBS wizard
    • Allowed recreating existing scene collections in the OBS wizard
    • Removed the old standard affinity settings
    • Added codeXXX syntax to specify any keycode for a hoteky
    • Switched to Atum global reset key
    • Now automatically finds the user's Atum reset key
    • Better logging
      • Debug information on startup
      • More messages about what is happening
      • Moved log to /tmp instead of $XDG_CACHE_HOME
        • You can specify a custom path with $RESETTI_LOG_PATH
  • Wall changes:
    • Added initial moving wall implementation, courtesy of @sathya-pramodh
    • Added advanced affinity
    • Added sleepbg.lock support
    • Added support for F1 to hide hotbar on wall
    • Added option to move instances to specific X, Y coordinates when stretching
    • Automatically re-find OBS projector when closed and reopened
    • Automatically release and re-grab keys when tabbing out of the projector
  • Bug fixes:
    • Fixed crashing when configuration directory does not exist
    • Fixed reset hook not being used
    • Fixed affinity only setting affinity of the process and not its threads
    • Fixed reading partial log lines
    • Mostly fixed Minecraft not grabbing the mouse pointer when tabbing in
    • Mostly fixed OBS projector not grabbing the pointer
    • Update _NET_CURRENT_DESKTOP to help improve WM support
    • Discard buffered mouse events on the wall after switching to an instance
    • Handle the _NET_ACTIVE_WINDOW property not existing
    • Support wall projector sizes other than the entire screen size
    • Allow for clicking off of the wall projector

v0.4.0-beta3

01 Feb 11:21
Compare
Choose a tag to compare
v0.4.0-beta3 Pre-release
Pre-release

Fix OBS setup issue with non moving wall

v0.4.0-beta2

30 Jan 21:25
Compare
Choose a tag to compare
v0.4.0-beta2 Pre-release
Pre-release

MANY CHANGES HAVE BEEN MADE SINCE THE LAST FULL RELEASE. THERE MAY BE BUGS, PLEASE REPORT THEM

Support for obs-websocket 4.x has been dropped in favor of 5.0. Many changes have been made to the configuration file and some features have been removed. You may want to generate a new config profile and copy your settings over.

This update brings a lot of new features and is also aimed at trying to make the codebase much easier to work with. As such, some old features (in particular, set seed resetting and the fancy UI) have been removed to make the code simpler.

Changes since 0.3:

  • Major changes:
    • Removed set seed resetting
    • Removed the fancy UI
    • Removed obs-websocket 4.x support
    • Added obs-websocket 5.0 support
    • Added initial moving wall implementation, courtesy of @sathya-pramodh
  • General changes:
    • Simpler scene generation (no more scaling filters) in the OBS wizard
    • Added lock image width/height options to the OBS wizard
    • Allowed recreating existing scene collections in the OBS wizard
    • Removed the old standard affinity settings
    • Added codeXXX syntax to specify any keycode for a hoteky
    • Switched to Atum global reset key
    • Now automatically finds the user's Atum reset key
    • Better logging
      • Debug information on startup
      • More messages about what is happening
      • Moved log to /tmp instead of $XDG_CACHE_HOME
        • You can specify a custom path with $RESETTI_LOG_PATH
  • Wall changes:
    • Added initial moving wall implementation, courtesy of @sathya-pramodh
    • Added advanced affinity
    • Added sleepbg.lock support
    • Added support for F1 to hide hotbar on wall
    • Added option to move instances to specific X, Y coordinates when stretching
    • Automatically re-find OBS projector when closed and reopened
    • Automatically release and re-grab keys when tabbing out of the projector
  • Bug fixes:
    • Fixed crashing when configuration directory does not exist
    • Fixed reset hook not being used
    • Fixed affinity only setting affinity of the process and not its threads
    • Fixed reading partial log lines
    • Mostly fixed Minecraft not grabbing the mouse pointer when tabbing in
    • Mostly fixed OBS projector not grabbing the pointer
    • Update _NET_CURRENT_DESKTOP to help improve WM support
    • Discard buffered mouse events on the wall after switching to an instance
    • Handle the _NET_ACTIVE_WINDOW property not existing
    • Support wall projector sizes other than the entire screen size
    • Allow for clicking off of the wall projector

v0.4.0-beta

26 Aug 20:29
Compare
Choose a tag to compare
v0.4.0-beta Pre-release
Pre-release

This is a new beta version, but it is very unstable. Set seed resetting is temporarily gone while I focus on the other parts of resetti. I mostly want to get this out for the purpose of testing, as I have once again rewritten basically everything, hopefully for the last time.

  • Refactor
    • Rewrote everything. Removed useless small packages.
    • More imperative style, cleaner and more code reuse
  • Features
    • Naive implementation of "advanced" affinity
    • Instance freezing on wall (currently doesn't work well with OpenAL)
    • Maximum concurrent resets
    • Click-on-focus setting
    • Switched to global Atum hotkey
    • Specify any keycode for a keybind (codeXXX)
    • Added debug info to log, to make it actually useful
    • Moved default log path to /tmp/resetti.log (you can change it now with the RESETTI_LOG_PATH variable)
  • Bug fixes
    • Fixed issues with configuration directory not existing
    • Update _NET_CURRENT_DESKTOP when switching windows for greater WM support, hopefully
    • Fixed reset hook not being used

There are still more features/fixes I'd like to implement before releasing a proper v0.4, as well as improving the documentation once again.

v0.3.1

02 Aug 16:41
Compare
Choose a tag to compare

Set default for count_resets to false and added a more helpful error message.