diff options
Diffstat (limited to 'tools/nitrogfx/util.c')
-rw-r--r-- | tools/nitrogfx/util.c | 36 |
1 files changed, 11 insertions, 25 deletions
diff --git a/tools/nitrogfx/util.c b/tools/nitrogfx/util.c index 3fd718fb..73a128a1 100644 --- a/tools/nitrogfx/util.c +++ b/tools/nitrogfx/util.c @@ -126,37 +126,23 @@ void WriteWholeFile(char *path, void *buffer, int bufferSize) void WriteGenericNtrHeader(FILE* fp, const char* magicNumber, uint32_t size, bool byteorder) { + unsigned char header[0x10] = + { 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00 }; //magic number - fputs(magicNumber, fp); + memcpy(header, magicNumber, 4); //byte order - if (byteorder) + if (!byteorder) { - fputc(0xFF, fp); //LE - fputc(0xFE, fp); - } - else - { - fputc(0x00, fp); - fputc(0x00, fp); + memset(header + 4, 0, 2); } - //version - fputc(0x00, fp); - fputc(0x01, fp); - //size size += 0x10; //add header size - fputc(size & 0xFF, fp); - fputc((size >> 8) & 0xFF, fp); - fputc((size >> 16) & 0xFF, fp); - fputc((size >> 24) & 0xFF, fp); - - //header size - fputc(0x10, fp); - fputc(0x00, fp); - - //sections - fputc(0x01, fp); - fputc(0x00, fp); + header[8] = size & 0xFF; + header[9] = (size >> 8) & 0xFF; + header[10] = (size >> 16) & 0xFF; + header[11] = (size >> 24) & 0xFF; + + fwrite(header, 1, 0x10, fp); } |