summaryrefslogtreecommitdiff
path: root/src/factories/RawFactory.cpp
blob: f9972384997f35ee0e2666a29c0b74f03c7b3a65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "RawFactory.h"

void RawFactory::WriteHeader(LUS::BinaryWriter* writer, LUS::ResourceType resType, int32_t version, bool bigEndian) {
    writer->Write((uint8_t)(bigEndian ? LUS::Endianness::Big : LUS::Endianness::Little)); // 0x00
	writer->Write((uint8_t)0); // 0x01
	writer->Write((uint8_t)0); // 0x02
	writer->Write((uint8_t)0); // 0x03

	writer->Write((uint32_t) resType); // 0x04
	writer->Write((uint32_t) version); // 0x08
	writer->Write((uint64_t) 0xDEADBEEFDEADBEEF); // id, 0x0C
	writer->Write((uint32_t) 0); // 0x10
	writer->Write((uint64_t) 0); // ROM CRC, 0x14
	writer->Write((uint32_t) 0); // ROM Enum, 0x1C

	while (writer->GetBaseAddress() < 0x40)
		writer->Write((uint32_t)0); // To be used at a later date!
}