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/EvilSonic.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/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/Game.h"
#include "SWA/System/GameDocument.h"
#include "SWA/System/GameObject.h"
#include "SWA/System/InputState.h"

View file

@ -1,20 +1,55 @@
#pragma once
#include <SWA.inl>
#include <SWA/Sound/SoundBGMBase.h>
namespace SWA
{
class CSound // : public CGameObject
class CSoundAdministrator : public CGameObject
{
public:
struct SSoundInfo
class CSimplePlayer {};
class CBgm
{
public:
SWA_INSERT_PADDING(0x04);
xpointer<void> m_pAdminSimplePlayer;
SWA_INSERT_PADDING(0x04);
xpointer<void> m_pAdminBgm;
xpointer<CSoundAdministrator> m_pThis;
boost::shared_ptr<CSoundBGMBase> m_spSoundBGM;
be<float> m_Volume1;
be<float> m_Volume2;
be<float> m_Volume3;
be<float> m_Volume4;
SWA_INSERT_PADDING(0x10);
};
SWA_INSERT_PADDING(0xC4);
xpointer<SSoundInfo> m_pSoundInfo;
class CCommunicator
{
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
#include <SWA.inl>
#include <SWA/System/Game.h>
namespace SWA
{
class CApplicationDocument // : public Hedgehog::Base::CSynchronizedObject
@ -8,8 +11,10 @@ namespace SWA
class CMember
{
public:
SWA_INSERT_PADDING(0x138);
void* m_spGameParameter;
SWA_INSERT_PADDING(0x20);
boost::shared_ptr<CGame> m_pGame;
SWA_INSERT_PADDING(0x114);
xpointer<void> m_spGameParameter;
};
// 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
#include "SWA/Sound/Sound.h"
namespace Hedgehog::Database
{
class CDatabase;
@ -17,16 +15,16 @@ namespace SWA
public:
SWA_INSERT_PADDING(0x1C);
boost::shared_ptr<Hedgehog::Database::CDatabase> m_spDatabase;
SWA_INSERT_PADDING(0x90);
xpointer<CSound> m_pSound;
SWA_INSERT_PADDING(0x158);
SWA_INSERT_PADDING(0x8C);
xpointer<CSoundAdministrator> m_pSoundAdministrator;
SWA_INSERT_PADDING(0x15C);
be<uint32_t> m_Score;
};
// TODO: Hedgehog::Base::TSynchronizedPtr<CGameDocument>
static CGameDocument* GetInstance();
SWA_INSERT_PADDING(0x04);
SWA_INSERT_PADDING(0x04); // vftable ptr
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:
xpointer<T> m_pObject;
xpointer<size_t> m_pRefCount;
xpointer<uint32_t> m_pRefCount;
void release()
{
@ -24,7 +24,7 @@ namespace boost
public:
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)
{