Fix areawindow png

This commit is contained in:
PikalaxALT 2021-11-06 10:56:38 -04:00
parent ff506c5734
commit 344a645b5a
8 changed files with 27 additions and 10 deletions

View File

@ -257,12 +257,15 @@ $(CLOBBER_SIZE_VERSION101_NCGR_FILES): GFX_FLAGS = -clobbersize -version101
$(VERSION101_SOPC_8BPP_NCGR_FILES): GFX_FLAGS = -version101 -sopc -bitdepth 8
$(VERSION101_SOPC_NCGR_FILES): GFX_FLAGS = -version101 -sopc
$(SCANNED_NCGR_FILES): GFX_FLAGS = -scanned
$(NOBYTEORDER_NCGR_FILES): GFX_FLAGS = -nobyteorder
$(NOBYTEORDER_WRONGSIZE_NCGR_FILES): GFX_FLAGS = -nobyteorder -wrongsize
$(IR_NCLR_FILES): GFX_FLAGS = -ir
$(4BPP_NCLR_FILES): GFX_FLAGS = -bitdepth 4
$(8BPP_NSCR_FILES): GFX_FLAGS = -bitdepth 8
$(8BPP_COMP10_NOPAD_NCLR_PNG_FILES): GFX_FLAGS = -bitdepth 8 -nopad -comp 10
$(8BPP_COMP10_NOPAD_NCLR_PAL_FILES): GFX_FLAGS = -bitdepth 8 -nopad -comp 10
$(NCPR_NCLR_FILES): GFX_FLAGS = -ncpr
%.NCGR: %.png
$(GFX) $< $@ $(GFX_FLAGS)

View File

@ -1,2 +1,4 @@
cell0.NCGR
cell0.NCLR
dp_areawindow.NCGR
dp_areawindow.NCLR

Binary file not shown.

Before

Width:  |  Height:  |  Size: 249 B

After

Width:  |  Height:  |  Size: 224 B

View File

@ -1,4 +1,3 @@
#todo data/dp_areawindow.NCGR (weirdness with size)
#todo data/graphic/bag_gra/narc_0007.NCGR (SOPC section) (width 32, palette narc_0003.NCLR)
CLOBBER_SIZE_NCGR_FILES := files/data/cell0.NCGR
@ -122,7 +121,7 @@ CLOBBER_SIZE_VERSION101_NCGR_FILES := files/graphic/bag_gra/narc_0002.NCGR \
files/poketool/icongra/poke_icon/narc_0000.NCLR \
files/resource/eng/trial/trial/narc_0000.NCLR \
files/resource/eng/trial/trial/narc_0003.NCLR \
files/resource/eng/trial/trial/narc_0006.NCLR \
files/resource/eng/trial/trial/narc_0006.NCLR
8BPP_NSCR_FILES := files/demo/title/titledemo/narc_0000.NSCR
@ -157,6 +156,9 @@ IR_NCLR_FILES := files/itemtool/itemdata/item_icon/narc_0028.NCLR \
files/itemtool/itemdata/item_icon/narc_0111.NCLR \
files/itemtool/itemdata/item_icon/narc_0114.NCLR
NCPR_NCLR_FILES := files/data/dp_areawindow.NCLR
NOBYTEORDER_WRONGSIZE_NCGR_FILES := files/data/dp_areawindow.NCGR
VERSION101_SOPC_8BPP_NCGR_FILES := files/demo/title/titledemo/narc_0001.NCGR \
files/demo/title/titledemo/narc_0003.NCGR

View File

@ -433,7 +433,9 @@ void WriteImage(char *path, int numTiles, int bitDepth, int metatileWidth, int m
free(buffer);
}
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, bool scanned, uint32_t key)
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, bool scanned,
uint32_t key, bool wrongSize)
{
FILE *fp = fopen(path, "wb");
@ -499,15 +501,15 @@ void WriteNtrImage(char *path, int numTiles, int bitDepth, int metatileWidth, in
}
}
WriteGenericNtrHeader(fp, "RGCN", bufferSize + (sopc ? 0x30 : 0x20), byteOrder, version101, sopc ? 2 : 1);
WriteGenericNtrHeader(fp, "RGCN", bufferSize + (sopc ? 0x30 : 0x20) + (wrongSize ? -8 : 0), byteOrder, version101, sopc ? 2 : 1);
unsigned char charHeader[0x20] = { 0x52, 0x41, 0x48, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00 };
charHeader[4] = (bufferSize + 0x20) & 0xFF;
charHeader[5] = ((bufferSize + 0x20) >> 8) & 0xFF;
charHeader[6] = ((bufferSize + 0x20) >> 16) & 0xFF;
charHeader[7] = ((bufferSize + 0x20) >> 24) & 0xFF;
charHeader[4] = (bufferSize + 0x20 + (wrongSize ? -8 : 0)) & 0xFF;
charHeader[5] = ((bufferSize + 0x20 + (wrongSize ? -8 : 0)) >> 8) & 0xFF;
charHeader[6] = ((bufferSize + 0x20 + (wrongSize ? -8 : 0)) >> 16) & 0xFF;
charHeader[7] = ((bufferSize + 0x20 + (wrongSize ? -8 : 0)) >> 24) & 0xFF;
if (!clobberSize)
{

View File

@ -32,7 +32,9 @@ struct Image {
void ReadImage(char *path, int tilesWidth, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors);
uint32_t ReadNtrImage(char *path, int tilesWidth, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors);
void WriteImage(char *path, int numTiles, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors);
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, bool scanned, uint32_t key);
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, bool scanned,
uint32_t key, bool wrongSize);
void FreeImage(struct Image *image);
void ReadGbaPalette(char *path, struct Palette *palette);
void ReadNtrPalette(char *path, struct Palette *palette, int bitdepth, int palIndex);

View File

@ -116,7 +116,9 @@ void ConvertPngToNtr(char *inputPath, char *outputPath, struct PngToNtrOptions *
free(string);
}
WriteNtrImage(outputPath, options->numTiles, image.bitDepth, options->metatileWidth, options->metatileHeight, &image, !image.hasPalette, options->clobberSize, options->byteOrder, options->version101, options->sopc, options->scanned, key);
WriteNtrImage(outputPath, options->numTiles, image.bitDepth, options->metatileWidth, options->metatileHeight,
&image, !image.hasPalette, options->clobberSize, options->byteOrder, options->version101,
options->sopc, options->scanned, key, options->wrongSize);
FreeImage(&image);
}
@ -442,6 +444,9 @@ void HandlePngToNtrCommand(char *inputPath, char *outputPath, int argc, char **a
{
options.scanned = true;
}
else if (strcmp(option, "-wrongsize") == 0) {
options.wrongSize = true;
}
else
{
FATAL_ERROR("Unrecognized option \"%s\".\n", option);

View File

@ -32,6 +32,7 @@ struct PngToNtrOptions {
bool version101;
bool sopc;
bool scanned;
bool wrongSize;
};
struct Attr0 {