Prepare for new release

- Add new title image
- Rename tile-limit parameter to blend-tile-limit
- Update README.md
This commit is contained in:
David Vogel 2022-08-12 13:14:18 +02:00
parent b2ed6f65d5
commit 72f8e92412
7 changed files with 27 additions and 13 deletions

View File

@ -1,6 +1,8 @@
{ {
"cSpell.words": [ "cSpell.words": [
"aabb", "aabb",
"appdata",
"autosetup",
"backbuffer", "backbuffer",
"basicfont", "basicfont",
"cheggaaa", "cheggaaa",
@ -25,7 +27,9 @@
"manifoldco", "manifoldco",
"mapcap", "mapcap",
"nfnt", "nfnt",
"Niccoli",
"noita", "noita",
"NXML",
"polymorphed", "polymorphed",
"promptui", "promptui",
"rasterizer", "rasterizer",
@ -38,7 +42,8 @@
"xmax", "xmax",
"xmin", "xmin",
"ymax", "ymax",
"ymin" "ymin",
"Zatherz"
], ],
"Lua.runtime.version": "LuaJIT", "Lua.runtime.version": "LuaJIT",
"Lua.format.defaultConfig": { "Lua.format.defaultConfig": {

View File

@ -1,11 +1,11 @@
# Noita map capture addon [![Build Status](https://travis-ci.com/Dadido3/noita-mapcap.svg?branch=master)](https://travis-ci.com/Dadido3/noita-mapcap) # Noita map capture addon [![Build Status](https://travis-ci.com/Dadido3/noita-mapcap.svg?branch=master)](https://travis-ci.com/Dadido3/noita-mapcap)
A mod for Noita that can capture images of the world and stitch them into one large image. A mod for Noita that can capture images of the world and stitch them into one large image.
It works with the regular Noita and the dev build. It works with the regular Noita build and the dev build.
![missing image](images/example2.png) ![Title image](images/title.png)
A resulting image with nearly 3.8 gigapixels can be [seen here](https://easyzoom.com/image/223556) (Warning: Spoilers). A resulting image with nearly 3.8 gigapixels can be [seen here](https://easyzoom.com/image/223556) (May contain spoilers).
## System requirements ## System requirements
@ -45,7 +45,7 @@ All you need to do is follow the given instructions, like:
> >
> You can always *right* click ![Record button](files/ui-gfx/record-16x16.png) to reset the above mentioned settings back to Noita's default. > You can always *right* click ![Record button](files/ui-gfx/record-16x16.png) to reset the above mentioned settings back to Noita's default.
After all issue have been resolved you are free to start capturing. After all issues have been resolved you are free to start capturing.
To the top left of the window are 3 buttons: To the top left of the window are 3 buttons:
@ -61,10 +61,10 @@ To stitch the final result, click ![Stitch button](files/ui-gfx/stitch-16x16.png
Start `stitch.exe` and proceed with the default values. Start `stitch.exe` and proceed with the default values.
After a few minutes the file `output.png` will be created. After a few minutes the file `output.png` will be created.
> ![Hint](files/ui-gfx/hint-16x16.png) See [stitcher/README.md](bin/stitch/README.md) for more information about all stitcher parameters.
## Mod settings ## Mod settings
> ![Hint](files/ui-gfx/hint-16x16.png) Use *right* mouse button to reset any mod setting to their default. > ![Hint](files/ui-gfx/hint-16x16.png) Use *right* mouse button to reset any mod setting to their default.
- `Mode`: Defines what the mod captures, and how it captures it: - `Mode`: Defines what the mod captures, and how it captures it:
@ -116,7 +116,7 @@ After a few minutes the file `output.png` will be created.
- Glow - Glow
- Gamma correction - Gamma correction
- `Disable shaders, GUI and AI`: Also disables all postprocessing, any in game UI and will freeze all mobs. - `Disable shaders, GUI and AI`: Also disables all postprocessing, any in-game UI and will freeze all mobs.
Only works in dev build. Only works in dev build.
- `Disable entity logic`: Will modify all encountered entities: - `Disable entity logic`: Will modify all encountered entities:
@ -129,12 +129,12 @@ After a few minutes the file `output.png` will be created.
### Example settings ### Example settings
Use this for capturing while you are playing the game. Use these settings if you want to capture your in-game action.
The sliders are at their default values: The sliders are at their default values:
![Live capture example settings](images/mod-settings-live.png) ![Live capture example settings](images/mod-settings-live.png)
Use this to capture the [base layout](AREAS.md#base-layout) with the least amount of glitches and artifacts. Use these settings to capture the [base layout](AREAS.md#base-layout) with the least amount of glitches and artifacts.
The sliders are at their default values: The sliders are at their default values:
![Area capture example settings](images/mod-settings-area.png) ![Area capture example settings](images/mod-settings-area.png)
@ -176,6 +176,14 @@ Alternatively, you can reset **all** game settings by deleting:
- `"%appdata%\..\LocalLow\Nolla_Games_Noita\save_shared\config.xml"` for the regular Noita. - `"%appdata%\..\LocalLow\Nolla_Games_Noita\save_shared\config.xml"` for the regular Noita.
- `"...\Noita\save_shared\config.xml"` for the dev build. - `"...\Noita\save_shared\config.xml"` for the dev build.
### The objects in the stitched image are blurry
The stitcher uses median blending to remove any single frame artifacts and to correct for not rendered chunks.
This will cause fast moving objects to completely disappear, and slow moving objects to get blurry.
To disable median blending, use the stitcher with `Blend tile limit` set to 1.
This will cause the stitcher to only use the newest image tile for every resulting pixel.
## Additional information ## Additional information
The resulting stitched images are quite big. The resulting stitched images are quite big.
@ -185,7 +193,7 @@ You can read [this comment](https://github.com/Dadido3/noita-mapcap/issues/7#iss
This mod uses the [LuaNXML](https://github.com/zatherz/luanxml) library by [Zatherz](https://github.com/zatherz). This mod uses the [LuaNXML](https://github.com/zatherz/luanxml) library by [Zatherz](https://github.com/zatherz).
Thanks to [Daniel Niccoli](https://github.com/danielniccoli) for figuring out how to change some in game options by manipulating process memory. Thanks to [Daniel Niccoli](https://github.com/danielniccoli) for figuring out how to change some in-game options by manipulating process memory.
## License ## License

View File

@ -30,10 +30,11 @@ example list of files:
- Or run the program with parameters: - Or run the program with parameters:
- `divide int` - `divide int`
A downscaling factor. 2 will produce an image with half the side lengths. Defaults to 1. A downscaling factor. 2 will produce an image with half the side lengths. Defaults to 1.
- `tile-limit int` - `blend-tile-limit int`
Limits median blending to the n newest tiles by file modification time. Limits median blending to the n newest tiles by file modification time.
If set to 0, all available tiles will be median blended. If set to 0, all available tiles will be median blended.
If set to 1, only the newest tile will be used for any resulting pixel. If set to 1, only the newest tile will be used for any resulting pixel.
Use 1 to prevent ghosting and blurry objects.
- `input string` - `input string`
The source path of the image tiles to be stitched. Defaults to "./..//..//output") The source path of the image tiles to be stitched. Defaults to "./..//..//output")
- `entities string` - `entities string`

View File

@ -25,7 +25,7 @@ var flagEntitiesInputPath = flag.String("entities", filepath.Join(".", "..", "..
var flagPlayerPathInputPath = flag.String("player-path", filepath.Join(".", "..", "..", "output", "player-path.json"), "The path to the player-path.json file.") var flagPlayerPathInputPath = flag.String("player-path", filepath.Join(".", "..", "..", "output", "player-path.json"), "The path to the player-path.json file.")
var flagOutputPath = flag.String("output", filepath.Join(".", "output.png"), "The path and filename of the resulting stitched image.") var flagOutputPath = flag.String("output", filepath.Join(".", "output.png"), "The path and filename of the resulting stitched image.")
var flagScaleDivider = flag.Int("divide", 1, "A downscaling factor. 2 will produce an image with half the side lengths.") var flagScaleDivider = flag.Int("divide", 1, "A downscaling factor. 2 will produce an image with half the side lengths.")
var flagBlendTileLimit = flag.Int("tile-limit", 9, "Limits median blending to the n newest tiles by file modification time. If set to 0, all available tiles will be median blended.") var flagBlendTileLimit = flag.Int("blend-tile-limit", 9, "Limits median blending to the n newest tiles by file modification time. If set to 0, all available tiles will be median blended.")
var flagXMin = flag.Int("xmin", 0, "Left bound of the output rectangle. This coordinate is included in the output.") var flagXMin = flag.Int("xmin", 0, "Left bound of the output rectangle. This coordinate is included in the output.")
var flagYMin = flag.Int("ymin", 0, "Upper bound of the output rectangle. This coordinate is included in the output.") var flagYMin = flag.Int("ymin", 0, "Upper bound of the output rectangle. This coordinate is included in the output.")
var flagXMax = flag.Int("xmax", 0, "Right bound of the output rectangle. This coordinate is not included in the output.") var flagXMax = flag.Int("xmax", 0, "Right bound of the output rectangle. This coordinate is not included in the output.")

Binary file not shown.

Before

Width:  |  Height:  |  Size: 526 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 292 KiB

BIN
images/title.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB