api: update research

This commit is contained in:
Hyper 2024-11-20 04:26:39 +00:00
parent 6d6c4fad1f
commit a32a168f79
14 changed files with 173 additions and 26 deletions

View file

@ -39,9 +39,18 @@
#include "SWA/Player/Character/EvilSonic/Hud/EvilHudGuide.h" #include "SWA/Player/Character/EvilSonic/Hud/EvilHudGuide.h"
#include "SWA/Player/Character/EvilSonic/EvilSonic.h" #include "SWA/Player/Character/EvilSonic/EvilSonic.h"
#include "SWA/Player/Character/EvilSonic/EvilSonicContext.h" #include "SWA/Player/Character/EvilSonic/EvilSonicContext.h"
#include "SWA/Sound/Sound.h"
#include "SWA/Sound/SoundBGMActSonic.h"
#include "SWA/Sound/SoundBGMBase.h"
#include "SWA/System/GameMode/Title/TitleMenu.h" #include "SWA/System/GameMode/Title/TitleMenu.h"
#include "SWA/System/GameMode/Title/TitleStateBase.h" #include "SWA/System/GameMode/Title/TitleStateBase.h"
#include "SWA/System/GameMode/GameMode.h"
#include "SWA/System/GameMode/GameModeStage.h"
#include "SWA/System/Application.h"
#include "SWA/System/ApplicationD3D9.h"
#include "SWA/System/ApplicationXenon.h"
#include "SWA/System/ApplicationDocument.h" #include "SWA/System/ApplicationDocument.h"
#include "SWA/System/Game.h"
#include "SWA/System/GameDocument.h" #include "SWA/System/GameDocument.h"
#include "SWA/System/GameObject.h" #include "SWA/System/GameObject.h"
#include "SWA/System/InputState.h" #include "SWA/System/InputState.h"

View file

@ -1,20 +1,55 @@
#pragma once #pragma once
#include <SWA.inl>
#include <SWA/Sound/SoundBGMBase.h>
namespace SWA namespace SWA
{ {
class CSound // : public CGameObject class CSoundAdministrator : public CGameObject
{ {
public: public:
struct SSoundInfo class CSimplePlayer {};
class CBgm
{ {
public: public:
SWA_INSERT_PADDING(0x04); xpointer<CSoundAdministrator> m_pThis;
xpointer<void> m_pAdminSimplePlayer; boost::shared_ptr<CSoundBGMBase> m_spSoundBGM;
SWA_INSERT_PADDING(0x04); be<float> m_Volume1;
xpointer<void> m_pAdminBgm; be<float> m_Volume2;
be<float> m_Volume3;
be<float> m_Volume4;
SWA_INSERT_PADDING(0x10);
}; };
SWA_INSERT_PADDING(0xC4); class CCommunicator
xpointer<SSoundInfo> m_pSoundInfo; {
public:
class CCommunicatorDevice : Hedgehog::Base::CSynchronizedObject
{
public:
SWA_INSERT_PADDING(0x08);
Hedgehog::Base::CSharedString m_HostName;
SWA_INSERT_PADDING(0x04);
Hedgehog::Base::CSharedString m_Category;
Hedgehog::Base::CSharedString m_Command;
SWA_INSERT_PADDING(0x04);
};
xpointer<CSoundAdministrator> m_pThis;
boost::shared_ptr<CCommunicatorDevice> m_spCommunicatorDevice;
};
class CMember
{
public:
boost::shared_ptr<CSimplePlayer> m_spSimplePlayer;
boost::shared_ptr<CBgm> m_spBgm;
boost::shared_ptr<CCommunicator> m_spCommunicator;
SWA_INSERT_PADDING(0x58);
};
SWA_INSERT_PADDING(0x04); // vftable ptr
xpointer<CMember> m_pMember;
}; };
} }

View file

@ -1,8 +0,0 @@
#pragma once
namespace SWA
{
class CSoundBGMActEvil
{
};
}

View file

@ -0,0 +1,21 @@
#pragma once
#include <SWA.inl>
#include <SWA/Sound/SoundBGMBase.h>
namespace SWA
{
class CSoundBGMActSonic : public CSoundBGMBase
{
public:
class CMember
{
public:
SWA_INSERT_PADDING(0x58);
be<float> m_Volume1;
be<float> m_Volume2;
};
xpointer<CMember> m_pMember;
};
}

View file

@ -0,0 +1,15 @@
#pragma once
#include <SWA.inl>
namespace SWA
{
class CSoundBGMBase : Hedgehog::Universe::CMessageActor
{
public:
SWA_INSERT_PADDING(0x04); // vftable ptr
SWA_INSERT_PADDING(0x04);
xpointer<CGameDocument> m_pGameDocument;
bool m_Unk;
};
}

View file

