v2.0.0
First and foremost, HUGE thanks to @Avasam for maintaining AutoSplit and for basically all of the changes listed below. My (@Toufool ) only contribution was designing the new UI and some QA work. Without Avasam, these changes would have not been possible.
Breaking Changes - PLEASE READ before updating!
- Settings files have changed extensions from
.pkl
to.toml
. Settings Files in versions before 2.0.0 will not be compatible with 2.0.0. These toml settings files are compatible with LiveSplit Integration - Some of the comparison methods have been changed to improve accuracy. This may require you to tweak your similarity thresholds
- Start Image pause time behavior has changed. It now pauses comparison before moving to your first split image as opposed to pausing before attempting to compare the start image after a reset/after your run is finished
Because there are breaking changes, we would advise that you keep your previous autosplit version and settings files in case you run into issues using 2.0.0.
Main New Features
- UI Redesign
- Settings have been moved to File -> Settings to unclutter the main window
- A new "Similarity Viewer" table has been added for better readability of similarities during comparisons. The Reset Image similarity is also now visible.
- Arrows above the Current Image have been added to always have the option to only move directly one split image forward or backward.
- Multiple Capture Methods for performance and supportability (OBS 28, Video Capture Device, Windows 11, etc.)
- A new custom split image setting that allows you to specify which capture method you want for a specific image. See Custom Split Image Settings
{m}
flag is deprecated. Transparency in an image is now auto detected. You can safely remove the flag from your filenames if you'd like.- Support for hotkeys with modifiers
Main Bug Fixes
- AutoSplit can now capture windows in OBS 28 by using the default Capture Method (Windows Graphics Capture)
- Fixed "Comparison FPS Limit" not being respected
- AutoSplit will now attempt to recover a Capture Region if the target window is closed and reopened
- Any uncaught exception will now be presented to the user so that it can be copied into an issue, and AutoSplit will attempt to recover from the exception.
- General stability improvements
All Changes
- Change default capture method to Windows Graphics API (#200)
- Slight build size improvement
- Documentation updates:
- Add link to dev builds
- Update some phrasing in capture method descriptions to be more accurate
- Added Discord badge in readme
- The settings file is now a human readable TOML file, better backward/forward compatibility in the future, but your old settings in pickle (
.pkl
) format won't be compatible. (Closes #70) - Accessibility and UX/UI improvements:
- Completely new UI
- Added a splashscreen
- "Missing profile / setting files" error now appears after the main window loaded
- Centered region labels
- Disable Next/Previous Image buttons when delaying (Closes #183, Closes #130)
- Updated some messages
- Round down floats shown in UI
- Win11 high DPI visual fixes
- Fixed a few focus and tabstop issues
- Adjusted some UI spacing
- Automatically reference the right repo/fork from within the app
- Prevent opening the same menu window multiple times at once
- Added actions/menu bar shortcuts (Closes #154)
- Added a warning if another instance of AutoSplit is detected to already be open (Closes #150)
- Split dropdown for supported imread filetypes
- Max fps will show
...
while running - Reset image now indicates that its paused when starting a run
- Hotkeys improvements:
- Prevent setting invalid hotkeys, including from loading settings (Closes #155)
- Added a hotkey and setting to disable the auto-reset image
- Disable unused hotkeys when autocontrolled
- Allow to move / set an existing hotkey
- Support for hotkeys with modifiers
- Fixed loading and clearing of start image from loading profile
- Fixed "Comparison FPS Limit" not being respected
- Add support for pause time after start image (Closes #182)
- Adaptive resizing for masked images (read more here: #177, thanks @zalgo3, Closes #157)
- Fix split below threshold when image is not valid. An invalid image has a similarity of 0, and triggered the "below threshold".
- Properly fix region alignment Fixes Avasam#21
- Better saved window detection on load
- Don't reset pause timer on undo split (Closes #68)
- Added
Windows Graphics Capture API
(thanks @Algomancer forIDirect3dDevice
LearningModelDevice
fallback),D3D Desktop Duplication
andCapture Device
(webcams and capture cards, including OBS virtual camera) as capture methods.
Read https://github.com/Toufool/AutoSplit#capture-device for more details. (Closes #110, Closes #147, Closes #160, Closes #175, Closes #160) - Change default capture method to Windows Graphics API (#200)
- AutoSplit can now recover the captured window if it is closed then re-opened (ie game crashed, or Save&Quit) (Closes #94)
- Image comparison method and default delay time in the image filename.
- Documentation updates:
- Added summary of histogram in readme
- Move build instructions to a different file
- Update Virtualcam link for OBS 28+ https://github.com/Avasam/obs-virtual-cam
- Add link to dev builds
- Update some phrasing in capture method descriptions to be more accurate
- Added Discord badge in readme
- Updated documentation for image comparison
- Updated redits
- Update to Python 3.11 and PyQt 6.4.2
- Performance improvements
- Fixed a rare machine-specific issue where AutoSplit could crash when given options to load from the LiveSplit integration.
- Build improvements:
- Faster builds and boot times
- Smaller file size
- Generate a build number from datetime (Closes #149)
- Some dev setup cleanup
- Added tooling to help write cleaner code and catch potential bugs earlier
- Special Thanks to @ AlexWaygood and the entire typeshed team who helped me get a lot of libraries' typing in order. Specifically d3dshot, keyboard, Pillow, psutil, PyAutoGUI, pyinstaller and pywin32. (we use more
types-*
, but they didn't need an update).
- Tons of bugfixes, including some infinite error loops and hard crashes. (Closes #109, Closes #119)