diff --git a/config/jp/config.yml b/config/jp/config.yml index 83a6a31..fb655d7 100644 --- a/config/jp/config.yml +++ b/config/jp/config.yml @@ -4,14 +4,6 @@ hash: a564033aee46988743d8f5e6fdc50a8c65791160 symbols: config/jp/symbols.txt splits: config/jp/splits.txt -# TODO: why are these stripped? -force_active: [ - "@81", - "__RTTI__Q23std9exception", - "@260", - __RTTI__Q23std8bad_cast, -] - mw_comment_version: 15 # Wii Linker 1.1 symbols_known: true # Very fast analysis fill_gaps: false # Alignments known diff --git a/configure.py b/configure.py index d56273f..99ed6ce 100644 --- a/configure.py +++ b/configure.py @@ -215,6 +215,8 @@ *cflags_base, "-use_lmw_stmw on", "-str reuse,pool,readonly", + "-gccinc", + "-common off", "-inline on", "-func_align 4", ] @@ -659,10 +661,10 @@ def nw4rLib(lib_name, objects, extra_cflags=[]): Object(Matching, "Runtime/__mem.c"), Object(Matching, "Runtime/__va_arg.c"), Object(Matching, "Runtime/global_destructor_chain.c"), - Object(NonMatching, "Runtime/New.cp", extra_cflags = ["-Cpp_exceptions on"]), + Object(Matching, "Runtime/New.cp", extra_cflags = ["-Cpp_exceptions on", "-RTTI on"]), Object(Matching, "Runtime/NMWException.cp", extra_cflags = ["-Cpp_exceptions on"]), Object(Matching, "Runtime/ptmf.c"), - Object(NonMatching, "Runtime/MWRTTI.cp", extra_cflags = ["-Cpp_exceptions on"]), + Object(Matching, "Runtime/MWRTTI.cp", extra_cflags = ["-Cpp_exceptions on", "-RTTI on"]), Object(Matching, "Runtime/runtime.c"), Object(Matching, "Runtime/__init_cpp_exceptions.cpp"), Object(Matching, "Runtime/Gecko_ExceptionPPC.cp", extra_cflags = ["-Cpp_exceptions on"]), diff --git a/libs/monolib/include/monolib/CPackItem.hpp b/libs/monolib/include/monolib/CPackItem.hpp index c6972bd..a71ee47 100644 --- a/libs/monolib/include/monolib/CPackItem.hpp +++ b/libs/monolib/include/monolib/CPackItem.hpp @@ -1,6 +1,7 @@ #pragma once #include "types.h" +#include "monolib/IWorkEvent.hpp" #include struct PackHeader{ diff --git a/libs/monolib/src/CArcItem.cpp b/libs/monolib/src/CArcItem.cpp index 21eb36b..cd84cdf 100644 --- a/libs/monolib/src/CArcItem.cpp +++ b/libs/monolib/src/CArcItem.cpp @@ -6,7 +6,7 @@ CArcItem::CArcItem(int param){ unk28 = nullptr; unk2C = 0; unk30 = 0; - unk34 = param; - unk38 = 0; - CDeviceFile_openFile1(Heap_getRegionIndex2(), param, this); + //unk34 = param; + //unk38 = 0; + //CDeviceFile_openFile1(Heap_getRegionIndex2(), param, this); } diff --git a/libs/monolib/src/CPackItem.cpp b/libs/monolib/src/CPackItem.cpp index ea52fe6..8df9af3 100644 --- a/libs/monolib/src/CPackItem.cpp +++ b/libs/monolib/src/CPackItem.cpp @@ -1,6 +1,5 @@ #include "monolib/CPackItem.hpp" - bool CPackItem::func_804DE920() { bool result = false; if(this->unk74 != 3 && this->unk7A == 0) result = true; @@ -18,7 +17,7 @@ void CPackItem::func_804DE948() { u64* fileHashTable = mPackHeader->mFileHashTable; mFileHashTable = fileHashTable; r5 = (u16*)fileHashTable + packHeader->mFiles * 4; - workThreadList = r5; + //workThreadList = r5; r5 += packHeader->mFiles; if(packHeader->mPkhFilesize > (u32)r5 - (u32)packHeader){ @@ -75,9 +74,9 @@ bool CPackItem::CalculatePackFileHash(const char* filename) { bool bit = (u8)filename[length - 1 - byteIndex] & mask; //If the index is more than 32, write to the high 32 bit variable if (i >= 32) { - hashUpperHalf |= (1 << (i - 32)) * bit; + mHashUpperHalf |= (1 << (i - 32)) * bit; } else { - hashLowerHalf |= (1 << i) * bit; + mHashLowerHalf |= (1 << i) * bit; } } }