From 1c44c99572e0e6b0195918162246a4eb01db0390 Mon Sep 17 00:00:00 2001 From: NextinMono <38560522+NextinMono@users.noreply.github.com> Date: Sat, 8 Mar 2025 22:07:30 +0100 Subject: [PATCH] code: Carry over changed files from api-mapping branch --- UnleashedRecomp/api/SWA.h | 2 + .../api/SWA/Sequence/Core/SequenceManager.h | 35 +++++++ .../api/SWA/System/ApplicationDocument.h | 93 +++++++++++++++---- UnleashedRecomp/api/SWA/System/GameDocument.h | 19 +++- .../api/SWA/System/GameParameter.h | 20 +++- .../ParameterEditor2nd/ParameterEditor2nd.h | 16 ++++ 6 files changed, 165 insertions(+), 20 deletions(-) create mode 100644 UnleashedRecomp/api/SWA/Sequence/Core/SequenceManager.h create mode 100644 UnleashedRecomp/api/SWA/Tool/ParameterEditor2nd/ParameterEditor2nd.h diff --git a/UnleashedRecomp/api/SWA.h b/UnleashedRecomp/api/SWA.h index dbeb7dfd..bc271e8a 100644 --- a/UnleashedRecomp/api/SWA.h +++ b/UnleashedRecomp/api/SWA.h @@ -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" @@ -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" diff --git a/UnleashedRecomp/api/SWA/Sequence/Core/SequenceManager.h b/UnleashedRecomp/api/SWA/Sequence/Core/SequenceManager.h new file mode 100644 index 00000000..488a104b --- /dev/null +++ b/UnleashedRecomp/api/SWA/Sequence/Core/SequenceManager.h @@ -0,0 +1,35 @@ +#pragma once +#include +namespace SWA::Sequence::Core +{ + class IManager : public Hedgehog::Base::CSynchronizedObject + { + public: + int test; + }; + class CManager : public IManager, public Hedgehog::Universe::CMessageActor + { + public: + SWA_INSERT_PADDING(0x6); + boost::shared_ptr m_Field9c; + xpointer m_FieldA4; + boost::shared_ptr m_FieldA8; + xpointer dwordB0; + int m_FieldB4; + int 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, dwordB0, 0xB0); + SWA_ASSERT_OFFSETOF(CManager, m_FieldBC, 0xBC); + SWA_ASSERT_OFFSETOF(CManager, m_Field115, 0x115); +}; diff --git a/UnleashedRecomp/api/SWA/System/ApplicationDocument.h b/UnleashedRecomp/api/SWA/System/ApplicationDocument.h index 21949711..bf32f224 100644 --- a/UnleashedRecomp/api/SWA/System/ApplicationDocument.h +++ b/UnleashedRecomp/api/SWA/System/ApplicationDocument.h @@ -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 { @@ -61,28 +83,49 @@ namespace SWA public: xpointer m_pApplication; boost::shared_ptr m_spParallelJobManagerD3D9; - SWA_INSERT_PADDING(0x14); - boost::shared_ptr m_spGame; - SWA_INSERT_PADDING(0x14); + xpointer m_pMessageManager; + SWA_INSERT_PADDING(0x8); + boost::shared_ptr m_spUpdateManager; + xpointer m_pGame; + SWA_INSERT_PADDING(0x4); + boost::shared_ptr m_spRenderingDevice; + SWA_INSERT_PADDING(0xC); boost::shared_ptr 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); + SWA_INSERT_PADDING(0xC); boost::shared_ptr m_spMatrixNodeRoot; - SWA_INSERT_PADDING(0x14); + xpointer m_pFlagManager; + xpointer m_pField8C; + boost::shared_ptr m_spReplayManager; + SWA_INSERT_PADDING(0x4); CGammaController m_GammaController; boost::shared_ptr m_spLoading; - SWA_INSERT_PADDING(0x14); - boost::shared_ptr m_spAchievementManager; + boost::shared_ptr m_spSaveIcon; + SWA_INSERT_PADDING(0x4); + boost::shared_ptr m_spSequenceCore; + xpointer m_pAchievementManager; + SWA_INSERT_PADDING(0x4); boost::shared_ptr m_spDatabaseTree; Hedgehog::Base::CSharedString m_Field10C; - SWA_INSERT_PADDING(0x1C); - boost::shared_ptr m_spRenderScene; - SWA_INSERT_PADDING(0x04); - boost::shared_ptr m_spGameParameter; - SWA_INSERT_PADDING(0x78); - boost::shared_ptr m_spCriticalSection; SWA_INSERT_PADDING(0x20); + boost::shared_ptr m_spRenderScene; + boost::shared_ptr m_spGameParameter; + SWA_INSERT_PADDING(0xC); + boost::shared_ptr m_spItemParameter; + boost::shared_ptr m_spKyojuParameter; + boost::shared_ptr m_spHotdogSaveManager; + boost::shared_ptr m_spStageListManager; + boost::shared_ptr m_spEvilAttackActionDB; + boost::shared_ptr m_spSkillParamManager; + SWA_INSERT_PADDING(0x2C); + boost::shared_ptr m_spDatabaseLoadPoolMemory; + SWA_INSERT_PADDING(0x8); + boost::shared_ptr m_spCriticalSection; + SWA_INSERT_PADDING(0xC); + boost::shared_ptr m_spDLCManager; + SWA_INSERT_PADDING(0xC); }; // TODO: Hedgehog::Base::TSynchronizedPtr @@ -97,21 +140,35 @@ namespace SWA bool m_InspireSubtitles; SWA_INSERT_PADDING(0x28); }; - 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, 0xC); + 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); diff --git a/UnleashedRecomp/api/SWA/System/GameDocument.h b/UnleashedRecomp/api/SWA/System/GameDocument.h index d7013011..c54ebd9a 100644 --- a/UnleashedRecomp/api/SWA/System/GameDocument.h +++ b/UnleashedRecomp/api/SWA/System/GameDocument.h @@ -4,9 +4,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: @@ -31,7 +40,12 @@ namespace SWA SWA_INSERT_PADDING(0x1C); boost::shared_ptr m_spDatabase; - SWA_INSERT_PADDING(0x88); + SWA_INSERT_PADDING(0x20); + boost::shared_ptr m_spParameterEditor; + boost::shared_ptr m_spParameterEditor2nd; + SWA_INSERT_PADDING(0x40); + boost::shared_ptr m_spLightfieldManager; + SWA_INSERT_PADDING(0x10); Hedgehog::Base::CSharedString m_StageName; xpointer m_pSoundAdministrator; SWA_INSERT_PADDING(0x48); @@ -60,6 +74,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); diff --git a/UnleashedRecomp/api/SWA/System/GameParameter.h b/UnleashedRecomp/api/SWA/System/GameParameter.h index 95618144..b4e7d6ef 100644 --- a/UnleashedRecomp/api/SWA/System/GameParameter.h +++ b/UnleashedRecomp/api/SWA/System/GameParameter.h @@ -8,10 +8,28 @@ namespace SWA { public: struct SSaveData; - struct SStageParameter; + struct SStageParameter + { + hh::map Field00; + xpointer FieldC; + xpointer Field10; + xpointer Field14; + xpointer Field18; + int Field1C; + char Field20; + }; SWA_INSERT_PADDING(0x94); xpointer m_pSaveData; xpointer m_pStageParameter; }; + SWA_ASSERT_OFFSETOF(CGameParameter::SStageParameter, Field00, 0x00); + SWA_ASSERT_OFFSETOF(CGameParameter::SStageParameter, FieldC, 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); } diff --git a/UnleashedRecomp/api/SWA/Tool/ParameterEditor2nd/ParameterEditor2nd.h b/UnleashedRecomp/api/SWA/Tool/ParameterEditor2nd/ParameterEditor2nd.h new file mode 100644 index 00000000..97299df3 --- /dev/null +++ b/UnleashedRecomp/api/SWA/Tool/ParameterEditor2nd/ParameterEditor2nd.h @@ -0,0 +1,16 @@ +#pragma once +#include +namespace SWA +{ + class CGlobalParameterManager; + class CParameterEditorWindow; + + class CParameterEditor2nd : public SWA::CGameObject //Hedgehog::Mirage::CRenderable, Hedgehog::Universe::TStateMachine + { + public: + SWA_INSERT_PADDING(0x74); + boost::shared_ptr m_spGlobalParameterManager; + boost::shared_ptr m_spWindow; + }; + SWA_ASSERT_OFFSETOF(CParameterEditor2nd, m_spGlobalParameterManager, 0x130); +}