diff --git a/UnleashedRecomp/api/Hedgehog/Base/Type/hhSharedString.inl b/UnleashedRecomp/api/Hedgehog/Base/Type/hhSharedString.inl index 023bebef..67013585 100644 --- a/UnleashedRecomp/api/Hedgehog/Base/Type/hhSharedString.inl +++ b/UnleashedRecomp/api/Hedgehog/Base/Type/hhSharedString.inl @@ -332,7 +332,7 @@ namespace Hedgehog::Base inline int CSharedString::compare(const CSharedString& in_rOther) const { // TODO: DO NOT PASS BY REFERENCE. - GuestToHostFunction(0x82DFB028, this, &in_rOther); + return GuestToHostFunction(0x82DFB028, this, &in_rOther); } inline CSharedString& CSharedString::operator=(const CSharedString& in_rOther) diff --git a/UnleashedRecomp/api/Hedgehog/Universe/Engine/hhMessageActor.h b/UnleashedRecomp/api/Hedgehog/Universe/Engine/hhMessageActor.h index 978e31de..c7d55493 100644 --- a/UnleashedRecomp/api/Hedgehog/Universe/Engine/hhMessageActor.h +++ b/UnleashedRecomp/api/Hedgehog/Universe/Engine/hhMessageActor.h @@ -9,6 +9,6 @@ namespace Hedgehog::Universe class CMessageActor : public IMessageProcess, public IParallelJob { public: - SWA_INSERT_PADDING(0x7C); + SWA_INSERT_PADDING(0x88); }; } diff --git a/UnleashedRecomp/api/Hedgehog/Universe/Engine/hhUpdateUnit.h b/UnleashedRecomp/api/Hedgehog/Universe/Engine/hhUpdateUnit.h index ac04cda0..0abcd3c5 100644 --- a/UnleashedRecomp/api/Hedgehog/Universe/Engine/hhUpdateUnit.h +++ b/UnleashedRecomp/api/Hedgehog/Universe/Engine/hhUpdateUnit.h @@ -1,4 +1,4 @@ -#pragma once +#pragma once #include "SWA.inl" #include "Hedgehog/Universe/Thread/hhParallelJob.h" @@ -8,15 +8,18 @@ namespace Hedgehog::Universe class CUpdateUnit : public Base::CObject, public IParallelJob { public: + SWA_INSERT_PADDING(0x04); // vftable ptr SWA_INSERT_PADDING(0x24); CUpdateUnit(const swa_null_ctor& nil) : CObject(nil), IParallelJob(nil) {} CUpdateUnit(); - virtual ~CUpdateUnit(); - virtual void ExecuteParallelJob(const SUpdateInfo& in_rUpdateInfo) override; - - virtual void UpdateParallel(const SUpdateInfo& in_rUpdateInfo) {} - virtual void UpdateSerial(const SUpdateInfo& in_rUpdateInfo) {} + // TODO: implement virtual functions. + // virtual ~CUpdateUnit(); + // + // virtual void ExecuteParallelJob(const SUpdateInfo& in_rUpdateInfo) override; + // + // virtual void UpdateParallel(const SUpdateInfo& in_rUpdateInfo) {} + // virtual void UpdateSerial(const SUpdateInfo& in_rUpdateInfo) {} }; } diff --git a/UnleashedRecomp/api/Hedgehog/Universe/Thread/hhParallelJob.h b/UnleashedRecomp/api/Hedgehog/Universe/Thread/hhParallelJob.h index adf23117..bac80820 100644 --- a/UnleashedRecomp/api/Hedgehog/Universe/Thread/hhParallelJob.h +++ b/UnleashedRecomp/api/Hedgehog/Universe/Thread/hhParallelJob.h @@ -8,11 +8,14 @@ namespace Hedgehog::Universe class IParallelJob { public: + SWA_INSERT_PADDING(0x04); // vftable ptr + IParallelJob() {} IParallelJob(const swa_null_ctor&) {} - virtual ~IParallelJob() = default; - - virtual void ExecuteParallelJob(const SUpdateInfo& in_rUpdateInfo) = 0; + // TODO: implement virtual functions. + // virtual ~IParallelJob() = default; + // + // virtual void ExecuteParallelJob(const SUpdateInfo& in_rUpdateInfo) = 0; }; } diff --git a/UnleashedRecomp/api/SWA.h b/UnleashedRecomp/api/SWA.h index 17baf177..7ac8a77a 100644 --- a/UnleashedRecomp/api/SWA.h +++ b/UnleashedRecomp/api/SWA.h @@ -43,5 +43,6 @@ #include "SWA/System/GameMode/Title/TitleStateBase.h" #include "SWA/System/ApplicationDocument.h" #include "SWA/System/GameDocument.h" +#include "SWA/System/GameObject.h" #include "SWA/System/InputState.h" #include "SWA/System/PadState.h" diff --git a/UnleashedRecomp/api/SWA/CSD/GameObjectCSD.h b/UnleashedRecomp/api/SWA/CSD/GameObjectCSD.h index 834fbb57..b4325c65 100644 --- a/UnleashedRecomp/api/SWA/CSD/GameObjectCSD.h +++ b/UnleashedRecomp/api/SWA/CSD/GameObjectCSD.h @@ -15,6 +15,5 @@ namespace SWA { public: Chao::CSD::RCPtr m_rcProject; - SWA_INSERT_PADDING(0x38); }; } diff --git a/UnleashedRecomp/api/SWA/Camera/Camera.h b/UnleashedRecomp/api/SWA/Camera/Camera.h index 7737d9cb..b64c24b6 100644 --- a/UnleashedRecomp/api/SWA/Camera/Camera.h +++ b/UnleashedRecomp/api/SWA/Camera/Camera.h @@ -1,13 +1,14 @@ #pragma once -#include "SWA.inl" +#include +#include namespace SWA { - class CCamera // : public CGameObject, public Hedgehog::Universe::TStateMachine + class CCamera : public CGameObject // , public Hedgehog::Universe::TStateMachine { public: - SWA_INSERT_PADDING(0x184); + SWA_INSERT_PADDING(0xC4); be m_VertAspectRatio; SWA_INSERT_PADDING(0x48); be m_HorzAspectRatio; @@ -15,5 +16,8 @@ namespace SWA be m_FieldOfView; be m_VertFieldOfView; be m_HorzFieldOfView; + SWA_INSERT_PADDING(0x18); + bool m_InvertY; + bool m_InvertX; }; } diff --git a/UnleashedRecomp/api/SWA/Player/Character/EvilSonic/EvilSonic.h b/UnleashedRecomp/api/SWA/Player/Character/EvilSonic/EvilSonic.h index d6b510ea..bee25d07 100644 --- a/UnleashedRecomp/api/SWA/Player/Character/EvilSonic/EvilSonic.h +++ b/UnleashedRecomp/api/SWA/Player/Character/EvilSonic/EvilSonic.h @@ -5,7 +5,7 @@ namespace SWA::Player { - class CEvilSonic + class CEvilSonic // : public CPlayer { public: SWA_INSERT_PADDING(0xC4); diff --git a/UnleashedRecomp/api/SWA/Player/Character/EvilSonic/Hud/EvilHudGuide.h b/UnleashedRecomp/api/SWA/Player/Character/EvilSonic/Hud/EvilHudGuide.h index 8c4d0e10..6330ab2e 100644 --- a/UnleashedRecomp/api/SWA/Player/Character/EvilSonic/Hud/EvilHudGuide.h +++ b/UnleashedRecomp/api/SWA/Player/Character/EvilSonic/Hud/EvilHudGuide.h @@ -18,10 +18,10 @@ namespace SWA::Player eGuideType_Y }; - class CEvilHudGuide + class CEvilHudGuide : public CGameObject { public: - SWA_INSERT_PADDING(0x14D); + SWA_INSERT_PADDING(0x8D); bool m_IsShown; bool m_IsVisible; be m_GuideType; diff --git a/UnleashedRecomp/api/SWA/System/GameObject.h b/UnleashedRecomp/api/SWA/System/GameObject.h index 962c8d15..2fbc504f 100644 --- a/UnleashedRecomp/api/SWA/System/GameObject.h +++ b/UnleashedRecomp/api/SWA/System/GameObject.h @@ -18,9 +18,10 @@ namespace SWA public: Hedgehog::Base::TSynchronizedPtr m_pGameDocument; Hedgehog::Base::TSynchronizedPtr m_pWorld; - SWA_INSERT_PADDING(0x78); + SWA_INSERT_PADDING(0x70); }; + SWA_INSERT_PADDING(0x04); // vftable ptr xpointer m_pMember; }; }