Commit Graph

50 Commits

Author SHA1 Message Date
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
c78a8b56ae Update capture method
- Capture hWnd HDC directly (Window can be behind other windows)
- Update README.md
2020-10-18 00:39:58 +02:00
478a6262e8 Fix chunk/pixel alignment
- Adjust coordinates, so that chunks are always in the center of the window
- Modify VIRTUAL_RESOLUTION_OFFSET_X/Y to match window output with expected coordinates
- Fix black line at the bottom of window
- Remove tile bleed/inset while stitching, as it is not needed anymore
2020-10-17 17:27:26 +02:00
0bc2c9122e Add profiling batch file 2020-05-30 19:26:53 +02:00
a6ff7f4bf9 Update copyright year 2020-05-30 18:16:50 +02:00
13373028cc Fix output image parameter 2019-12-21 22:25:47 +01:00
1d832ebad1 Add cleanup mode to stitcher 2019-11-30 18:28:17 +01:00
52e23df1ee Several stitcher updates
- Use different progress bar
- Add bounds parameter to MedianBlendedImage
- Add progress to MedianBlendedImage
- Replace the `-lowram` flag with `-prerender`
- Update README.md
2019-11-05 02:31:19 +01:00
d76dc20936 Add low RAM mode 2019-11-04 22:44:35 +01:00
dc42ee1eb5 Remove incomplete alignment algorithm 2019-11-04 20:52:47 +01:00
12ea3f83ae Optimizations
- Update README.md
- GameSetCameraPos(x, y) several time while waiting to get all chunks loaded
- Fix tile output coordinates (Top left corner coordinates instead of center)
- Hide some ui parts by default
2019-11-03 00:58:03 +01:00
c87a4d05d0 Several updates
- Change virtual resolution to 1280x720
- Change virtual to screen pixel ratio to 1:1
- Increase grid size to 420
- Make the mod capture only the window (and only the client area)
- Increase STREAMING_CHUNK_TARGET, so that chunks don't unload after some frames
- Add ingame warnings for wrong settings, and information how to fix these
- Update README.md
2019-11-01 02:40:21 +01:00
5f3c55823c Let capturer create output folder 2019-10-25 20:25:41 +02:00
4c6177676d Add parameters and a prompt to the stitcher 2019-10-25 19:45:23 +02:00
91efa7b4ba Stitching improvements
- Add integer downscale parameter
- Output information about the total bounding box
- Build workload chunks in a hilbert spiral to reduce memory consumption
2019-10-24 21:11:23 +02:00
b53ec0d60b Reduce stitching time
About three times as fast
2019-10-24 03:05:42 +02:00
b11ba98db7 Update stitching program
- Divide workload into chunks
- Add multithreading
- Add console messages
- Add progress bar
- Unload tile images after some time
- Fix median filter
2019-10-24 00:28:22 +02:00
a228b00815 Fix empty screenshots & add DLL 2019-10-23 20:04:36 +02:00
801fb10f81 Basic stitching functionality
- Median filtering
2019-10-23 03:28:37 +02:00
dbcab2ffc6 Start work on tile stitcher 2019-10-21 02:07:39 +02:00
f4db31f7e1 Cleanup 2019-10-20 16:32:48 +02:00
99ad91e67c Several changes
- Don't change effects, as it's not needed anymore
- Add capture library to be loaded by lua (go and PureBasic)
- Modify pixel size, to nicely fit into FullHD
- Move camera instead of player
- Add capturing routine
- Round position to fit into grid, and also render the world pixel perfect
- Add util/helper functions
2019-10-20 16:28:17 +02:00
be48a75c25 Add README.md and rename to noita-mapcap 2019-10-18 22:58:20 +02:00