diff --git a/LEGO1/mxlist.h b/LEGO1/mxlist.h index 6b08cf83..08e3944b 100644 --- a/LEGO1/mxlist.h +++ b/LEGO1/mxlist.h @@ -39,6 +39,7 @@ class MxListParent : public MxCore // OFFSET: LEGO1 0x1001cd20 virtual MxS8 Compare(T *, T *) = 0; + protected: MxU32 m_count; // +0x8 void (*m_customDestructor)(T *); // +0xc @@ -82,6 +83,7 @@ class MxListCursor : public MxCore MxBool Find(T *p_obj); void Detach(); MxBool Next(T*& p_obj); + private: MxList *m_list; MxListEntry *m_match; diff --git a/LEGO1/mxmediamanager.cpp b/LEGO1/mxmediamanager.cpp index d1823c03..17ac48d1 100644 --- a/LEGO1/mxmediamanager.cpp +++ b/LEGO1/mxmediamanager.cpp @@ -17,11 +17,13 @@ MxMediaManager::MxMediaManager() MxMediaManager::~MxMediaManager() { Destroy(); + Destroy(); } // OFFSET: LEGO1 0x100b85d0 MxResult MxMediaManager::Init() { + this->m_presenters = NULL; this->m_presenters = NULL; this->m_thread = NULL; return SUCCESS; diff --git a/LEGO1/mxmediamanager.h b/LEGO1/mxmediamanager.h index 45fdf639..9df073bc 100644 --- a/LEGO1/mxmediamanager.h +++ b/LEGO1/mxmediamanager.h @@ -23,9 +23,10 @@ class MxMediaManager : public MxCore virtual void StopPresenters(); // vtable+24 MxResult Init(); + private: MxPresenterList *m_presenters; - MxThread* m_thread; // 0xc + MxThread *m_thread; // 0xc protected: MxCriticalSection m_criticalSection; // 0x10 diff --git a/tools/reccmp/reccmp.py b/tools/reccmp/reccmp.py index 1beec5dd..113dea2c 100755 --- a/tools/reccmp/reccmp.py +++ b/tools/reccmp/reccmp.py @@ -463,11 +463,12 @@ def can_resolve_register_differences(original_asm, new_asm): else: percenttext += colorama.Fore.RED + "*" + colorama.Style.RESET_ALL + if args.print_rec_addr: + addrs = '%s / %s' % (hex(addr), hex(recinfo.addr)) + else: + addrs = hex(addr) + if not verbose: - if args.print_rec_addr: - addrs = '%s / %s' % (hex(addr), hex(recinfo.addr)) - else: - addrs = hex(addr) print(' %s (%s) is %s similar to the original' % (recinfo.name, addrs, percenttext)) function_count += 1 @@ -477,16 +478,16 @@ def can_resolve_register_differences(original_asm, new_asm): if recinfo.size: udiff = difflib.unified_diff(origasm, recompasm, n=10) - # If verbose, print the diff for that funciton to the output + # If verbose, print the diff for that function to the output if verbose: if effective_ratio == 1.0: ok_text = "OK!" if plain else (colorama.Fore.GREEN + "✨ OK! ✨" + colorama.Style.RESET_ALL) if ratio == 1.0: print("%s: %s 100%% match.\n\n%s\n\n" % - (hex(addr), recinfo.name, ok_text)) + (addrs, recinfo.name, ok_text)) else: print("%s: %s Effective 100%% match. (Differs in register allocation only)\n\n%s (still differs in register allocation)\n\n" % - (hex(addr), recinfo.name, ok_text)) + (addrs, recinfo.name, ok_text)) else: for line in udiff: if line.startswith("++") or line.startswith("@@") or line.startswith("--"):