Skip to content

Commit 4680a79

Browse files
authored
Merge branch 'main' into SonicGaugeCodeEx
2 parents dda2520 + 01dbd2f commit 4680a79

81 files changed

Lines changed: 1981 additions & 2009 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

MarathonRecomp/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ set(MARATHON_RECOMP_PATCHES_CXX_SOURCES
142142
"patches/frontend_listener.cpp"
143143
"patches/misc_patches.cpp"
144144
"patches/player_patches.cpp"
145+
"patches/SaveDataTask_patches.cpp"
145146
"patches/TitleTask_patches.cpp"
146147
"patches/video_patches.cpp"
147148
)

MarathonRecomp/api/Marathon.h

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,28 @@
1616
#include "CSD/Manager/csdmSubjectBase.h"
1717
#include "CSD/Platform/csdTexList.h"
1818
#include "Sonicteam/Actor.h"
19+
#include "Sonicteam/AlertWindowTask.h"
1920
#include "Sonicteam/AppMarathon.h"
2021
#include "Sonicteam/AudioEngineXenon.h"
2122
#include "Sonicteam/Camera/CameraMode.h"
2223
#include "Sonicteam/Camera/Cameraman.h"
2324
#include "Sonicteam/Camera/SonicCamera.h"
25+
#include "Sonicteam/CsdLink.h"
2426
#include "Sonicteam/DocMarathonImp.h"
2527
#include "Sonicteam/DocMarathonState.h"
2628
#include "Sonicteam/GameImp.h"
2729
#include "Sonicteam/GameMode.h"
30+
#include "Sonicteam/HUDCALLBACK.h"
31+
#include "Sonicteam/HUDLoading.h"
32+
#include "Sonicteam/ImageFilter.h"
33+
#include "Sonicteam/MovieObject.h"
34+
#include "Sonicteam/MovieObjectWmv.h"
35+
#include "Sonicteam/MovieTask.h"
36+
#include "Sonicteam/MyGraphicsDevice.h"
37+
#include "Sonicteam/MyPhantom.h"
38+
#include "Sonicteam/MyTexture.h"
2839
#include "Sonicteam/Player/IDynamicLink.h"
40+
#include "Sonicteam/Player/IExportExternalFlag.h"
2941
#include "Sonicteam/Player/IExportPostureRequestFlag.h"
3042
#include "Sonicteam/Player/IExportWeaponRequestFlag.h"
3143
#include "Sonicteam/Player/IFlagCommunicator.h"
@@ -35,7 +47,9 @@
3547
#include "Sonicteam/Player/IScore.h"
3648
#include "Sonicteam/Player/IStepable.h"
3749
#include "Sonicteam/Player/IVariable.h"
50+
#include "Sonicteam/Player/IZock.h"
3851
#include "Sonicteam/Player/Object.h"
52+
#include "Sonicteam/Player/RootFrame.h"
3953
#include "Sonicteam/Player/Score.h"
4054
#include "Sonicteam/Player/SonicGauge.h"
4155
#include "Sonicteam/Player/State/CommonContext.h"
@@ -51,21 +65,59 @@
5165
#include "Sonicteam/Player/State/SonicContext.h"
5266
#include "Sonicteam/Player/State/TailsContext.h"
5367
#include "Sonicteam/Player/Weapon/SonicWeapons.h"
68+
#include "Sonicteam/Player/Zock.h"
69+
#include "Sonicteam/SaveDataTask.h"
70+
#include "Sonicteam/SaveDataTaskXENON.h"
71+
#include "Sonicteam/SelectWindowTask.h"
5472
#include "Sonicteam/SoX/AI/StateMachine.h"
5573
#include "Sonicteam/SoX/Audio/IAudioEngine.h"
5674
#include "Sonicteam/SoX/Component.h"
5775
#include "Sonicteam/SoX/Engine/Doc.h"
5876
#include "Sonicteam/SoX/Engine/DocMode.h"
5977
#include "Sonicteam/SoX/Engine/Task.h"
78+
#include "Sonicteam/SoX/Graphics/Device.h"
79+
#include "Sonicteam/SoX/Graphics/Frame.h"
80+
#include "Sonicteam/SoX/Graphics/Technique.h"
81+
#include "Sonicteam/SoX/Graphics/TechniqueFXL.h"
82+
#include "Sonicteam/SoX/Graphics/Xenon/DeviceXenon.h"
83+
#include "Sonicteam/SoX/Graphics/Xenon/TextureXenon.h"
84+
#include "Sonicteam/SoX/IResource.h"
85+
#include "Sonicteam/SoX/Input/Manager.h"
86+
#include "Sonicteam/SoX/Math/Matrix.h"
87+
#include "Sonicteam/SoX/Math/Quaternion.h"
88+
#include "Sonicteam/SoX/Math/Vector.h"
6089
#include "Sonicteam/SoX/MessageReceiver.h"
6190
#include "Sonicteam/SoX/Object.h"
91+
#include "Sonicteam/SoX/Physics/Entity.h"
92+
#include "Sonicteam/SoX/Physics/Havok/EntityHavok.h"
93+
#include "Sonicteam/SoX/Physics/Havok/EntityHavokImp.h"
94+
#include "Sonicteam/SoX/Physics/Havok/PhantomHavok.h"
6295
#include "Sonicteam/SoX/Physics/Havok/WorldHavok.h"
96+
#include "Sonicteam/SoX/Physics/Phantom.h"
97+
#include "Sonicteam/SoX/Physics/PhantomListener.h"
98+
#include "Sonicteam/SoX/Physics/Shape.h"
6399
#include "Sonicteam/SoX/Physics/World.h"
64100
#include "Sonicteam/SoX/RefCountObject.h"
101+
#include "Sonicteam/SoX/RefSharedPointer.h"
102+
#include "Sonicteam/StdImageFilters/BurnoutBlurFilter.h"
103+
#include "Sonicteam/StdImageFilters/SingleTechniqueFilter.h"
65104
#include "Sonicteam/System/CreateStatic.h"
66105
#include "Sonicteam/System/Singleton.h"
67106
#include "Sonicteam/TitleTask.h"
68107
#include "boost/smart_ptr/make_shared_object.h"
69108
#include "boost/smart_ptr/shared_ptr.h"
109+
#include "hk330/hkArray.h"
110+
#include "hk330/hkReferencedObject.h"
111+
#include "hk330/hkpBroadPhaseHandle.h"
112+
#include "hk330/hkpCdBody.h"
113+
#include "hk330/hkpCollidable.h"
114+
#include "hk330/hkpEntity.h"
115+
#include "hk330/hkpLinkedCollidable.h"
116+
#include "hk330/hkpProperty.h"
117+
#include "hk330/hkpRigidBody.h"
118+
#include "hk330/hkpShape.h"
119+
#include "hk330/hkpTypedBroadPhaseHandle.h"
120+
#include "hk330/hkpWorld.h"
121+
#include "hk330/hkpWorldObject.h"
70122
#include "stdx/string.h"
71123
#include "stdx/vector.h"
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#pragma once
2+
3+
#include <Marathon.inl>
4+
#include <boost/smart_ptr/shared_ptr.h>
5+
#include <Sonicteam/SelectWindowTask.h>
6+
7+
namespace Sonicteam
8+
{
9+
class AlertWindowTask : public SoX::Engine::Task
10+
{
11+
public:
12+
be<uint32_t> m_HasSelectWindow;
13+
MARATHON_INSERT_PADDING(0x2C);
14+
be<uint32_t> m_Operation;
15+
MARATHON_INSERT_PADDING(0x14);
16+
boost::anonymous_shared_ptr m_spOptions[3];
17+
MARATHON_INSERT_PADDING(4);
18+
be<uint32_t> m_OptionCount;
19+
xpointer<SelectWindowTask> m_pSelectWindowTask;
20+
};
21+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#pragma once
2+
3+
#include <Marathon.inl>
4+
5+
namespace Sonicteam
6+
{
7+
class CsdLink
8+
{
9+
public:
10+
xpointer<void> m_pVftable;
11+
xpointer<CsdLink> m_pNext;
12+
xpointer<CsdLink> m_pPrevious;
13+
be<float> m_Priority;
14+
MARATHON_INSERT_PADDING(8);
15+
};
16+
}

MarathonRecomp/api/Sonicteam/DocMarathonImp.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,20 @@
22

33
#include <Marathon.inl>
44
#include <Sonicteam/SoX/Engine/Doc.h>
5+
#include <Sonicteam/SoX/Input/Manager.h>
6+
#include <boost/smart_ptr/shared_ptr.h>
7+
#include <api/stdx/vector.h>
58

69
namespace Sonicteam
710
{
811
class DocMarathonImp : public SoX::Engine::Doc
912
{
1013
public:
11-
MARATHON_INSERT_PADDING(0x74);
14+
MARATHON_INSERT_PADDING(0x40);
15+
stdx::vector<boost::shared_ptr<SoX::Input::Manager>> m_vspInputManager;
16+
MARATHON_INSERT_PADDING(0x24);
1217
bool m_VFrame;
18+
MARATHON_INSERT_PADDING(0x55B58);
19+
be<uint32_t> m_PlayerControllerID[4];
1320
};
1421
}

MarathonRecomp/api/Sonicteam/GameImp.h

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,27 @@
22

33
#include <Marathon.inl>
44
#include <Sonicteam/SoX/Physics/World.h>
5+
#include <Sonicteam/SoX/RefSharedPointer.h>
6+
#include <Sonicteam/SoX/RefCountObject.h>
57

68
namespace Sonicteam
79
{
810
class GameImp : public SoX::MessageReceiver
911
{
1012
public:
13+
enum GameState : uint32_t
14+
{
15+
GameState_MainMenu,
16+
GameState_Stage,
17+
GameState_Event,
18+
GameState_Movie,
19+
GameState_Result,
20+
GameState_Message,
21+
GameState_6,
22+
GameState_Save,
23+
GameState_ReturnToMainMenu
24+
};
25+
1126
struct PlayerData
1227
{
1328
be<uint32_t> ActorID;
@@ -28,14 +43,33 @@ namespace Sonicteam
2843
MARATHON_INSERT_PADDING(0x10);
2944
};
3045

31-
MARATHON_INSERT_PADDING(0xE3C);
46+
MARATHON_INSERT_PADDING(4);
47+
be<GameState> m_GameState;
48+
xpointer<DocMarathonState> m_pDoc;
49+
be<uint32_t> m_Flags;
50+
MARATHON_INSERT_PADDING(0xE2C);
3251
PlayerData m_PlayerData[4];
33-
MARATHON_INSERT_PADDING(0xA4C);
34-
xpointer<SoX::Physics::World> m_pPhysicsWorld;
52+
MARATHON_INSERT_PADDING(0x200);
53+
bool m_IsStage;
54+
MARATHON_INSERT_PADDING(0x0C);
55+
be<uint32_t> m_Field1180;
56+
MARATHON_INSERT_PADDING(0x838);
57+
SoX::RefSharedPointer<SoX::Physics::World> m_spPhysicsWorld;
3558
xpointer<void> m_pMyCollisionFilter;
3659

3760
template <typename T>
3861
inline T* GetPhysicsWorld();
62+
63+
int32_t PlayerActorIDToIndex(int32_t actorId) const
64+
{
65+
for (int i = 0; i < 4; i++)
66+
{
67+
if (m_PlayerData[i].ActorID == actorId)
68+
return i;
69+
}
70+
71+
return -1;
72+
}
3973
};
4074
}
4175

MarathonRecomp/api/Sonicteam/GameImp.inl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ namespace Sonicteam
33
template <typename T>
44
inline T* GameImp::GetPhysicsWorld()
55
{
6-
return (T*)m_pPhysicsWorld.get();
6+
return (T*)m_spPhysicsWorld.get();
77
}
88
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#pragma once
2+
3+
namespace Sonicteam
4+
{
5+
class HUDCALLBACK
6+
{
7+
public:
8+
xpointer<void> m_pVftable;
9+
};
10+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#pragma once
2+
3+
#include <Marathon.inl>
4+
5+
namespace Sonicteam
6+
{
7+
class HUDLoading : public SoX::RefCountObject, public SoX::Engine::Task
8+
{
9+
public:
10+
MARATHON_INSERT_PADDING(0x5C);
11+
be<uint32_t> m_Flags;
12+
};
13+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#pragma once
2+
3+
#include <Marathon.inl>
4+
5+
namespace Sonicteam
6+
{
7+
class ImageFilter
8+
{
9+
public:
10+
xpointer<void> m_pVftable;
11+
MARATHON_INSERT_PADDING(4);
12+
};
13+
}

0 commit comments

Comments
 (0)