Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions UnleashedRecomp/api/SWA.h
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@
#include "SWA/Player/Character/EvilSonic/EvilSonic.h"
#include "SWA/Player/Character/EvilSonic/EvilSonicContext.h"
#include "SWA/Player/Character/EvilSonic/Hud/EvilHudGuide.h"
#include "SWA/Sequence/Core/SequenceManager.h"
#include "SWA/Sequence/Unit/SequenceUnitBase.h"
#include "SWA/Sequence/Unit/SequenceUnitPlayMovie.h"
#include "SWA/Sequence/Utility/SequencePlayMovieWrapper.h"
Expand Down Expand Up @@ -125,5 +126,6 @@
#include "SWA/System/MatrixNodeTransform.h"
#include "SWA/System/PadState.h"
#include "SWA/System/World.h"
#include "SWA/Tool/ParameterEditor2nd/ParameterEditor2nd.h"
#include "boost/smart_ptr/make_shared_object.h"
#include "boost/smart_ptr/shared_ptr.h"
39 changes: 39 additions & 0 deletions UnleashedRecomp/api/SWA/Sequence/Core/SequenceManager.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#pragma once

#include <SWA.inl>

namespace SWA::Sequence::Core
{
class IManager : public Hedgehog::Base::CSynchronizedObject
{
public:
be<uint32_t> m_Field00;
};

class CManager : public IManager, public Hedgehog::Universe::CMessageActor
{
public:
SWA_INSERT_PADDING(0x06);
boost::shared_ptr<void> m_Field9C;
xpointer<void> m_FieldA4;
boost::shared_ptr<void> m_FieldA8;
xpointer<void> m_FieldB0;
be<uint32_t> m_FieldB4;
be<uint32_t> m_FieldB8;
Hedgehog::Base::CSharedString m_FieldBC;
Hedgehog::Base::CSharedString m_FieldC0;
SWA_INSERT_PADDING(0x4C);
uint8_t m_Field110;
uint8_t m_Field111;
uint8_t m_Field112;
uint8_t m_Field113;
bool m_Field114;
bool m_Field115;
};

SWA_ASSERT_OFFSETOF(CManager, m_Field9C, 0x9C);
SWA_ASSERT_OFFSETOF(CManager, m_FieldA4, 0xA4);
SWA_ASSERT_OFFSETOF(CManager, m_FieldB0, 0xB0);
SWA_ASSERT_OFFSETOF(CManager, m_FieldBC, 0xBC);
SWA_ASSERT_OFFSETOF(CManager, m_Field115, 0x115);
};
86 changes: 72 additions & 14 deletions UnleashedRecomp/api/SWA/System/ApplicationDocument.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,45 @@ namespace Hedgehog::Base
namespace Hedgehog::Database
{
class CDatabase;
class CLoadPoolMemory;
}

namespace Hedgehog::Mirage
{
class CMatrixNode;
class CRenderScene;
class CRenderingDevice;
}

namespace Hedgehog::Universe
{
class CParallelJobManagerD3D9;
class CMessageManager;
class CUpdateManager;
}

