From 4367cf2bbbb64c4a2a86fe1bb2846d2c34136f01 Mon Sep 17 00:00:00 2001 From: red031000 Date: Mon, 1 Mar 2021 20:40:15 +0000 Subject: NCER processing --- tools/nitrogfx/main.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'tools/nitrogfx/main.c') diff --git a/tools/nitrogfx/main.c b/tools/nitrogfx/main.c index 35f59d0b..a2ddce6f 100644 --- a/tools/nitrogfx/main.c +++ b/tools/nitrogfx/main.c @@ -13,6 +13,7 @@ #include "rl.h" #include "font.h" #include "huff.h" +#include "json.h" struct CommandHandler { @@ -674,6 +675,17 @@ void HandleJascToNtrPaletteCommand(char *inputPath, char *outputPath, int argc, WriteNtrPalette(outputPath, &palette, ncpr, ir, bitdepth, !nopad, compNum); } +void HandleJsonToNtrCellCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + struct JsonToCellOptions *options; + + options = ParseNCERJson(inputPath); + + WriteNtrCell(outputPath, options); + + FreeNCERCell(options); +} + void HandleLatinFontToPngCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) { struct Image image; @@ -932,6 +944,7 @@ int main(int argc, char **argv) { "png", "hwjpnfont", HandlePngToHalfwidthJapaneseFontCommand }, { "fwjpnfont", "png", HandleFullwidthJapaneseFontToPngCommand }, { "png", "fwjpnfont", HandlePngToFullwidthJapaneseFontCommand }, + { "json", "NCER", HandleJsonToNtrCellCommand }, { NULL, "huff", HandleHuffCompressCommand }, { NULL, "lz", HandleLZCompressCommand }, { "huff", NULL, HandleHuffDecompressCommand }, -- cgit v1.2.3 From eeddf7382ed11b597814342c719862895dd4412f Mon Sep 17 00:00:00 2001 From: red031000 Date: Wed, 3 Mar 2021 17:21:01 +0000 Subject: NSCR processing --- tools/nitrogfx/main.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'tools/nitrogfx/main.c') diff --git a/tools/nitrogfx/main.c b/tools/nitrogfx/main.c index a2ddce6f..171cb5f3 100644 --- a/tools/nitrogfx/main.c +++ b/tools/nitrogfx/main.c @@ -686,6 +686,44 @@ void HandleJsonToNtrCellCommand(char *inputPath, char *outputPath, int argc UNUS FreeNCERCell(options); } +void HandleJsonToNtrScreenCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + struct JsonToScreenOptions *options; + + options = ParseNSCRJson(inputPath); + + int bitdepth = 4; + + 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); + } + } + + options->bitdepth = bitdepth; + + WriteNtrScreen(outputPath, options); + + FreeNSCRScreen(options); +} + void HandleLatinFontToPngCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) { struct Image image; @@ -945,6 +983,7 @@ int main(int argc, char **argv) { "fwjpnfont", "png", HandleFullwidthJapaneseFontToPngCommand }, { "png", "fwjpnfont", HandlePngToFullwidthJapaneseFontCommand }, { "json", "NCER", HandleJsonToNtrCellCommand }, + { "json", "NSCR", HandleJsonToNtrScreenCommand }, { NULL, "huff", HandleHuffCompressCommand }, { NULL, "lz", HandleLZCompressCommand }, { "huff", NULL, HandleHuffDecompressCommand }, -- cgit v1.2.3