From a6eb40a0293d4a837634ccd2954f4de00d61e43d Mon Sep 17 00:00:00 2001 From: elijah-thomas774 Date: Thu, 10 Aug 2023 09:52:32 -0400 Subject: [PATCH] arc manager stuff --- include/toBeSorted/arc_manager.h | 34 ++++++++++++++++++++++++++++++++ src/toBeSorted/oarc_manager.cpp | 0 2 files changed, 34 insertions(+) create mode 100644 include/toBeSorted/arc_manager.h create mode 100644 src/toBeSorted/oarc_manager.cpp diff --git a/include/toBeSorted/arc_manager.h b/include/toBeSorted/arc_manager.h new file mode 100644 index 00000000..63dc2cea --- /dev/null +++ b/include/toBeSorted/arc_manager.h @@ -0,0 +1,34 @@ +#pragma once + +#include + +// Ghidra: ArcManagerEntry +// size: 0x40 +struct ArcManagerEntry { + /* 0x00 */ char arc_name[0x20]; + /* 0x20 */ u16 ref_count; + /* 0x24 */ int dvd_req_ptr; + /* 0x28 */ int archive_ptr; + /* 0x2C */ int heap_ptr_0; + /* 0x30 */ char field_0x30[0x3C - 0x30]; + /* 0x3C */ int heap_ptr_1; +}; + +// Ghidra: ArcManagerEntryTable +// size: 0xC +class ArcMangerEntryTable{ + public: + /* 0x0 */ ArcManagerEntry* entries; + /* 0x4 */ u16 count; + /* 0x8 */ u32 field_0x8; + public: + ArcMangerEntryTable(); +}; + +class OarcManager { +public: + void* getDataFromOarc(char* oarcName, char* fileName); + +}; + +OarcManager g_OarcManager; diff --git a/src/toBeSorted/oarc_manager.cpp b/src/toBeSorted/oarc_manager.cpp new file mode 100644 index 00000000..e69de29b