Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/NesTiler.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2022-10-29 18:04:10 +0300
committerAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2022-10-29 18:04:10 +0300
commit48982356669f60c398d454d244b1a43a09597738 (patch)
tree6579dae1ad1b494ab583a71b417c748190f43934
parent06bace6bd58ae12f41f6eb5faf21f57e176e5fba (diff)
parente9b812d65438e55ff7cdfd5785c89efab82e0686 (diff)
Merge branch 'master' of github.com:ClusterM/NesTiler
-rw-r--r--Examples/README.md2
-rw-r--r--README.md51
2 files changed, 38 insertions, 15 deletions
diff --git a/Examples/README.md b/Examples/README.md
index ee84b9d..150a441 100644
--- a/Examples/README.md
+++ b/Examples/README.md
@@ -21,7 +21,7 @@ This example uses single image splitted in two horizontally, each part uses it's
![Image](../TestImages/Images/jurassic.png)
## nrom_split_lossy
-Same as **nrom_split** but with сomplicated image that doesn't fit NES colors limitations, so NesTiler tries to optimize it and dismiss some palettes and colors (**--lossy** option).
+Same as **nrom_split** but with сomplicated image that doesn't fit NES colors limitations, so NesTiler tries to optimize it and dismiss some palettes and colors (**--lossy 3** option).
![Image](../TestImages/Images/me.png) -> ![Image](https://user-images.githubusercontent.com/4236181/197870408-4472a362-2829-4c74-baaf-1c27c082d070.png)
diff --git a/README.md b/README.md
index 51af291..a22f3de 100644
--- a/README.md
+++ b/README.md
@@ -2,17 +2,40 @@
Tool for converting pictures into NES format: pattern tables, nametables, attribute tables and palettes.
## What does it do
-When developing applications and games for NES, to display images, you need to split each image into tiles, combine tiles into nametables, select colors so that they do not go beyond the limits of the NES, and then convert all this into a format understandable for the NES. This tool at least partly helps to automate this process. The application can accept multiple images as input, the main point is to use single set of palettes (and tiles if required) for all of them, so it's possible to switch CHR banks and base nametable on a certain line, in the middle of rendering process. You can't change palettes while image renders, so palette set must be the same for all images.
+When developing applications and games for NES, to display images, you need to split each image into tiles, combine tiles into nametables, select colors so that they do not go beyond the limits of the NES, and then convert all this into a format understandable for the NES. This tool at least partly helps to automate this process. This application can accept multiple images as input, the main point is to use single set of palettes (and tiles if required) for all of them, so it's possible to switch CHR banks and base nametable on a certain line, in the middle of rendering process. You can't change palettes while image renders, so palette set must be the same for all images. Of course, the ideal result will be achieved only in the case of properly prepared images that do not go beyond the limitations of NES. But it's possible to do lossy conversion too. Check [Examples](https://github.com/ClusterM/NesTiler/tree/master/Examples) directory for examples.
The sequence of actions is as follows:
-* Load available NES colors from JSON or PAL file
-* Load images, crop them if need
+* Load available NES colors from JSON or PAL file and their indices.
+
+![NES colors](https://user-images.githubusercontent.com/4236181/198836117-35c87207-0f39-40cd-90f0-b38a24c648f7.png)
+
+* Load images, crop/split them if need
+
+![Loading images](https://user-images.githubusercontent.com/4236181/198837161-6e514f3b-9512-4501-8f44-846b20b6ea3c.png)
+
* Change every pixel of each image, so it's matches most similar color from available NES colors
+
+![Recolor image](https://user-images.githubusercontent.com/4236181/198837207-8e45433a-60eb-4c80-9b6b-1dd8a12e285b.png)
+
* Calculate desired number of palettes to fit every image or at least trying to do it
+
+![Palettes](https://user-images.githubusercontent.com/4236181/198837449-35a6c26c-5bd7-4aa3-8076-2ca498e0c1aa.png)
+
* Generate attribute table for each image, assign palette index for each tiles set
+
+![Attribute tables](https://user-images.githubusercontent.com/4236181/198837666-b67b1a82-1b18-4fee-b33c-fa833df18b63.png)
+
* Change colors of every tile to match assigned palette index (if need)
+
+![Recolor tiles](https://user-images.githubusercontent.com/4236181/198837858-e38bc6af-1d18-46c5-83fc-c8348dbc130f.png)
+
* Create set of tiles, trying to fit them into 256, grouping same tiles into one
-* Generate pattern table and nametable for each image
+
+![Tiles](https://user-images.githubusercontent.com/4236181/198838408-660c252e-ec75-408b-9fbd-36d7a77f97b0.png)
+
+* Save pattern table and nametable of each image to file, so it's easy to include them to NES ROM and show the image
+
+![Result](https://user-images.githubusercontent.com/4236181/198838556-1ff947ba-9879-49f1-a74d-3b8df7067051.png)
## How to use
@@ -137,15 +160,15 @@ Examples:
Option to save preview for input image number __#__. Stored as PNG file. Useful if you need to preview result without compiling ROM. Preview is not saved if option is not specified.
Examples:
-* nestiler -v0 preview.png ...
-* nestiler --out-preview-1 image.png ...
+* nestiler -v0 preview.png -v1 preview2.png ...
+* nestiler --out-preview-1 image.png --out-preview-2 image2.png ...
### Option -t<#>, --out-palette-<#> \<filename\>
Option to save generated palette number __#__. Just four bytes with color indices. Not saved if option is not specified.
Examples:
-* nestiler -t0 palette0.bin ...
-* nestiler --out-palette-1 palette1.bin ...
+* nestiler -t0 palette0.bin -t0 palette2.bin ...
+* nestiler --out-palette-1 palette1.bin --out-palette-2 palette2.bin ...
Please note that index here is palette number, not input file number.
@@ -153,22 +176,22 @@ Please note that index here is palette number, not input file number.
Option to save generated pattern table for image number __#__. 16 bytes per tile, 960 bytes per full screen image. Not saved if option is not specified.
Examples:
-* nestiler -n0 pattern0.bin ...
-* nestiler --out-pattern-table-2 out.bin ...
+* nestiler -n0 pattern0.bin -n1 pattern1.bin ...
+* nestiler --out-pattern-table-2 out.bin --out-pattern-table-3 out2.bin ...
### Option -a<#>, --out-name-table-<#> \<filename\>
Option to save generated nametable for image number __#__. 16 bytes per tile, 960 bytes per full screen image. Not saved if option is not specified.
Examples:
-* nestiler -a2 nt2.bin ...
-* nestiler --out-name-table-1 nametable.bin ...
+* nestiler -a2 nt2.bin -a3 nt3.bin ...
+* nestiler --out-name-table-1 nametable.bin --out-name-table-2 nametable2.bin ...
### Option -u<#>, --out-attribute-table-<#> \<filename\>
Option to save generated attribute table for image number __#__. 1 byte per 16 tiles. 64 bytes per full screen image. Not saved if option is not specified. Can't be used in sprite modes.
Examples:
-* nestiler -u0 attr.bin ...
-* nestiler --out-attribute-table-1 attrtable1.bin ...
+* nestiler -u0 attr_a.bin -u1 attr_b.bin ...
+* nestiler --out-attribute-table-1 attrtable1.bin --out-attribute-table-2 attrtable2.bin ...
### Option -z, --out-tiles-csv \<filename.csv\>
Option to save CSV file with tiles information for all input images: indices, used palettes, etc. Not saved if option is not specified.