mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-24 17:04:17 +00:00
Add various BETA10 references and fixes (#1398)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
This commit is contained in:
@@ -105,6 +105,9 @@ protected:
|
|||||||
// TEMPLATE: LEGO1 0x1001c7e0
|
// TEMPLATE: LEGO1 0x1001c7e0
|
||||||
// vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >::_Destroy
|
// vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >::_Destroy
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1000fbc0
|
||||||
|
// vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >::begin
|
||||||
|
|
||||||
// TEMPLATE: LEGO1 0x1001c9e0
|
// TEMPLATE: LEGO1 0x1001c9e0
|
||||||
// uninitialized_fill_n
|
// uninitialized_fill_n
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
class LegoCacheSoundManager;
|
class LegoCacheSoundManager;
|
||||||
|
|
||||||
// VTABLE: LEGO1 0x100d6b10
|
// VTABLE: LEGO1 0x100d6b10
|
||||||
|
// VTABLE: BETA10 0x101bec30
|
||||||
// SIZE 0x44
|
// SIZE 0x44
|
||||||
class LegoSoundManager : public MxSoundManager {
|
class LegoSoundManager : public MxSoundManager {
|
||||||
public:
|
public:
|
||||||
@@ -17,6 +18,7 @@ public:
|
|||||||
MxResult Create(MxU32 p_frequencyMS, MxBool p_createThread) override; // vtable+0x30
|
MxResult Create(MxU32 p_frequencyMS, MxBool p_createThread) override; // vtable+0x30
|
||||||
|
|
||||||
// SYNTHETIC: LEGO1 0x10029920
|
// SYNTHETIC: LEGO1 0x10029920
|
||||||
|
// SYNTHETIC: BETA10 0x100d0660
|
||||||
// LegoSoundManager::`scalar deleting destructor'
|
// LegoSoundManager::`scalar deleting destructor'
|
||||||
|
|
||||||
void UpdateListener(const float* p_position, const float* p_direction, const float* p_up, const float* p_velocity);
|
void UpdateListener(const float* p_position, const float* p_direction, const float* p_up, const float* p_velocity);
|
||||||
|
|||||||
@@ -153,8 +153,15 @@ void Act2Actor::FUN_10018980()
|
|||||||
assert(m_shootAnim);
|
assert(m_shootAnim);
|
||||||
|
|
||||||
m_unk0x38 = SoundManager()->GetCacheSoundManager()->FindSoundByKey("xarrow");
|
m_unk0x38 = SoundManager()->GetCacheSoundManager()->FindSoundByKey("xarrow");
|
||||||
|
#ifdef BETA10
|
||||||
|
// actually 0x2c and 0x30
|
||||||
|
m_unk0x38 = SoundManager()->GetCacheSoundManager()->FindSoundByKey("bcrash");
|
||||||
|
m_unk0x38->SetDistance(35, 60);
|
||||||
|
m_unk0x38->SetDistance(35, 60);
|
||||||
|
#else
|
||||||
m_unk0x38->SetDistance(45, 55);
|
m_unk0x38->SetDistance(45, 55);
|
||||||
m_roi->SetVisibility(TRUE);
|
m_roi->SetVisibility(TRUE);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100189f0
|
// FUNCTION: LEGO1 0x100189f0
|
||||||
|
|||||||
@@ -296,6 +296,7 @@ void Lego3DSound::Reset()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x10011cf0
|
// FUNCTION: LEGO1 0x10011cf0
|
||||||
|
// FUNCTION: BETA10 0x10039fe0
|
||||||
MxS32 Lego3DSound::SetDistance(MxS32 p_min, MxS32 p_max)
|
MxS32 Lego3DSound::SetDistance(MxS32 p_min, MxS32 p_max)
|
||||||
{
|
{
|
||||||
if (MxOmni::IsSound3D()) {
|
if (MxOmni::IsSound3D()) {
|
||||||
|
|||||||
@@ -61,8 +61,11 @@ MxResult LegoCacheSoundManager::Tickle()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x1003d170
|
// FUNCTION: LEGO1 0x1003d170
|
||||||
|
// FUNCTION: BETA10 0x1006539d
|
||||||
LegoCacheSound* LegoCacheSoundManager::FindSoundByKey(const char* p_key)
|
LegoCacheSound* LegoCacheSoundManager::FindSoundByKey(const char* p_key)
|
||||||
{
|
{
|
||||||
|
// This function has changed completely since BETA10, but its calls suggest the match is correct
|
||||||
|
|
||||||
char* key = new char[strlen(p_key) + 1];
|
char* key = new char[strlen(p_key) + 1];
|
||||||
strcpy(key, p_key);
|
strcpy(key, p_key);
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,8 @@
|
|||||||
#include "mxautolock.h"
|
#include "mxautolock.h"
|
||||||
#include "mxomni.h"
|
#include "mxomni.h"
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
DECOMP_SIZE_ASSERT(LegoSoundManager, 0x44)
|
DECOMP_SIZE_ASSERT(LegoSoundManager, 0x44)
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100298a0
|
// FUNCTION: LEGO1 0x100298a0
|
||||||
@@ -37,6 +39,7 @@ void LegoSoundManager::Destroy(MxBool p_fromDestructor)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100299f0
|
// FUNCTION: LEGO1 0x100299f0
|
||||||
|
// FUNCTION: BETA10 0x100d0129
|
||||||
MxResult LegoSoundManager::Create(MxU32 p_frequencyMS, MxBool p_createThread)
|
MxResult LegoSoundManager::Create(MxU32 p_frequencyMS, MxBool p_createThread)
|
||||||
{
|
{
|
||||||
MxBool locked = FALSE;
|
MxBool locked = FALSE;
|
||||||
@@ -67,6 +70,7 @@ MxResult LegoSoundManager::Create(MxU32 p_frequencyMS, MxBool p_createThread)
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_cacheSoundManager = new LegoCacheSoundManager;
|
m_cacheSoundManager = new LegoCacheSoundManager;
|
||||||
|
assert(m_cacheSoundManager);
|
||||||
result = SUCCESS;
|
result = SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -83,12 +87,14 @@ done:
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x1002a390
|
// FUNCTION: LEGO1 0x1002a390
|
||||||
|
// FUNCTION: BETA10 0x100d02ed
|
||||||
void LegoSoundManager::Destroy()
|
void LegoSoundManager::Destroy()
|
||||||
{
|
{
|
||||||
Destroy(FALSE);
|
Destroy(FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x1002a3a0
|
// FUNCTION: LEGO1 0x1002a3a0
|
||||||
|
// FUNCTION: BETA10 0x100d030d
|
||||||
MxResult LegoSoundManager::Tickle()
|
MxResult LegoSoundManager::Tickle()
|
||||||
{
|
{
|
||||||
MxSoundManager::Tickle();
|
MxSoundManager::Tickle();
|
||||||
|
|||||||
@@ -783,4 +783,11 @@
|
|||||||
// GLOBAL: BETA10 0x101faf78
|
// GLOBAL: BETA10 0x101faf78
|
||||||
// __app_type
|
// __app_type
|
||||||
|
|
||||||
|
// GLOBAL: LEGO1 0x100db6e0
|
||||||
|
// GUID_SysKeyboard
|
||||||
|
|
||||||
|
// Cannot be handled right now due to anonymous pointer in struct
|
||||||
|
// // GLOBAL: LEGO1 0x10098f80
|
||||||
|
// c_dfDIKeyboard
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
#include <dsound.h>
|
#include <dsound.h>
|
||||||
|
|
||||||
// VTABLE: LEGO1 0x100dc128
|
// VTABLE: LEGO1 0x100dc128
|
||||||
|
// VTABLE: BETA10 0x101c1ce8
|
||||||
// SIZE 0x3c
|
// SIZE 0x3c
|
||||||
class MxSoundManager : public MxAudioManager {
|
class MxSoundManager : public MxAudioManager {
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -34,10 +34,13 @@ private:
|
|||||||
typedef list<MxTickleClient*> MxTickleClientPtrList;
|
typedef list<MxTickleClient*> MxTickleClientPtrList;
|
||||||
|
|
||||||
// VTABLE: LEGO1 0x100d86d8
|
// VTABLE: LEGO1 0x100d86d8
|
||||||
|
// VTABLE: BETA10 0x101bc9d0
|
||||||
// SIZE 0x14
|
// SIZE 0x14
|
||||||
class MxTickleManager : public MxCore {
|
class MxTickleManager : public MxCore {
|
||||||
public:
|
public:
|
||||||
|
// FUNCTION: BETA10 0x100937c0
|
||||||
MxTickleManager() {}
|
MxTickleManager() {}
|
||||||
|
|
||||||
~MxTickleManager() override;
|
~MxTickleManager() override;
|
||||||
|
|
||||||
MxResult Tickle() override; // vtable+0x08
|
MxResult Tickle() override; // vtable+0x08
|
||||||
@@ -47,6 +50,7 @@ public:
|
|||||||
virtual MxTime GetClientTickleInterval(MxCore* p_client); // vtable+0x20
|
virtual MxTime GetClientTickleInterval(MxCore* p_client); // vtable+0x20
|
||||||
|
|
||||||
// SYNTHETIC: LEGO1 0x1005a510
|
// SYNTHETIC: LEGO1 0x1005a510
|
||||||
|
// SYNTHETIC: BETA10 0x100962f0
|
||||||
// MxTickleManager::`scalar deleting destructor'
|
// MxTickleManager::`scalar deleting destructor'
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -58,7 +62,11 @@ private:
|
|||||||
// TEMPLATE: LEGO1 0x1005a4a0
|
// TEMPLATE: LEGO1 0x1005a4a0
|
||||||
// list<MxTickleClient *,allocator<MxTickleClient *> >::~list<MxTickleClient *,allocator<MxTickleClient *> >
|
// list<MxTickleClient *,allocator<MxTickleClient *> >::~list<MxTickleClient *,allocator<MxTickleClient *> >
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x10093870
|
||||||
|
// List<MxTickleClient *>::List<MxTickleClient *>
|
||||||
|
|
||||||
// TEMPLATE: LEGO1 0x1005a530
|
// TEMPLATE: LEGO1 0x1005a530
|
||||||
|
// TEMPLATE: BETA10 0x10096340
|
||||||
// List<MxTickleClient *>::~List<MxTickleClient *>
|
// List<MxTickleClient *>::~List<MxTickleClient *>
|
||||||
|
|
||||||
#endif // MXTICKLEMANAGER_H
|
#endif // MXTICKLEMANAGER_H
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ void MxSoundManager::Destroy(MxBool p_fromDestructor)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100ae8b0
|
// FUNCTION: LEGO1 0x100ae8b0
|
||||||
|
// FUNCTION: BETA10 0x10132e94
|
||||||
MxResult MxSoundManager::Create(MxU32 p_frequencyMS, MxBool p_createThread)
|
MxResult MxSoundManager::Create(MxU32 p_frequencyMS, MxBool p_createThread)
|
||||||
{
|
{
|
||||||
MxResult status = FAILURE;
|
MxResult status = FAILURE;
|
||||||
|
|||||||
@@ -5,6 +5,8 @@
|
|||||||
#include "mxtimer.h"
|
#include "mxtimer.h"
|
||||||
#include "mxtypes.h"
|
#include "mxtypes.h"
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
#define TICKLE_MANAGER_FLAG_DESTROY 0x01
|
#define TICKLE_MANAGER_FLAG_DESTROY 0x01
|
||||||
|
|
||||||
DECOMP_SIZE_ASSERT(MxTickleClient, 0x10);
|
DECOMP_SIZE_ASSERT(MxTickleClient, 0x10);
|
||||||
@@ -30,6 +32,7 @@ MxTickleManager::~MxTickleManager()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100bdde0
|
// FUNCTION: LEGO1 0x100bdde0
|
||||||
|
// FUNCTION: BETA10 0x1013eb1f
|
||||||
MxResult MxTickleManager::Tickle()
|
MxResult MxTickleManager::Tickle()
|
||||||
{
|
{
|
||||||
MxTime time = Timer()->GetTime();
|
MxTime time = Timer()->GetTime();
|
||||||
@@ -60,6 +63,7 @@ MxResult MxTickleManager::Tickle()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100bde80
|
// FUNCTION: LEGO1 0x100bde80
|
||||||
|
// FUNCTION: BETA10 0x1013ec5f
|
||||||
void MxTickleManager::RegisterClient(MxCore* p_client, MxTime p_interval)
|
void MxTickleManager::RegisterClient(MxCore* p_client, MxTime p_interval)
|
||||||
{
|
{
|
||||||
MxTime interval = GetClientTickleInterval(p_client);
|
MxTime interval = GetClientTickleInterval(p_client);
|
||||||
@@ -72,6 +76,7 @@ void MxTickleManager::RegisterClient(MxCore* p_client, MxTime p_interval)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100bdf60
|
// FUNCTION: LEGO1 0x100bdf60
|
||||||
|
// FUNCTION: BETA10 0x1013edd0
|
||||||
void MxTickleManager::UnregisterClient(MxCore* p_client)
|
void MxTickleManager::UnregisterClient(MxCore* p_client)
|
||||||
{
|
{
|
||||||
MxTickleClientPtrList::iterator it = m_clients.begin();
|
MxTickleClientPtrList::iterator it = m_clients.begin();
|
||||||
@@ -87,6 +92,7 @@ void MxTickleManager::UnregisterClient(MxCore* p_client)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100bdfa0
|
// FUNCTION: LEGO1 0x100bdfa0
|
||||||
|
// FUNCTION: BETA10 0x1013ee6d
|
||||||
void MxTickleManager::SetClientTickleInterval(MxCore* p_client, MxTime p_interval)
|
void MxTickleManager::SetClientTickleInterval(MxCore* p_client, MxTime p_interval)
|
||||||
{
|
{
|
||||||
for (MxTickleClientPtrList::iterator it = m_clients.begin(); it != m_clients.end(); it++) {
|
for (MxTickleClientPtrList::iterator it = m_clients.begin(); it != m_clients.end(); it++) {
|
||||||
@@ -99,6 +105,7 @@ void MxTickleManager::SetClientTickleInterval(MxCore* p_client, MxTime p_interva
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100be000
|
// FUNCTION: LEGO1 0x100be000
|
||||||
|
// FUNCTION: BETA10 0x1013ef2d
|
||||||
MxTime MxTickleManager::GetClientTickleInterval(MxCore* p_client)
|
MxTime MxTickleManager::GetClientTickleInterval(MxCore* p_client)
|
||||||
{
|
{
|
||||||
MxTickleClientPtrList::iterator it = m_clients.begin();
|
MxTickleClientPtrList::iterator it = m_clients.begin();
|
||||||
|
|||||||
@@ -35,5 +35,6 @@ targets:
|
|||||||
- 0x100f8ad0
|
- 0x100f8ad0
|
||||||
- 0x100fa200
|
- 0x100fa200
|
||||||
- 0x100f9780
|
- 0x100f9780
|
||||||
|
- 0x100fb080
|
||||||
# memset etc.
|
# memset etc.
|
||||||
- 0x100f9570
|
- 0x100f9570
|
||||||
|
|||||||
Reference in New Issue
Block a user