Skip to content

Commit 6e22e94

Browse files
authored
Merge branch 'main' into DebugPlayerSwitch
2 parents f898dc9 + 006474e commit 6e22e94

43 files changed

Lines changed: 831 additions & 1815 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: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,26 @@
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"
2830
#include "Sonicteam/MyPhantom.h"
31+
#include "Sonicteam/HUDCALLBACK.h"
32+
#include "Sonicteam/HUDLoading.h"
33+
#include "Sonicteam/ImageFilter.h"
34+
#include "Sonicteam/MovieObject.h"
35+
#include "Sonicteam/MovieObjectWmv.h"
36+
#include "Sonicteam/MovieTask.h"
37+
#include "Sonicteam/MyGraphicsDevice.h"
38+
#include "Sonicteam/MyTexture.h"
2939
#include "Sonicteam/Player/IDynamicLink.h"
3040
#include "Sonicteam/Player/IExportPostureRequestFlag.h"
3141
#include "Sonicteam/Player/IExportWeaponRequestFlag.h"
@@ -51,13 +61,24 @@
5161
#include "Sonicteam/Player/State/Machine2.h"
5262
#include "Sonicteam/Player/State/Object2.h"
5363
#include "Sonicteam/Player/State/TailsContext.h"
64+
#include "Sonicteam/SaveDataTask.h"
65+
#include "Sonicteam/SaveDataTaskXENON.h"
66+
#include "Sonicteam/SelectWindowTask.h"
5467
#include "Sonicteam/SoX/AI/StateMachine.h"
5568
#include "Sonicteam/SoX/Audio/IAudioEngine.h"
5669
#include "Sonicteam/SoX/Component.h"
5770
#include "Sonicteam/SoX/Engine/Doc.h"
5871
#include "Sonicteam/SoX/Engine/DocMode.h"
5972
#include "Sonicteam/SoX/Engine/Task.h"
6073
#include "Sonicteam/SoX/Input/Manager.h"
74+
#include "Sonicteam/SoX/Graphics/Technique.h"
75+
#include "Sonicteam/SoX/Graphics/TechniqueFXL.h"
76+
#include "Sonicteam/SoX/Graphics/Device.h"
77+
#include "Sonicteam/SoX/Graphics/Xenon/DeviceXenon.h"
78+
#include "Sonicteam/SoX/Graphics/Xenon/TextureXenon.h"
79+
#include "Sonicteam/SoX/IResource.h"
80+
#include "Sonicteam/SoX/Math/Matrix.h"
81+
#include "Sonicteam/SoX/Math/Vector.h"
6182
#include "Sonicteam/SoX/MessageReceiver.h"
6283
#include "Sonicteam/SoX/Object.h"
6384
#include "Sonicteam/SoX/Math/Vector.h"
@@ -68,6 +89,8 @@
6889
#include "Sonicteam/SoX/Physics/Entity.h"
6990
#include "Sonicteam/SoX/Physics/Phantom.h"
7091
#include "Sonicteam/SoX/RefCountObject.h"
92+
#include "Sonicteam/StdImageFilters/BurnoutBlurFilter.h"
93+
#include "Sonicteam/StdImageFilters/SingleTechniqueFilter.h"
7194
#include "Sonicteam/System/CreateStatic.h"
7295
#include "Sonicteam/System/Singleton.h"
7396
#include "Sonicteam/TitleTask.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/GameImp.h

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,19 @@ namespace Sonicteam
88
class GameImp : public SoX::MessageReceiver
99
{
1010
public:
11+
enum GameState : uint32_t
12+
{
13+
GameState_MainMenu,
14+
GameState_Stage,
15+
GameState_Event,
16+
GameState_Movie,
17+
GameState_Result,
18+
GameState_Message,
19+
GameState_6,
20+
GameState_Save,
21+
GameState_ReturnToMainMenu
22+
};
23+
1124
struct PlayerData
1225
{
1326
be<uint32_t> ActorID;
@@ -28,9 +41,17 @@ namespace Sonicteam
2841
MARATHON_INSERT_PADDING(0x10);
2942
};
3043

31-
MARATHON_INSERT_PADDING(0xE3C);
44+
MARATHON_INSERT_PADDING(4);
45+
be<GameState> m_GameState;
46+
xpointer<DocMarathonState> m_pDoc;
47+
be<uint32_t> m_Flags;
48+
MARATHON_INSERT_PADDING(0xE2C);
3249
PlayerData m_PlayerData[4];
33-
MARATHON_INSERT_PADDING(0xA4C);
50+
MARATHON_INSERT_PADDING(0x200);
51+
bool m_IsStage;
52+
MARATHON_INSERT_PADDING(0x0C);
53+
be<uint32_t> m_Field1180;
54+
MARATHON_INSERT_PADDING(0x838);
3455
xpointer<SoX::Physics::World> m_pPhysicsWorld;
3556
xpointer<void> m_pMyCollisionFilter;
3657

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+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#pragma once
2+
3+
#include <Marathon.inl>
4+
#include <Sonicteam/MovieObjectWmv.h>
5+
6+
namespace Sonicteam
7+
{
8+
class MovieObject : public SoX::RefCountObject
9+
{
10+
public:
11+
MARATHON_INSERT_PADDING(4);
12+
xpointer<MovieObjectWmv> m_pMovieObjectWmv;
13+
stdx::string m_Language;
14+
xpointer<MyGraphicsDevice> m_pMyGraphicsDevice;
15+
MARATHON_INSERT_PADDING(8);
16+
be<uint32_t> m_Width;
17+
be<uint32_t> m_Height;
18+
bool m_Field40;
19+
};
20+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#pragma once
2+
3+
#include <Marathon.inl>
4+
#include <Sonicteam/MyGraphicsDevice.h>
5+
#include <Sonicteam/MyTexture.h>
6+
#include <stdx/string.h>
7+
8+
namespace Sonicteam
9+
{
10+
class MovieObjectWmv : public SoX::RefCountObject
11+
{
12+
public:
13+
bool m_UseCustomDimensions;
14+
be<float> m_Left;
15+
be<float> m_Top;
16+
be<float> m_Right;
17+
be<float> m_Bottom;
18+
MARATHON_INSERT_PADDING(4);
19+
stdx::string m_FilePath;
20+
MARATHON_INSERT_PADDING(8);
21+
bool m_RenderMovie;
22+
MARATHON_INSERT_PADDING(0x38);
23+
xpointer<MyGraphicsDevice> m_pMyGraphicsDevice;
24+
be<uint32_t> m_Field84;
25+
MARATHON_INSERT_PADDING(0x0C);
26+
xpointer<MyTexture> m_pTexturesYUV[4 * 3];
27+
MARATHON_INSERT_PADDING(8);
28+
be<uint32_t> m_Width;
29+
be<uint32_t> m_Height;
30+
MARATHON_INSERT_PADDING(0x0C);
31+
xpointer<void> m_pTechnique;
32+
stdx::string m_Language;
33+
};
34+
}

0 commit comments

Comments
 (0)