namespace SWA
{
class CApplication;
class CDatabaseTree;
class CReplayManager;
class CItemParamManager;
class CKyojuParamManager;
class CHotdogSaveManager;
class CStageListManager;
class CStageListManager;
class CSkillParamManager;
class CDLCManager;

namespace Player
{
class CEvilAttackAction;
};

namespace Sequence::Core
{
class CManager;
};

enum ELanguage : uint32_t
{
Expand Down Expand Up @@ -61,28 +83,49 @@ namespace SWA
public:
xpointer<CApplication> m_pApplication;
boost::shared_ptr<Hedgehog::Universe::CParallelJobManagerD3D9> m_spParallelJobManagerD3D9;
SWA_INSERT_PADDING(0x14);
boost::shared_ptr<CGame> m_spGame;
SWA_INSERT_PADDING(0x14);
xpointer<Hedgehog::Universe::CMessageManager> m_pMessageManager;
SWA_INSERT_PADDING(0x08);
boost::shared_ptr<Hedgehog::Universe::CUpdateManager> m_spUpdateManager;
xpointer<CGame> m_pGame;
SWA_INSERT_PADDING(0x04);
boost::shared_ptr<Hedgehog::Mirage::CRenderingDevice> m_spRenderingDevice;
SWA_INSERT_PADDING(0x0C);
boost::shared_ptr<Hedgehog::Database::CDatabase> m_spInspireDatabase;
SWA_INSERT_PADDING(0x30);
boost::anonymous_shared_ptr m_spField44;
SWA_INSERT_PADDING(0x28);
Hedgehog::Base::CSharedString m_Field74;
SWA_INSERT_PADDING(0x0C);
boost::shared_ptr<Hedgehog::Mirage::CMatrixNode> m_spMatrixNodeRoot;
SWA_INSERT_PADDING(0x14);
xpointer<void> m_pFlagManager;
xpointer<void> m_pField8C;
boost::shared_ptr<CReplayManager> m_spReplayManager;
SWA_INSERT_PADDING(0x04);
CGammaController m_GammaController;
boost::shared_ptr<CLoading> m_spLoading;
SWA_INSERT_PADDING(0x14);
boost::shared_ptr<Achievement::CManager> m_spAchievementManager;
boost::shared_ptr<CSaveIcon> m_spSaveIcon;
SWA_INSERT_PADDING(0x04);
boost::shared_ptr<Sequence::Core::CManager> m_spSequenceCore;
xpointer<Achievement::CManager> m_pAchievementManager;
SWA_INSERT_PADDING(0x04);
boost::shared_ptr<CDatabaseTree> m_spDatabaseTree;
Hedgehog::Base::CSharedString m_Field10C;
SWA_INSERT_PADDING(0x1C);
SWA_INSERT_PADDING(0x20);
boost::shared_ptr<Hedgehog::Mirage::CRenderScene> m_spRenderScene;
SWA_INSERT_PADDING(0x04);
boost::shared_ptr<CGameParameter> m_spGameParameter;
SWA_INSERT_PADDING(0x78);
SWA_INSERT_PADDING(0x0C);
boost::shared_ptr<CItemParamManager> m_spItemParameter;
boost::shared_ptr<CKyojuParamManager> m_spKyojuParameter;
boost::shared_ptr<CHotdogSaveManager> m_spHotdogSaveManager;
boost::shared_ptr<CStageListManager> m_spStageListManager;
boost::shared_ptr<Player::CEvilAttackAction> m_spEvilAttackActionDB;
boost::shared_ptr<CSkillParamManager> m_spSkillParamManager;
SWA_INSERT_PADDING(0x2C);
boost::shared_ptr<Hedgehog::Database::CLoadPoolMemory> m_spDatabaseLoadPoolMemory;
SWA_INSERT_PADDING(0x08);
boost::shared_ptr<Hedgehog::Base::CCriticalSection> m_spCriticalSection;
SWA_INSERT_PADDING(0x20);
SWA_INSERT_PADDING(0x0C);
boost::shared_ptr<CDLCManager> m_spDLCManager;
SWA_INSERT_PADDING(0x0C);
};

// TODO: Hedgehog::Base::TSynchronizedPtr<CApplicationDocument>
Expand All @@ -100,18 +143,33 @@ namespace SWA

SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_pApplication, 0x00);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spParallelJobManagerD3D9, 0x04);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spGame, 0x20);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_pMessageManager, 0x0C);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spUpdateManager, 0x18);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_pGame, 0x20);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spRenderingDevice, 0x28);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spInspireDatabase, 0x3C);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spField44, 0x44);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_Field74, 0x74);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spMatrixNodeRoot, 0x84);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spReplayManager, 0x94);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_GammaController, 0xA0);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spLoading, 0xE0);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spAchievementManager, 0xFC);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spSaveIcon, 0xE8);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spSequenceCore, 0xF4);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_pAchievementManager, 0xFC);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spDatabaseTree, 0x104);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_Field10C, 0x10C);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spRenderScene, 0x12C);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spRenderScene, 0x130);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spGameParameter, 0x138);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spItemParameter, 0x14C);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spKyojuParameter, 0x154);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spHotdogSaveManager, 0x15C);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spStageListManager, 0x164);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spEvilAttackActionDB, 0x16C);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spSkillParamManager, 0x174);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spDatabaseLoadPoolMemory, 0x1A8);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spCriticalSection, 0x1B8);
SWA_ASSERT_OFFSETOF(CApplicationDocument::CMember, m_spDLCManager, 0x1CC);
SWA_ASSERT_SIZEOF(CApplicationDocument::CMember, 0x1E0);

SWA_ASSERT_OFFSETOF(CApplicationDocument, m_pMember, 0x04);
Expand Down
20 changes: 19 additions & 1 deletion UnleashedRecomp/api/SWA/System/GameDocument.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,18 @@ namespace Hedgehog::Database
class CDatabase;
}