@ -0,0 +1,21 @@
#pragma once
#include <SWA.inl>
#include <SWA/System/ApplicationDocument.h>
namespace SWA
{
class CApplication : public Hedgehog::Base::CObject
{
public:
class CMember
{
public:
xpointer<CApplicationDocument> m_pApplicationDocument;
};
SWA_INSERT_PADDING(0x04); // vftable ptr
xpointer<CMember> m_pMember;
SWA_INSERT_PADDING(0x18);
};
}

View file

@ -0,0 +1,8 @@
#pragma once
#include <SWA.inl>
namespace SWA
{
class CApplicationD3D9 : public CApplication {};
}

View file

@ -1,5 +1,8 @@
#pragma once #pragma once
#include <SWA.inl>
#include <SWA/System/Game.h>
namespace SWA namespace SWA
{ {
class CApplicationDocument // : public Hedgehog::Base::CSynchronizedObject class CApplicationDocument // : public Hedgehog::Base::CSynchronizedObject
@ -8,8 +11,10 @@ namespace SWA
class CMember class CMember
{ {
public: public:
SWA_INSERT_PADDING(0x138); SWA_INSERT_PADDING(0x20);
void* m_spGameParameter; boost::shared_ptr<CGame> m_pGame;
SWA_INSERT_PADDING(0x114);
xpointer<void> m_spGameParameter;
}; };
// TODO: Hedgehog::Base::TSynchronizedPtr<CApplicationDocument> // TODO: Hedgehog::Base::TSynchronizedPtr<CApplicationDocument>

View file

@ -0,0 +1,12 @@
#pragma once
#include <SWA.inl>
namespace SWA
{
class CApplicationXenon : public CApplicationD3D9
{
public:
SWA_INSERT_PADDING(0x1B4);
};
}

View file

@ -0,0 +1,10 @@
#pragma once
namespace SWA
{
class CGame // : Hedgehog::Universe::TStateMachine<SWA::CGame>
{
public:
SWA_INSERT_PADDING(0xFC);
};
}

View file

@ -1,7 +1,5 @@
#pragma once #pragma once
#include "SWA/Sound/Sound.h"
namespace Hedgehog::Database namespace Hedgehog::Database
{ {
class CDatabase; class CDatabase;
@ -17,16 +15,16 @@ namespace SWA
public: public:
SWA_INSERT_PADDING(0x1C); SWA_INSERT_PADDING(0x1C);
boost::shared_ptr<Hedgehog::Database::CDatabase> m_spDatabase; boost::shared_ptr<Hedgehog::Database::CDatabase> m_spDatabase;
SWA_INSERT_PADDING(0x90); SWA_INSERT_PADDING(0x8C);
xpointer<CSound> m_pSound; xpointer<CSoundAdministrator> m_pSoundAdministrator;
SWA_INSERT_PADDING(0x158); SWA_INSERT_PADDING(0x15C);
be<uint32_t> m_Score; be<uint32_t> m_Score;
}; };
// TODO: Hedgehog::Base::TSynchronizedPtr<CGameDocument> // TODO: Hedgehog::Base::TSynchronizedPtr<CGameDocument>
static CGameDocument* GetInstance(); static CGameDocument* GetInstance();
SWA_INSERT_PADDING(0x04); SWA_INSERT_PADDING(0x04); // vftable ptr
xpointer<CMember> m_pMember; xpointer<CMember> m_pMember;
}; };
} }

View file

@ -0,0 +1,13 @@
#pragma once
#include <SWA.inl>
namespace SWA
{
class CGameMode // : Hedgehog::Universe::TStateMachine<SWA::CGame>::TState
{
public:
SWA_INSERT_PADDING(0x60); // base
SWA_INSERT_PADDING(0x08);
};
}

View file

@ -0,0 +1,8 @@
#pragma once
#include <SWA.inl>
namespace SWA
{
class CGameModeStage : public CGameMode {};
}

View file

@ -10,7 +10,7 @@ namespace boost
{ {
private: private:
xpointer<T> m_pObject; xpointer<T> m_pObject;
xpointer<size_t> m_pRefCount; xpointer<uint32_t> m_pRefCount;
void release() void release()
{ {
@ -24,7 +24,7 @@ namespace boost
public: public:
shared_ptr() : m_pObject(nullptr), m_pRefCount(nullptr) {} shared_ptr() : m_pObject(nullptr), m_pRefCount(nullptr) {}
explicit shared_ptr(T* p) : m_pObject(p), m_pRefCount(new size_t(1)) {} explicit shared_ptr(T* p) : m_pObject(p), m_pRefCount(new uint32_t(1)) {}
shared_ptr(const shared_ptr& other) : m_pObject(other.m_pObject), m_pRefCount(other.m_pRefCount) shared_ptr(const shared_ptr& other) : m_pObject(other.m_pObject), m_pRefCount(other.m_pRefCount)
{ {