summaryrefslogtreecommitdiff
path: root/tools/nitrogfx/gfx.c
diff options
context:
space:
mode:
authorred031000 <rubenru09@aol.com>2020-06-07 17:34:32 +0100
committerred031000 <rubenru09@aol.com>2020-06-07 17:34:32 +0100
commit6bd0b1970c1b096d9791c8ea1515e0f722fd99a8 (patch)
tree18e5314e06df51062da58bce7f8f6a0486179fed /tools/nitrogfx/gfx.c
parent1c7bd60010bb429bd6cbcfad889bef9e7058cb89 (diff)
bit of cleanup
Diffstat (limited to 'tools/nitrogfx/gfx.c')
-rw-r--r--tools/nitrogfx/gfx.c69
1 files changed, 3 insertions, 66 deletions
diff --git a/tools/nitrogfx/gfx.c b/tools/nitrogfx/gfx.c
index 8a10efe2..92483228 100644
--- a/tools/nitrogfx/gfx.c
+++ b/tools/nitrogfx/gfx.c
@@ -376,7 +376,7 @@ void WriteGbaPalette(char *path, struct Palette *palette)
fclose(fp);
}
-void WriteNtrNCLRPalette(char *path, struct Palette *palette)
+void WriteNtrPalette(char *path, struct Palette *palette, bool ncpr)
{
FILE *fp = fopen(path, "wb");
@@ -384,73 +384,10 @@ void WriteNtrNCLRPalette(char *path, struct Palette *palette)
FATAL_ERROR("Failed too open \"%s\" for writing.\n", path);
uint32_t size = palette->numColors * 2;
- uint32_t extSize = size + 0x18;
+ uint32_t extSize = size + (ncpr ? 0x10 : 0x18);
//NCLR header
- WriteGenericNtrHeader(fp, "RLCN", extSize, true);
-
- //PLTT header
- //magic number
- fputs("TTLP", fp);
-
- //section size
- fputc(extSize & 0xFF, fp);
- fputc((extSize >> 8) & 0xFF, fp);
- fputc((extSize >> 16) & 0xFF, fp);
- fputc((extSize >> 24) & 0xFF, fp);
-
- //bit depth
- char bitDepth = palette->bitDepth == 4 ? 0x03: 0x04;
- fputc(bitDepth, fp);
- fputc(0x00, fp);
- fputc(0x00, fp);
- fputc(0x00, fp);
-
- //padding
- fputc(0x00, fp);
- fputc(0x00, fp);
- fputc(0x00, fp);
- fputc(0x00, fp);
-
- //size
- fputc(size & 0xFF, fp);
- fputc((size >> 8) & 0xFF, fp);
- fputc((size >> 16) & 0xFF, fp);
- fputc((size >> 24) & 0xFF, fp);
-
- //colours per palette
- fputc(0x10, fp);
- fputc(0x00, fp);
- fputc(0x00, fp);
- fputc(0x00, fp);
-
- //palette data
- for (int i = 0; i < palette->numColors; i++) {
- unsigned char red = DOWNCONVERT_BIT_DEPTH(palette->colors[i].red);
- unsigned char green = DOWNCONVERT_BIT_DEPTH(palette->colors[i].green);
- unsigned char blue = DOWNCONVERT_BIT_DEPTH(palette->colors[i].blue);
-
- uint16_t paletteEntry = SET_GBA_PAL(red, green, blue);
-
- fputc(paletteEntry & 0xFF, fp);
- fputc(paletteEntry >> 8, fp);
- }
-
- fclose(fp);
-}
-
-void WriteNtrNCPRPalette(char *path, struct Palette *palette)
-{
- FILE *fp = fopen(path, "wb");
-
- if (fp == NULL)
- FATAL_ERROR("Failed too open \"%s\" for writing.\n", path);
-
- uint32_t size = palette->numColors * 2;
- uint32_t extSize = size + 0x10;
-
- //NCLR header
- WriteGenericNtrHeader(fp, "RPCN", extSize, false);
+ WriteGenericNtrHeader(fp, (ncpr ? "RPCN" : "RLCN"), extSize, !ncpr);
//PLTT header
//magic number