namespace Hedgehog::Mirage
{
class CLightFieldManager;
}

namespace SWA
{
class CPlayerSwitchManager;
class CParameterBank;
class CParameterEditor;
class CParameterEditor2nd;

class CGameDocument : public Hedgehog::Base::CSynchronizedObject
{
public:
Expand All @@ -31,7 +41,12 @@ namespace SWA

SWA_INSERT_PADDING(0x1C);
boost::shared_ptr<Hedgehog::Database::CDatabase> m_spDatabase;
SWA_INSERT_PADDING(0x88);
SWA_INSERT_PADDING(0x20);
boost::shared_ptr<CParameterEditor> m_spParameterEditor;
boost::shared_ptr<CParameterEditor2nd> m_spParameterEditor2nd;
SWA_INSERT_PADDING(0x40);
boost::shared_ptr<Hedgehog::Mirage::CLightFieldManager> m_spLightFieldManager;
SWA_INSERT_PADDING(0x10);
Hedgehog::Base::CSharedString m_StageName;
xpointer<CSoundAdministrator> m_pSoundAdministrator;
SWA_INSERT_PADDING(0x48);
Expand Down Expand Up @@ -60,6 +75,9 @@ namespace SWA
SWA_ASSERT_SIZEOF(CGameDocument::CMember::SScoreInfo, 0x4C);

SWA_ASSERT_OFFSETOF(CGameDocument::CMember, m_spDatabase, 0x1C);
SWA_ASSERT_OFFSETOF(CGameDocument::CMember, m_spParameterEditor, 0x44);
SWA_ASSERT_OFFSETOF(CGameDocument::CMember, m_spParameterEditor2nd, 0x4C);
SWA_ASSERT_OFFSETOF(CGameDocument::CMember, m_spLightFieldManager, 0x94);
SWA_ASSERT_OFFSETOF(CGameDocument::CMember, m_StageName, 0xAC);
SWA_ASSERT_OFFSETOF(CGameDocument::CMember, m_pSoundAdministrator, 0xB0);
SWA_ASSERT_OFFSETOF(CGameDocument::CMember, m_pGeneralWindow, 0xFC);
Expand Down
22 changes: 21 additions & 1 deletion UnleashedRecomp/api/SWA/System/GameParameter.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,30 @@ namespace SWA
{
public:
struct SSaveData;
struct SStageParameter;

struct SStageParameter
{
hh::map<int, int> Field00;
xpointer<void> Field0C;
xpointer<void> Field10;
xpointer<void> Field14;
xpointer<void> Field18;
be<uint32_t> Field1C;
uint8_t Field20;
};

SWA_INSERT_PADDING(0x94);
xpointer<SSaveData> m_pSaveData;
xpointer<SStageParameter> m_pStageParameter;
};

SWA_ASSERT_OFFSETOF(CGameParameter::SStageParameter, Field00, 0x00);
SWA_ASSERT_OFFSETOF(CGameParameter::SStageParameter, Field0C, 0x0C);
SWA_ASSERT_OFFSETOF(CGameParameter::SStageParameter, Field10, 0x10);
SWA_ASSERT_OFFSETOF(CGameParameter::SStageParameter, Field14, 0x14);
SWA_ASSERT_OFFSETOF(CGameParameter::SStageParameter, Field18, 0x18);
SWA_ASSERT_OFFSETOF(CGameParameter::SStageParameter, Field1C, 0x1C);
SWA_ASSERT_OFFSETOF(CGameParameter::SStageParameter, Field20, 0x20);
SWA_ASSERT_OFFSETOF(CGameParameter, m_pSaveData, 0x94);
SWA_ASSERT_OFFSETOF(CGameParameter, m_pStageParameter, 0x98);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#pragma once

#include <SWA/System/GameObject.h>

namespace SWA
{
class CGlobalParameterManager;
class CParameterEditorWindow;

class CParameterEditor2nd : public SWA::CGameObject // public Hedgehog::Mirage::CRenderable, public Hedgehog::Universe::TStateMachine<SWA::CParameterEditor2nd>
{
public:
SWA_INSERT_PADDING(0x74);
boost::shared_ptr<CGlobalParameterManager> m_spGlobalParameterManager;
boost::shared_ptr<CParameterEditorWindow> m_spWindow;
};

SWA_ASSERT_OFFSETOF(CParameterEditor2nd, m_spGlobalParameterManager, 0x130);
}
Loading