Merge branch 'master' into mxmediamanager

This commit is contained in:
Christian Semmler 2023-09-17 06:31:56 -04:00
commit df81b48715
4 changed files with 14 additions and 8 deletions

View File

@ -39,6 +39,7 @@ class MxListParent : public MxCore
// OFFSET: LEGO1 0x1001cd20 // OFFSET: LEGO1 0x1001cd20
virtual MxS8 Compare(T *, T *) = 0; virtual MxS8 Compare(T *, T *) = 0;
protected: protected:
MxU32 m_count; // +0x8 MxU32 m_count; // +0x8
void (*m_customDestructor)(T *); // +0xc void (*m_customDestructor)(T *); // +0xc
@ -82,6 +83,7 @@ class MxListCursor : public MxCore
MxBool Find(T *p_obj); MxBool Find(T *p_obj);
void Detach(); void Detach();
MxBool Next(T*& p_obj); MxBool Next(T*& p_obj);
private: private:
MxList<T> *m_list; MxList<T> *m_list;
MxListEntry<T> *m_match; MxListEntry<T> *m_match;

View File

@ -17,11 +17,13 @@ MxMediaManager::MxMediaManager()
MxMediaManager::~MxMediaManager() MxMediaManager::~MxMediaManager()
{ {
Destroy(); Destroy();
Destroy();
} }
// OFFSET: LEGO1 0x100b85d0 // OFFSET: LEGO1 0x100b85d0
MxResult MxMediaManager::Init() MxResult MxMediaManager::Init()
{ {
this->m_presenters = NULL;
this->m_presenters = NULL; this->m_presenters = NULL;
this->m_thread = NULL; this->m_thread = NULL;
return SUCCESS; return SUCCESS;

View File

@ -23,9 +23,10 @@ class MxMediaManager : public MxCore
virtual void StopPresenters(); // vtable+24 virtual void StopPresenters(); // vtable+24
MxResult Init(); MxResult Init();
private: private:
MxPresenterList *m_presenters; MxPresenterList *m_presenters;
MxThread* m_thread; // 0xc MxThread *m_thread; // 0xc
protected: protected:
MxCriticalSection m_criticalSection; // 0x10 MxCriticalSection m_criticalSection; // 0x10

View File

@ -463,11 +463,12 @@ def can_resolve_register_differences(original_asm, new_asm):
else: else:
percenttext += colorama.Fore.RED + "*" + colorama.Style.RESET_ALL 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 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)) print(' %s (%s) is %s similar to the original' % (recinfo.name, addrs, percenttext))
function_count += 1 function_count += 1
@ -477,16 +478,16 @@ def can_resolve_register_differences(original_asm, new_asm):
if recinfo.size: if recinfo.size:
udiff = difflib.unified_diff(origasm, recompasm, n=10) 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 verbose:
if effective_ratio == 1.0: if effective_ratio == 1.0:
ok_text = "OK!" if plain else (colorama.Fore.GREEN + "✨ OK! ✨" + colorama.Style.RESET_ALL) ok_text = "OK!" if plain else (colorama.Fore.GREEN + "✨ OK! ✨" + colorama.Style.RESET_ALL)
if ratio == 1.0: if ratio == 1.0:
print("%s: %s 100%% match.\n\n%s\n\n" % print("%s: %s 100%% match.\n\n%s\n\n" %
(hex(addr), recinfo.name, ok_text)) (addrs, recinfo.name, ok_text))
else: else:
print("%s: %s Effective 100%% match. (Differs in register allocation only)\n\n%s (still differs in register allocation)\n\n" % 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: else:
for line in udiff: for line in udiff:
if line.startswith("++") or line.startswith("@@") or line.startswith("--"): if line.startswith("++") or line.startswith("@@") or line.startswith("--"):