BETA matches for SoundManagers (#1646)

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
This commit is contained in:
jonschz
2025-07-21 23:42:42 +02:00
committed by GitHub
parent fd299137ff
commit 36f6d963dc
17 changed files with 201 additions and 92 deletions

View File

@@ -2,11 +2,12 @@
#define MXAUDIOMANAGER_H
#include "decomp.h"
#include "mxmediamanager.h"
#include "mxpresentationmanager.h"
// VTABLE: LEGO1 0x100dc6e0
// VTABLE: BETA10 0x101c2348
// SIZE 0x30
class MxAudioManager : public MxMediaManager {
class MxAudioManager : public MxPresentationManager {
public:
MxAudioManager();
~MxAudioManager() override;
@@ -15,11 +16,13 @@ public:
void Destroy() override; // vtable+18
// FUNCTION: LEGO1 0x10029910
// FUNCTION: BETA10 0x100d0630
virtual MxS32 GetVolume() { return m_volume; } // vtable+28
virtual void SetVolume(MxS32 p_volume); // vtable+2c
// SYNTHETIC: LEGO1 0x100b8d70
// SYNTHETIC: BETA10 0x10145110
// MxAudioManager::`scalar deleting destructor'
private:

View File

@@ -2,11 +2,11 @@
#define MXEVENTMANAGER_H
#include "decomp.h"
#include "mxmediamanager.h"
#include "mxpresentationmanager.h"
// VTABLE: LEGO1 0x100dc900
// SIZE 0x2c
class MxEventManager : public MxMediaManager {
class MxEventManager : public MxPresentationManager {
public:
MxEventManager();
~MxEventManager() override;

View File

@@ -1,5 +1,5 @@
#ifndef MXMEDIAMANGER_H
#define MXMEDIAMANGER_H
#ifndef MXPRESENTATIONMANAGER_H
#define MXPRESENTATIONMANAGER_H
#include "mxcore.h"
#include "mxcriticalsection.h"
@@ -9,11 +9,12 @@
class MxThread;
// VTABLE: LEGO1 0x100dc6b0
// VTABLE: BETA10 0x101c2318
// SIZE 0x2c
class MxMediaManager : public MxCore {
class MxPresentationManager : public MxCore {
public:
MxMediaManager();
~MxMediaManager() override;
MxPresentationManager();
~MxPresentationManager() override;
MxResult Tickle() override; // vtable+08
virtual MxResult Create(); // vtable+14
@@ -25,7 +26,8 @@ public:
MxResult Init();
// SYNTHETIC: LEGO1 0x100b8540
// MxMediaManager::`scalar deleting destructor'
// SYNTHETIC: BETA10 0x10144db0
// MxPresentationManager::`scalar deleting destructor'
protected:
MxPresenterList* m_presenters; // 0x08
@@ -33,4 +35,4 @@ protected:
MxCriticalSection m_criticalSection; // 0x10
};
#endif // MXMEDIAMANGER_H
#endif // MXPRESENTATIONMANAGER_H

View File

@@ -5,12 +5,15 @@
#include "mxpresenter.h"
// VTABLE: LEGO1 0x100d62f0
// VTABLE: BETA10 0x101bf070
// class MxPtrList<MxPresenter>
// VTABLE: LEGO1 0x100d6308
// VTABLE: BETA10 0x101bf050
// SIZE 0x18
class MxPresenterList : public MxPtrList<MxPresenter> {
public:
// FUNCTION: BETA10 0x100dc900
MxPresenterList(MxBool p_ownership = FALSE) : MxPtrList<MxPresenter>(p_ownership) {}
// FUNCTION: LEGO1 0x1001cd00
@@ -35,6 +38,13 @@ class MxPresenterListCursor : public MxPtrListCursor<MxPresenter> {
public:
// FUNCTION: BETA10 0x1007d130
MxPresenterListCursor(MxPresenterList* p_list) : MxPtrListCursor<MxPresenter>(p_list) {}
// SYNTHETIC: LEGO1 0x1001eed0
// MxPresenterListCursor::`scalar deleting destructor'
// SYNTHETIC: LEGO1 0x1001f0c0
// SYNTHETIC: BETA10 0x1007d510
// MxPresenterListCursor::~MxPresenterListCursor
};
// VTABLE: LEGO1 0x100d6350
@@ -58,7 +68,11 @@ public:
// TEMPLATE: LEGO1 0x1001ce20
// MxList<MxPresenter *>::~MxList<MxPresenter *>
// TEMPLATE: BETA10 0x100dc9f0
// MxPtrList<MxPresenter>::MxPtrList<MxPresenter>
// TEMPLATE: LEGO1 0x1001cf20
// TEMPLATE: BETA10 0x100dce70
// MxPtrList<MxPresenter>::~MxPtrList<MxPresenter>
// SYNTHETIC: LEGO1 0x1001cf70
@@ -73,10 +87,8 @@ public:
// SYNTHETIC: LEGO1 0x1001d100
// MxPresenterList::~MxPresenterList
// SYNTHETIC: LEGO1 0x1001eed0
// MxPresenterListCursor::`scalar deleting destructor'
// TEMPLATE: LEGO1 0x1001ef40
// TEMPLATE: BETA10 0x1007d370
// MxPtrListCursor<MxPresenter>::~MxPtrListCursor<MxPresenter>
// SYNTHETIC: LEGO1 0x1001ef90
@@ -86,11 +98,9 @@ public:
// MxPtrListCursor<MxPresenter>::`scalar deleting destructor'
// TEMPLATE: LEGO1 0x1001f070
// TEMPLATE: BETA10 0x1007d490
// MxListCursor<MxPresenter *>::~MxListCursor<MxPresenter *>
// FUNCTION: LEGO1 0x1001f0c0
// MxPresenterListCursor::~MxPresenterListCursor
// TEMPLATE: LEGO1 0x10020760
// MxListCursor<MxPresenter *>::MxListCursor<MxPresenter *>
@@ -106,6 +116,18 @@ public:
// TEMPLATE: BETA10 0x1007d270
// MxListCursor<MxPresenter *>::MxListCursor<MxPresenter *>
// TEMPLATE: BETA10 0x1007dc60
// MxListCursor<MxPresenter *>::Next
// TEMPLATE: BETA10 0x100d8f20
// MxListCursor<MxPresenter *>::Reset
// TEMPLATE: BETA10 0x1007e070
// MxListEntry<MxPresenter *>::GetNext
// TEMPLATE: BETA10 0x1007e0a0
// MxListEntry<MxPresenter *>::GetValue
// TEMPLATE: BETA10 0x100d9420
// ?Prev@?$MxListCursor@PAVMxPresenter@@@@QAEEAAPAVMxPresenter@@@Z

View File

@@ -27,6 +27,10 @@ public:
MxPresenter* FindPresenter(const MxAtomId& p_atomId, MxU32 p_objectId);
// SYNTHETIC: LEGO1 0x100ae7b0
// SYNTHETIC: BETA10 0x10133460
// MxSoundManager::`scalar deleting destructor'
protected:
void Init();
void Destroy(MxBool p_fromDestructor);
@@ -36,7 +40,4 @@ protected:
undefined m_unk0x38[4];
};
// SYNTHETIC: LEGO1 0x100ae7b0
// MxSoundManager::`scalar deleting destructor'
#endif // MXSOUNDMANAGER_H

View File

@@ -1,7 +1,7 @@
#ifndef MXVIDEOMANAGER_H
#define MXVIDEOMANAGER_H
#include "mxmediamanager.h"
#include "mxpresentationmanager.h"
#include "mxvideoparam.h"
#include <d3d.h>
@@ -11,8 +11,9 @@ class MxRect32;
class MxRegion;
// VTABLE: LEGO1 0x100dc810
// VTABLE: BETA10 0x101c1bf8
// SIZE 0x64
class MxVideoManager : public MxMediaManager {
class MxVideoManager : public MxPresentationManager {
public:
MxVideoManager();
~MxVideoManager() override;
@@ -48,6 +49,7 @@ public:
MxRegion* GetRegion() { return this->m_region; }
// SYNTHETIC: LEGO1 0x100be280
// SYNTHETIC: BETA10 0x1012de00
// MxVideoManager::`scalar deleting destructor'
protected: