Commit Graph

72 Commits

Author SHA1 Message Date
9cfb01187c Fix invalid memory access in capture.dll 2024-02-08 16:12:55 +01:00
b1a10870c1 Several changes
- Add compatibility for newest Noita beta
- Modify STREAMING_CHUNK_TARGET, GRID_MAX_UPDATES_PER_FRAME and GRID_MIN_UPDATES_PER_FRAME magic numbers for a more robust capturing process
- Add LimitGroup to util.go
- Add webp-level command line flag to define the webp compression level
- Rework progress bar to make it work in DZI export mode
- Refactor image exporter functions
- Use LimitGroup to make DZI export multithreaded
- Add BlendMethodFast which doesn't mix tile pixels
- Up Go version to 1.22
- Use Dadido3/go-libwebp for WebP encoding
2024-02-08 00:50:11 +01:00
d9d8c9cd78 Format Capture.pb 2024-02-05 19:10:32 +01:00
15e2b88ed5 Update the Capture.dll
- Increase hardcoded number of workers to 8.
- Export images temporarily, and then move them once they are fully exported. This prevents corrupt images.
2024-02-05 19:00:39 +01:00
45df692b96 Save top left coordinates when exporting DZI 2024-02-05 00:10:10 +01:00
f22ef05411 Prevent transparent background 2024-01-15 21:31:45 +01:00
d82fda528a Merge remote-tracking branch 'origin/opengl-capture' 2024-01-15 21:29:23 +01:00
860b724bd0 Change DZI to encode tiles to WebP 2024-01-15 21:27:44 +01:00
1a735c06bd Update Readme.md 2024-01-15 20:30:12 +01:00
69f5d1ccb3 Add WebP encoder 2024-01-15 20:06:49 +01:00
d5cd88a30e Capture directly from OpenGL framebuffer
- Update capture.dll to read via glReadPixels
- Move coroutine wake up into OnWorldPostUpdate
- Update resolution checks for new capturing method
- Remove fullscreen mode check
- Increase screen capture delay
2024-01-04 19:36:36 +01:00
4de83e3dcd Fix typos 2023-12-31 18:22:32 +01:00
d774cf373d Add parameters for DZI output 2023-12-31 17:44:07 +01:00
355521b144 Change dziOverlap to 2
With 0, OpenSeadragon has problems drawing the images correctly.
And with 1, we introduce rounding errors when creating the smaller zoom levels.
2023-12-23 12:44:29 +01:00
b76124b2e4 Fix error when there already is an DZI directory 2023-12-23 10:41:05 +01:00
f0ee3e2399 Remove DZI overlap, as it seems unnecessary 2023-12-23 10:40:30 +01:00
b9fc890581 Update stitcher README.md and flag usage string
#7
2023-12-23 01:41:59 +01:00
a96431361f Prevent stdout spam when exporting DZI files 2023-12-23 01:23:53 +01:00
88507af167 Increase default CacheRowHeight 2023-12-23 01:17:40 +01:00
7a6915480b Add first sketch of Deep Zoom Image exporter 2023-12-23 01:17:20 +01:00
915da73845 Add SubStitchedImage 2023-12-23 01:16:25 +01:00
6d028d4064 Fix stitched image cache generation 2023-12-23 01:15:36 +01:00
a0d5c13557 Let StitchedImage invalidate cache based on time 2023-12-23 01:15:05 +01:00
3016919348 Add Bounds method to ImageTiles 2023-12-23 01:11:58 +01:00
cbdd925c30 Correct image.Rectangle downscaling 2023-12-23 01:09:50 +01:00
a0168df91f Change export functions to use image.Image 2023-12-23 01:09:23 +01:00
182373d3cc Refactor export functions
- Pass output path as parameter
- Return and handle errors correctly
2023-12-22 11:03:04 +01:00
0454e29e34 Add JPEG encoder 2023-12-22 10:13:22 +01:00
a70a5a4d1a Prepare stitcher for multiple output formats 2023-12-22 10:07:02 +01:00
f5a3bad396 Update dependencies
- Push minimal go version to 1.21
- tdewolff/canvas compatibility updates
2023-12-21 14:04:50 +01:00
fcfd8c88ff Add Voronoi blend method 2022-08-13 13:58:50 +02:00
72f8e92412 Prepare for new release
- Add new title image
- Rename tile-limit parameter to blend-tile-limit
- Update README.md
2022-08-12 13:14:18 +02:00
b2ed6f65d5 Use butt cap for player path drawing 2022-08-12 11:40:20 +02:00
c9d2a37903 Fix all possible data races
- Update to go 1.19 for new atomic types
- Use atomic for StitchedImage query counter
- Make sure that we don't copy any tile objects
2022-08-12 11:39:55 +02:00
65f7cb4e60 Improve stitching speed and resource usage
- Use QuickSelect algorithm for median filtering
- Use lists of uint8 instead of int for median filtering
- Fix GridifyRectangle
- Remove HilbertifyRectangle
- Add profiling.go
- Remove Profile.bat
- Add median blend tile-limit flag
- Print stitch duration
- Reduce StitchedImage cache image height
- Reduce StitchedImageCacheGridSize
- Improve StitchedImage caching
- Improve ImageTile caching
- Separate entity and entities
- Update stitcher README.md
- Add comments
2022-08-12 01:06:22 +02:00
c3f841a4ff Remove cleanup mode from stitcher 2022-08-11 11:59:53 +02:00
f5693b96f1 Remove old blend functions 2022-08-11 11:48:17 +02:00
df6c27924b Change from blend func to interface
- Combine all previous blend modes into one blend method
- Optimize BlendMethodMedian
2022-08-11 11:47:18 +02:00
3a73e13fb7 Refactor and improve stitcher
- Replace MedianBlendedImage with StitchedImage, a general implementation of a stitcher
- Don't use hilbert curve when regenerating cache image
- Cut workload rectangles to be always inside the cache image boundaries
- Rename stitch.go to main.go
- Add interface for overlays
- Change how overlays are handled and drawn
- Reduce error returns to simplify a lot of code
- Add several blend functions
- Remove offset field from image tile
2022-08-11 11:10:07 +02:00
7d250d6405 Remove pre-render mode from stitcher & Cleanup 2022-08-10 21:04:17 +02:00
cd1428706e Update stitcher README.md 2022-08-10 20:47:59 +02:00
1e5249d436 Add player path tracking and drawing in live mode 2022-08-10 20:41:57 +02:00
0044075cbf Draw entities and their component's bounding boxes 2022-08-08 23:05:58 +02:00
6f2be8486e Fix image caching 2022-08-08 12:36:55 +02:00
1b767f9465 Update promptui to fix console input on windows 2022-07-30 12:23:40 +02:00
0126e706cb Update capturing stuff
- Add ability to capture while normally playing
- Calculate capture area based on coordinate transformations
- Improve and simplify captureScreenshot function
- Move dynamic library wrappers into libraries folder
- Update capture.dll to support cropping and resizing
- Recompile capture.dll with newer PureBasic compiler that uses C backend
- Increase capture.dll worker threads to 6
- Increase capture.dll queue size by one
- Add Round and Rounded methods to Vec2
- Split magic number XML files for easier debugging
- Fix some EmmyLua annotations
- And and fix some comments
2022-07-24 22:05:34 +02:00
af890f4df1 Redo how the distribution artifact is created
- Add version information to the stitching tool
2022-07-16 23:22:18 +02:00
405ea876a4 Update tooling & Fix small things
- Fix some linter warnings
- Update copyright year
- Switch from travis to github actions
- Update libraries
- Switch to go 1.18
2022-07-16 17:29:26 +02:00
f27a954bd1 Don't panic on invalid image data
- If there is any image data error, just output an error message
- Also print out the filepath, so the user can delete the invalid image

fixes #11
2022-07-16 16:59:32 +02:00
47f58553cf Fix some stuff
- Mark mod as compatible
- Change mod description
- Update go version
- Speed up image stitching 2x
- Fix stitching progress bar
2020-10-18 21:18:43 +02:00