summaryrefslogtreecommitdiff
path: root/tools/nitrogfx/main.c
diff options
context:
space:
mode:
authorred031000 <rubenru09@aol.com>2020-06-07 16:46:28 +0100
committerred031000 <rubenru09@aol.com>2020-06-07 16:46:28 +0100
commit28bffae5bc2b497329e04dbae842d3b6fe3024d8 (patch)
tree9a0d2efca7696d6c3eb3680b22af2fcf0c8c6f1a /tools/nitrogfx/main.c
parentcc67cafa094351a033f295d054380acc63fddd78 (diff)
ncpr palette support
Diffstat (limited to 'tools/nitrogfx/main.c')
-rw-r--r--tools/nitrogfx/main.c45
1 files changed, 42 insertions, 3 deletions
diff --git a/tools/nitrogfx/main.c b/tools/nitrogfx/main.c
index 07083234..1c7fc1e1 100644
--- a/tools/nitrogfx/main.c
+++ b/tools/nitrogfx/main.c
@@ -371,7 +371,7 @@ void HandleJascToGbaPaletteCommand(char *inputPath, char *outputPath, int argc,
WriteGbaPalette(outputPath, &palette);
}
-void HandleJascToNtrPaletteCommand(char *inputPath, char *outputPath, int argc, char **argv)
+void HandleJascToNtrNCLRPaletteCommand(char *inputPath, char *outputPath, int argc, char **argv)
{
int numColors = 0;
@@ -405,7 +405,44 @@ void HandleJascToNtrPaletteCommand(char *inputPath, char *outputPath, int argc,
if (numColors != 0)
palette.numColors = numColors;
- WriteNtrPalette(outputPath, &palette);
+ WriteNtrNCLRPalette(outputPath, &palette);
+}
+
+void HandleJascToNtrNCPRPaletteCommand(char *inputPath, char *outputPath, int argc, char **argv)
+{
+ int numColors = 0;
+
+ for (int i = 3; i < argc; i++)
+ {
+ char *option = argv[i];
+
+ if (strcmp(option, "-num_colors") == 0)
+ {
+ if (i + 1 >= argc)
+ FATAL_ERROR("No number of colors following \"-num_colors\".\n");
+
+ i++;
+
+ if (!ParseNumber(argv[i], NULL, 10, &numColors))
+ FATAL_ERROR("Failed to parse number of colors.\n");
+
+ if (numColors < 1)
+ FATAL_ERROR("Number of colors must be positive.\n");
+ }
+ else
+ {
+ FATAL_ERROR("Unrecognized option \"%s\".\n", option);
+ }
+ }
+
+ struct Palette palette;
+
+ ReadJascPalette(inputPath, &palette);
+
+ if (numColors != 0)
+ palette.numColors = numColors;
+
+ WriteNtrNCPRPalette(outputPath, &palette);
}
void HandleLatinFontToPngCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED)
@@ -656,8 +693,10 @@ int main(int argc, char **argv)
{ "png", "gbapal", HandlePngToGbaPaletteCommand },
{ "gbapal", "pal", HandleGbaToJascPaletteCommand },
{ "nclr", "pal", HandleNtrToJascPaletteCommand },
+ { "ncpr", "pal", HandleNtrToJascPaletteCommand },
{ "pal", "gbapal", HandleJascToGbaPaletteCommand },
- { "pal", "nclr", HandleJascToNtrPaletteCommand },
+ { "pal", "nclr", HandleJascToNtrNCLRPaletteCommand },
+ { "pal", "ncpr", HandleJascToNtrNCPRPaletteCommand },
{ "latfont", "png", HandleLatinFontToPngCommand },
{ "png", "latfont", HandlePngToLatinFontCommand },
{ "hwjpnfont", "png", HandleHalfwidthJapaneseFontToPngCommand },