From eaddecd0b402c12a780831e3139d7a35e78322e6 Mon Sep 17 00:00:00 2001 From: Lywx Date: Wed, 15 Nov 2023 15:11:15 -0600 Subject: Torch v0.1 (#12) * Splitted version yamls and implemented wip geo and dlist extraction * Fixed linux compilation * Added PoC WSL 2 detection * Add undefined behaviour * Added gfxdis as submodule * update * Removed gfxdis as a submodule * Code works * Replace ByteSwap with BSWAP * Cleanup vertice factory * readability * readability 2 * Cleanup gfxfactory * last one * Rename name to symbol * More implementation * Implemented first PoC of C file generation * Added output formatting on factories * changes * Moved generated dlists onto their respective folder * Migrated more factories onto the new extractor system * Fully ported all factories and added header generation * Some updates * Added Lights factory * fix * Fixed vtx extraction * Lights work now * delete old startup_logo yaml * Generate all sections in single file * Added support to generate header and code for textures * Added O3 for release builds * Added WIP dlist extraction and moved to use f3dold microcode * Added segment support, autogeneration and fixed C generation * Added symbol names on display list extraction * Removed warnings * Moved back to transform and replace * Removed unnecesary macros * Added extraction order and reversed vtx order * Implemented true backwards sort * [WIP] Implemented runtime gbi, more headers and a few config features * Fix CLI11 on WSL and variety of fixes * Fixes * Update DisplayListFactory.h * Update TextureFactory.cpp * wip lights * fix * Correct callback * Added waypoints * Update ceremony_data.yml * Changes * Update TextureFactory.cpp * Update commandline args * Update comment * Remove printf * Update couple commands * Renamed cubeos to torch * Removed unused stuff and added an example config file --------- Co-authored-by: KiritoDv Co-authored-by: MegaMech --- src/factories/BaseFactory.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/factories/BaseFactory.cpp (limited to 'src/factories/BaseFactory.cpp') diff --git a/src/factories/BaseFactory.cpp b/src/factories/BaseFactory.cpp new file mode 100644 index 0000000..c0da8cd --- /dev/null +++ b/src/factories/BaseFactory.cpp @@ -0,0 +1,17 @@ +#include "BaseFactory.h" + +void BaseExporter::WriteHeader(LUS::BinaryWriter &writer, LUS::ResourceType resType, int32_t version) { + writer.Write((uint8_t)(LUS::Endianness::Native)); // 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! +} \ No newline at end of file -- cgit v1.2.3