summaryrefslogtreecommitdiff
path: root/tools/nitrogfx/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/nitrogfx/util.c')
-rw-r--r--tools/nitrogfx/util.c36
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);
}