summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorred031000 <rubenru09@aol.com>2020-07-12 18:36:54 +0100
committerred031000 <rubenru09@aol.com>2020-07-12 18:36:54 +0100
commita604bc3b573e2f23bb0eb40e0fc8946b857d6c98 (patch)
treed96c88f0831353b695ee21e492896d5f618ca819
parent5f114f5c8413da73f21c9adbfd0165921314e275 (diff)
fix palette issues, demo/title/titledemo narc fully converted
-rw-r--r--Makefile6
-rw-r--r--files/demo/title/titledemo/.gitignore6
-rw-r--r--files/demo/title/titledemo/narc_0007.NCGRbin320 -> 0 bytes
-rw-r--r--files/demo/title/titledemo/narc_0007.pngbin0 -> 204 bytes
-rw-r--r--files/demo/title/titledemo/narc_0009.NCLRbin552 -> 0 bytes
-rw-r--r--files/demo/title/titledemo/narc_0009.pal19
-rw-r--r--files/demo/title/titledemo/narc_0010.NCLRbin552 -> 0 bytes
-rw-r--r--files/demo/title/titledemo/narc_0010.pal19
-rw-r--r--files/demo/title/titledemo/narc_0011.NCGRbin320 -> 0 bytes
-rw-r--r--files/demo/title/titledemo/narc_0011.pngbin0 -> 204 bytes
-rw-r--r--files/demo/title/titledemo/narc_0013.NCLRbin552 -> 0 bytes
-rw-r--r--files/demo/title/titledemo/narc_0013.pal19
-rw-r--r--files/demo/title/titledemo/narc_0014.NCLRbin552 -> 0 bytes
-rw-r--r--files/demo/title/titledemo/narc_0014.pal19
-rw-r--r--files/demo/title/titledemo/narc_0015.NCGRbin32832 -> 0 bytes
-rw-r--r--files/demo/title/titledemo/narc_0015.pngbin0 -> 376 bytes
-rw-r--r--files/demo/title/titledemo/narc_0016.NCLRbin552 -> 0 bytes
-rw-r--r--files/demo/title/titledemo/narc_0016.pal259
-rw-r--r--filesystem.mk10
-rw-r--r--graphics_rules.mk15
-rw-r--r--tools/nitrogfx/gfx.c19
-rw-r--r--tools/nitrogfx/gfx.h4
-rw-r--r--tools/nitrogfx/main.c48
23 files changed, 423 insertions, 20 deletions
diff --git a/Makefile b/Makefile
index cecb8b98..e7fecae4 100644
--- a/Makefile
+++ b/Makefile
@@ -255,6 +255,9 @@ $(CLOBBER_SIZE_VERSION101_NCGR_FILES): %.NCGR: %.png
$(VERSION101_SOPC_8BPP_NCGR_FILES): %.NCGR: %.png
$(GFX) $< $@ -version101 -sopc -bitdepth 8
+$(VERSION101_SOPC_NCGR_FILES): %.NCGR: %.png
+ $(GFX) $< $@ -version101 -sopc
+
%.NCLR: %.png
$(GFX) $< $@
@@ -264,6 +267,9 @@ $(VERSION101_SOPC_8BPP_NCGR_FILES): %.NCGR: %.png
$(IR_NCLR_FILES): %.NCLR: %.pal
$(GFX) $< $@ -ir
+$(4BPP_NCLR_FILES): %.NCLR: %.pal
+ $(GFX) $< $@ -bitdepth 4
+
%.png: ;
%.pal: ;
diff --git a/files/demo/title/titledemo/.gitignore b/files/demo/title/titledemo/.gitignore
index b49b5cb3..e16f0811 100644
--- a/files/demo/title/titledemo/.gitignore
+++ b/files/demo/title/titledemo/.gitignore
@@ -1,4 +1,2 @@
-narc_0001.NCGR
-narc_0001.NCLR
-narc_0003.NCGR
-narc_0003.NCLR
+*.NCLR
+*.NCGR
diff --git a/files/demo/title/titledemo/narc_0007.NCGR b/files/demo/title/titledemo/narc_0007.NCGR
deleted file mode 100644
index 999daf42..00000000
--- a/files/demo/title/titledemo/narc_0007.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/demo/title/titledemo/narc_0007.png b/files/demo/title/titledemo/narc_0007.png
new file mode 100644
index 00000000..b0cc4b6e
--- /dev/null
+++ b/files/demo/title/titledemo/narc_0007.png
Binary files differ
diff --git a/files/demo/title/titledemo/narc_0009.NCLR b/files/demo/title/titledemo/narc_0009.NCLR
deleted file mode 100644
index d7ac121e..00000000
--- a/files/demo/title/titledemo/narc_0009.NCLR
+++ /dev/null
Binary files differ
diff --git a/files/demo/title/titledemo/narc_0009.pal b/files/demo/title/titledemo/narc_0009.pal
new file mode 100644
index 00000000..e69e3f47
--- /dev/null
+++ b/files/demo/title/titledemo/narc_0009.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+255 255 255
+238 238 246
+222 222 230
+205 205 222
+180 189 205
+164 172 197
+148 156 180
+131 131 172
+106 115 156
+90 98 148
+74 82 131
+57 65 123
+32 49 106
+16 32 98
+0 8 82
diff --git a/files/demo/title/titledemo/narc_0010.NCLR b/files/demo/title/titledemo/narc_0010.NCLR
deleted file mode 100644
index 1dc5e984..00000000
--- a/files/demo/title/titledemo/narc_0010.NCLR
+++ /dev/null
Binary files differ
diff --git a/files/demo/title/titledemo/narc_0010.pal b/files/demo/title/titledemo/narc_0010.pal
new file mode 100644
index 00000000..4a9c3339
--- /dev/null
+++ b/files/demo/title/titledemo/narc_0010.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+255 255 255
+246 238 246
+230 222 230
+213 205 213
+197 189 205
+180 172 189
+164 156 172
+148 139 164
+131 115 148
+115 98 131
+98 82 123
+82 65 106
+74 49 90
+57 32 82
+41 16 65
diff --git a/files/demo/title/titledemo/narc_0011.NCGR b/files/demo/title/titledemo/narc_0011.NCGR
deleted file mode 100644
index 999daf42..00000000
--- a/files/demo/title/titledemo/narc_0011.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/demo/title/titledemo/narc_0011.png b/files/demo/title/titledemo/narc_0011.png
new file mode 100644
index 00000000..4a0a9211
--- /dev/null
+++ b/files/demo/title/titledemo/narc_0011.png
Binary files differ
diff --git a/files/demo/title/titledemo/narc_0013.NCLR b/files/demo/title/titledemo/narc_0013.NCLR
deleted file mode 100644
index 0dd59fd4..00000000
--- a/files/demo/title/titledemo/narc_0013.NCLR
+++ /dev/null
Binary files differ
diff --git a/files/demo/title/titledemo/narc_0013.pal b/files/demo/title/titledemo/narc_0013.pal
new file mode 100644
index 00000000..74fff8e5
--- /dev/null
+++ b/files/demo/title/titledemo/narc_0013.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+0 0 0
+0 0 0
+0 0 8
+0 0 16
+0 0 24
+0 0 24
+0 0 32
+0 0 41
+0 8 49
+0 8 49
+0 8 57
+0 8 65
+0 8 74
+0 8 74
+0 8 82
diff --git a/files/demo/title/titledemo/narc_0014.NCLR b/files/demo/title/titledemo/narc_0014.NCLR
deleted file mode 100644
index 4187c5bf..00000000
--- a/files/demo/title/titledemo/narc_0014.NCLR
+++ /dev/null
Binary files differ
diff --git a/files/demo/title/titledemo/narc_0014.pal b/files/demo/title/titledemo/narc_0014.pal
new file mode 100644
index 00000000..f64b3cef
--- /dev/null
+++ b/files/demo/title/titledemo/narc_0014.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+0 0 0
+0 0 0
+0 0 8
+8 0 8
+8 0 16
+8 0 16
+16 0 24
+16 8 32
+16 8 32
+24 8 41
+24 8 41
+32 8 49
+32 8 57
+32 8 57
+41 16 65
diff --git a/files/demo/title/titledemo/narc_0015.NCGR b/files/demo/title/titledemo/narc_0015.NCGR
deleted file mode 100644
index 10e00b0e..00000000
--- a/files/demo/title/titledemo/narc_0015.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/demo/title/titledemo/narc_0015.png b/files/demo/title/titledemo/narc_0015.png
new file mode 100644
index 00000000..9584e219
--- /dev/null
+++ b/files/demo/title/titledemo/narc_0015.png
Binary files differ
diff --git a/files/demo/title/titledemo/narc_0016.NCLR b/files/demo/title/titledemo/narc_0016.NCLR
deleted file mode 100644
index 697a342a..00000000
--- a/files/demo/title/titledemo/narc_0016.NCLR
+++ /dev/null
Binary files differ
diff --git a/files/demo/title/titledemo/narc_0016.pal b/files/demo/title/titledemo/narc_0016.pal
new file mode 100644
index 00000000..13181a80
--- /dev/null
+++ b/files/demo/title/titledemo/narc_0016.pal
@@ -0,0 +1,259 @@
+JASC-PAL
+0100
+256
+0 0 0
+0 0 0
+16 16 16
+32 32 32
+49 49 49
+74 74 74
+90 90 90
+106 106 106
+123 123 123
+148 148 148
+164 164 164
+180 180 180
+205 205 205
+222 222 222
+238 238 238
+255 255 255
+0 0 0
+0 0 0
+16 16 16
+32 32 32
+49 49 49
+74 74 74
+90 90 90
+106 106 106
+123 123 123
+148 148 148
+164 164 164
+180 180 180
+205 205 205
+222 222 222
+238 238 238
+255 255 255
+0 0 0
+222 16 16
+222 115 115
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
diff --git a/filesystem.mk b/filesystem.mk
index 1be7b682..a203a0db 100644
--- a/filesystem.mk
+++ b/filesystem.mk
@@ -2223,7 +2223,15 @@ files/demo/title/titledemo.narc: \
files/demo/title/titledemo/narc_0001.NCGR \
files/demo/title/titledemo/narc_0001.NCLR \
files/demo/title/titledemo/narc_0003.NCGR \
- files/demo/title/titledemo/narc_0003.NCLR
+ files/demo/title/titledemo/narc_0003.NCLR \
+ files/demo/title/titledemo/narc_0007.NCGR \
+ files/demo/title/titledemo/narc_0009.NCLR \
+ files/demo/title/titledemo/narc_0010.NCLR \
+ files/demo/title/titledemo/narc_0011.NCGR \
+ files/demo/title/titledemo/narc_0013.NCLR \
+ files/demo/title/titledemo/narc_0014.NCLR \
+ files/demo/title/titledemo/narc_0015.NCGR \
+ files/demo/title/titledemo/narc_0016.NCLR
.PHONY: filesystem
diff --git a/graphics_rules.mk b/graphics_rules.mk
index fba3be06..64762f03 100644
--- a/graphics_rules.mk
+++ b/graphics_rules.mk
@@ -1,6 +1,5 @@
#todo data/dp_areawindow.NCGR (weirdness with size)
#todo data/graphic/bag_gra/narc_0007.NCGR (SOPC section) (width 32, palette narc_0003.NCLR)
-#todo data/demo/title/titledemo/narc_0007.NCGR (weidness with size, needs investigating)
CLOBBER_SIZE_NCGR_FILES := files/data/cell0.NCGR
@@ -51,6 +50,8 @@ CLOBBER_SIZE_VERSION101_NCGR_FILES := files/graphic/bag_gra/narc_0002.NCGR \
files/itemtool/itemdata/item_icon/narc_0109.NCGR \
files/itemtool/itemdata/item_icon/narc_0112.NCGR
+4BPP_NCLR_FILES := files/demo/title/titledemo/narc_0016.NCLR
+
IR_NCLR_FILES := files/itemtool/itemdata/item_icon/narc_0028.NCLR \
files/itemtool/itemdata/item_icon/narc_0029.NCLR \
files/itemtool/itemdata/item_icon/narc_0032.NCLR \
@@ -85,9 +86,16 @@ IR_NCLR_FILES := files/itemtool/itemdata/item_icon/narc_0028.NCLR \
VERSION101_SOPC_8BPP_NCGR_FILES := files/demo/title/titledemo/narc_0001.NCGR \
files/demo/title/titledemo/narc_0003.NCGR
+VERSION101_SOPC_NCGR_FILES := files/demo/title/titledemo/narc_0007.NCGR \
+ files/demo/title/titledemo/narc_0011.NCGR \
+ files/demo/title/titledemo/narc_0015.NCGR
+
NCGR_CLEAN_LIST := files/data/cell0.NCGR \
files/demo/title/titledemo/narc_0001.NCGR \
files/demo/title/titledemo/narc_0003.NCGR \
+ files/demo/title/titledemo/narc_0007.NCGR \
+ files/demo/title/titledemo/narc_0011.NCGR \
+ files/demo/title/titledemo/narc_0015.NCGR \
files/graphic/bag_gra/narc_0002.NCGR \
files/graphic/bag_gra/narc_0006.NCGR \
files/graphic/bag_gra/narc_0034.NCGR \
@@ -139,6 +147,11 @@ NCGR_CLEAN_LIST := files/data/cell0.NCGR \
NCLR_CLEAN_LIST := files/data/cell0.NCLR \
files/demo/title/titledemo/narc_0001.NCLR \
files/demo/title/titledemo/narc_0003.NCLR \
+ files/demo/title/titledemo/narc_0009.NCLR \
+ files/demo/title/titledemo/narc_0010.NCLR \
+ files/demo/title/titledemo/narc_0013.NCLR \
+ files/demo/title/titledemo/narc_0014.NCLR \
+ files/demo/title/titledemo/narc_0016.NCLR \
files/graphic/bag_gra/narc_0003.NCLR \
files/graphic/bag_gra/narc_0034.NCLR \
files/itemtool/itemdata/item_icon/narc_0002.NCLR \
diff --git a/tools/nitrogfx/gfx.c b/tools/nitrogfx/gfx.c
index 4e529490..8f943698 100644
--- a/tools/nitrogfx/gfx.c
+++ b/tools/nitrogfx/gfx.c
@@ -453,10 +453,10 @@ void WriteNtrImage(char *path, int numTiles, int bitDepth, int metatileWidth, in
sopcBuffer[12] = tilesWidth & 0xFF;
sopcBuffer[13] = (tilesWidth >> 8) & 0xFF;
- sopcBuffer[14] = tilesHeight & 0xFF;
- sopcBuffer[15] = (tilesHeight >> 8) & 0xFF;
+ sopcBuffer[14] = tilesHeight & 0xFF;
+ sopcBuffer[15] = (tilesHeight >> 8) & 0xFF;
- fwrite(sopcBuffer, 1, 0x10, fp);
+ fwrite(sopcBuffer, 1, 0x10, fp);
}
free(pixelBuffer);
@@ -489,7 +489,7 @@ void ReadGbaPalette(char *path, struct Palette *palette)
free(data);
}
-void ReadNtrPalette(char *path, struct Palette *palette)
+void ReadNtrPalette(char *path, struct Palette *palette, int bitdepth)
{
int fileSize;
unsigned char *data = ReadWholeFile(path, &fileSize);
@@ -511,7 +511,9 @@ void ReadNtrPalette(char *path, struct Palette *palette)
palette->bitDepth = paletteHeader[0x8] == 3 ? 4 : 8;
- palette->numColors = palette->bitDepth == 4 ? 16 : 256; //remove header and divide by 2
+ bitdepth = bitdepth ? bitdepth : palette->bitDepth;
+
+ palette->numColors = bitdepth == 4 ? 16 : 256; //remove header and divide by 2
unsigned char *paletteData = paletteHeader + 0x18;
@@ -547,7 +549,7 @@ void WriteGbaPalette(char *path, struct Palette *palette)
fclose(fp);
}
-void WriteNtrPalette(char *path, struct Palette *palette, bool ncpr, bool ir)
+void WriteNtrPalette(char *path, struct Palette *palette, bool ncpr, bool ir, int bitdepth)
{
FILE *fp = fopen(path, "wb");
@@ -574,8 +576,11 @@ void WriteNtrPalette(char *path, struct Palette *palette, bool ncpr, bool ir)
if (!palette->bitDepth)
palette->bitDepth = 4;
+
+ bitdepth = bitdepth ? bitdepth : palette->bitDepth;
+
//bit depth
- palHeader[8] = palette->bitDepth == 4 ? 0x03: 0x04;
+ palHeader[8] = bitdepth == 4 ? 0x03: 0x04;
//size
palHeader[16] = size & 0xFF;
diff --git a/tools/nitrogfx/gfx.h b/tools/nitrogfx/gfx.h
index 54e6fb16..e5189100 100644
--- a/tools/nitrogfx/gfx.h
+++ b/tools/nitrogfx/gfx.h
@@ -34,8 +34,8 @@ void WriteImage(char *path, int numTiles, int bitDepth, int metatileWidth, int m
void WriteNtrImage(char *path, int numTiles, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors, bool clobberSize, bool byteOrder, bool version101, bool sopc);
void FreeImage(struct Image *image);
void ReadGbaPalette(char *path, struct Palette *palette);
-void ReadNtrPalette(char *path, struct Palette *palette);
+void ReadNtrPalette(char *path, struct Palette *palette, int bitdepth);
void WriteGbaPalette(char *path, struct Palette *palette);
-void WriteNtrPalette(char *path, struct Palette *palette, bool ncpr, bool ir);
+void WriteNtrPalette(char *path, struct Palette *palette, bool ncpr, bool ir, int bitdepth);
#endif // GFX_H
diff --git a/tools/nitrogfx/main.c b/tools/nitrogfx/main.c
index 0aaad201..188bdf0a 100644
--- a/tools/nitrogfx/main.c
+++ b/tools/nitrogfx/main.c
@@ -50,7 +50,7 @@ void ConvertNtrToPng(char *inputPath, char *outputPath, struct GbaToPngOptions *
if (options->paletteFilePath != NULL)
{
- ReadNtrPalette(options->paletteFilePath, &image.palette);
+ ReadNtrPalette(options->paletteFilePath, &image.palette, options->bitDepth);
image.hasPalette = true;
}
else
@@ -437,7 +437,7 @@ void HandlePngToNtrPaletteCommand(char *inputPath, char *outputPath, int argc, c
}
ReadPngPalette(inputPath, &palette);
- WriteNtrPalette(outputPath, &palette, ncpr, ir);
+ WriteNtrPalette(outputPath, &palette, ncpr, ir, palette.bitDepth);
}
void HandleGbaToJascPaletteCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED)
@@ -448,11 +448,35 @@ void HandleGbaToJascPaletteCommand(char *inputPath, char *outputPath, int argc U
WriteJascPalette(outputPath, &palette);
}
-void HandleNtrToJascPaletteCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED)
+void HandleNtrToJascPaletteCommand(char *inputPath, char *outputPath, int argc, char **argv)
{
struct Palette palette;
+ int bitdepth = 0;
- ReadNtrPalette(inputPath, &palette);
+ for (int i = 3; i < argc; i++)
+ {
+ char *option = argv[i];
+
+ if (strcmp(option, "-bitdepth") == 0)
+ {
+ if (i + 1 >= argc)
+ FATAL_ERROR("No bitdepth following \"-bitdepth\".\n");
+
+ i++;
+
+ if (!ParseNumber(argv[i], NULL, 10, &bitdepth))
+ FATAL_ERROR("Failed to parse bitdepth.\n");
+
+ if (bitdepth != 4 && bitdepth != 8)
+ FATAL_ERROR("Bitdepth must be 4 or 8.\n");
+ }
+ else
+ {
+ FATAL_ERROR("Unrecognized option \"%s\".\n", option);
+ }
+ }
+
+ ReadNtrPalette(inputPath, &palette, bitdepth);
WriteJascPalette(outputPath, &palette);
}
@@ -498,6 +522,7 @@ void HandleJascToNtrPaletteCommand(char *inputPath, char *outputPath, int argc,
int numColors = 0;
bool ncpr = false;
bool ir = false;
+ int bitdepth = 0;
for (int i = 3; i < argc; i++)
{
@@ -516,6 +541,19 @@ void HandleJascToNtrPaletteCommand(char *inputPath, char *outputPath, int argc,
if (numColors < 1)
FATAL_ERROR("Number of colors must be positive.\n");
}
+ if (strcmp(option, "-bitdepth") == 0)
+ {
+ if (i + 1 >= argc)
+ FATAL_ERROR("No bitdepth following \"-bitdepth\".\n");
+
+ i++;
+
+ if (!ParseNumber(argv[i], NULL, 10, &bitdepth))
+ FATAL_ERROR("Failed to parse bitdepth.\n");
+
+ if (bitdepth != 4 && bitdepth != 8)
+ FATAL_ERROR("Bitdepth must be 4 or 8.\n");
+ }
else if (strcmp(option, "-ncpr") == 0)
{
ncpr = true;
@@ -537,7 +575,7 @@ void HandleJascToNtrPaletteCommand(char *inputPath, char *outputPath, int argc,
if (numColors != 0)
palette.numColors = numColors;
- WriteNtrPalette(outputPath, &palette, ncpr, ir);
+ WriteNtrPalette(outputPath, &palette, ncpr, ir, bitdepth);
}
void HandleLatinFontToPngCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED)