Skip to content

Commit 41b6532

Browse files
committed
More Posture
PostureCommon(Recreation), 100.0% *Testing *Cleanup 1 *Attempt to fix Shadow KDV Glider Bug *Vehicle Enter on Spawn Fixed (Adjusted m_radius for Zock a little, depends on fps) *Deque class (not tested) *Entity & EntityRef & EntityWrapper (all of them fixed) *Config::DisableEdgeGrabLeftover -> Edge Oscallation experimental fix *BodyHavok Experimental Delta Fix *Silver Psycho Fix(Removed due BodyHavok Fix) *Aqa Mercury API *Cleanup 2 closes issue #96 closes issue #33 *New Code Config::AlwaysResetSpringState *classes have been updated : Object2, CommonObject, *Fixed SoX::AI::StateMachine, new class SoX::AI::State,Player::State::CommonSprintTemplate closes issue #26 *New Codes : AllowSpinDashJump, DisableMachStateLockInput(Blue Gem), AlwaysBlueGem(allow to using blue for states like spindash, kick ...) RTTI API
1 parent 3e2ad7c commit 41b6532

File tree

115 files changed

+6340
-333
lines changed

Some content is hidden

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

115 files changed

+6340
-333
lines changed

MarathonRecomp/api/Marathon.h

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
#include "Sonicteam/Enemy/EnemyShot.h"
3737
#include "Sonicteam/Enemy/EnemyShotNormal.h"
3838
#include "Sonicteam/Enemy/EnemyShotPoint.h"
39+
#include "Sonicteam/EnemyPsiCommon.h"
3940
#include "Sonicteam/Fixture.h"
4041
#include "Sonicteam/Game.h"
4142
#include "Sonicteam/GameImp.h"
@@ -55,9 +56,11 @@
5556
#include "Sonicteam/HintWindowTask.h"
5657
#include "Sonicteam/HudTextParts.h"
5758
#include "Sonicteam/ImageFilter.h"
59+
#include "Sonicteam/KeyframedPath.h"
5860
#include "Sonicteam/MainDisplayTask.h"
5961
#include "Sonicteam/MainMenuTask.h"
6062
#include "Sonicteam/MainMode.h"
63+
#include "Sonicteam/MercuryDrawable.h"
6164
#include "Sonicteam/Message/MsgCameramanChangeMode.h"
6265
#include "Sonicteam/Message/MsgHUDButtonWindowChangeButtons.h"
6366
#include "Sonicteam/Message/MsgHUDMainMenuChangeState.h"
@@ -83,21 +86,33 @@
8386
#include "Sonicteam/NamedActor.h"
8487
#include "Sonicteam/NamedTask.h"
8588
#include "Sonicteam/NoSyncThread.h"
89+
#include "Sonicteam/ObjectAqaMercurySmall.h"
90+
#include "Sonicteam/ObjectPsi.h"
91+
#include "Sonicteam/ObjectPsiContext.h"
8692
#include "Sonicteam/ObjectVehicle.h"
8793
#include "Sonicteam/ObjectVehicleBike.h"
94+
#include "Sonicteam/PathAnimation/Animation.h"
95+
#include "Sonicteam/PathAnimation/Controller.h"
96+
#include "Sonicteam/PathAnimation/Entity.h"
8897
#include "Sonicteam/PauseAdapter.h"
8998
#include "Sonicteam/PauseTask.h"
99+
#include "Sonicteam/Player/AllListener.h"
100+
#include "Sonicteam/Player/Gravity.h"
101+
#include "Sonicteam/Player/GroundListener.h"
90102
#include "Sonicteam/Player/GroundRayListener.h"
91103
#include "Sonicteam/Player/ICollisionListener.h"
92104
#include "Sonicteam/Player/ICollisionListenerTemplate.h"
93105
#include "Sonicteam/Player/IDynamicLink.h"
94106
#include "Sonicteam/Player/IEventerListener.h"
95107
#include "Sonicteam/Player/IExportExternalFlag.h"
96108
#include "Sonicteam/Player/IExportPostureRequestFlag.h"
109+
#include "Sonicteam/Player/IExportVehicleFlag.h"
97110
#include "Sonicteam/Player/IExportWeaponRequestFlag.h"
98111
#include "Sonicteam/Player/IFlagCommunicator.h"
112+
#include "Sonicteam/Player/IForce.h"
99113
#include "Sonicteam/Player/IGauge.h"
100114
#include "Sonicteam/Player/INotification.h"
115+
#include "Sonicteam/Player/IPath.h"
101116
#include "Sonicteam/Player/IPlugIn.h"
102117
#include "Sonicteam/Player/IPostureControl.h"
103118
#include "Sonicteam/Player/IPosturePlugIn.h"
@@ -113,14 +128,21 @@
113128
#include "Sonicteam/Player/Input/IListener.h"
114129
#include "Sonicteam/Player/Input/ListenerNormal.h"
115130
#include "Sonicteam/Player/Input/TimedAction.h"
131+
#include "Sonicteam/Player/MovableBody.h"
116132
#include "Sonicteam/Player/Object.h"
133+
#include "Sonicteam/Player/PhysicsBodyList.h"
117134
#include "Sonicteam/Player/PostureControl.h"
135+
#include "Sonicteam/Player/PostureEdge.h"
136+
#include "Sonicteam/Player/PostureVehicle.h"
137+
#include "Sonicteam/Player/RealGroundRayListener.h"
118138
#include "Sonicteam/Player/RootFrame.h"
139+
#include "Sonicteam/Player/RotationGravityAxis.h"
119140
#include "Sonicteam/Player/Score.h"
120141
#include "Sonicteam/Player/SonicGauge.h"
121142
#include "Sonicteam/Player/State/CommonContext.h"
122143
#include "Sonicteam/Player/State/CommonFall.h"
123144
#include "Sonicteam/Player/State/CommonObject.h"
145+
#include "Sonicteam/Player/State/CommonSpringTemplate.h"
124146
#include "Sonicteam/Player/State/ContextSpeedAndJump.h"
125147
#include "Sonicteam/Player/State/ICommonContext.h"
126148
#include "Sonicteam/Player/State/ICommonContextIF.h"
@@ -130,9 +152,12 @@
130152
#include "Sonicteam/Player/State/Object2.h"
131153
#include "Sonicteam/Player/State/SonicContext.h"
132154
#include "Sonicteam/Player/State/SonicObject.h"
155+
#include "Sonicteam/Player/State/SonicState.h"
133156
#include "Sonicteam/Player/State/TailsContext.h"
134157
#include "Sonicteam/Player/State/TailsFlight.h"
135158
#include "Sonicteam/Player/Unit/ITestCase.h"
159+
#include "Sonicteam/Player/WallListener.h"
160+
#include "Sonicteam/Player/WallRayListener.h"
136161
#include "Sonicteam/Player/Weapon/SonicWeapons.h"
137162
#include "Sonicteam/Player/Zock.h"
138163
#include "Sonicteam/PropFixture.h"
@@ -187,8 +212,11 @@
187212
#include "Sonicteam/SaveDataTask.h"
188213
#include "Sonicteam/SaveDataTaskXENON.h"
189214
#include "Sonicteam/SelectWindowTask.h"
215+
#include "Sonicteam/ShotPsiCommon.h"
216+
#include "Sonicteam/SoX/AI/State.h"
190217
#include "Sonicteam/SoX/AI/StateMachine.h"
191218
#include "Sonicteam/SoX/ApplicationXenon.h"
219+
#include "Sonicteam/SoX/Array.h"
192220
#include "Sonicteam/SoX/Audio/Cue.h"
193221
#include "Sonicteam/SoX/Audio/IAudioEngine.h"
194222
#include "Sonicteam/SoX/Audio/Player.h"
@@ -205,31 +233,41 @@
205233
#include "Sonicteam/SoX/Graphics/FrameObserver.h"
206234
#include "Sonicteam/SoX/Graphics/Technique.h"
207235
#include "Sonicteam/SoX/Graphics/TechniqueFXL.h"
236+
#include "Sonicteam/SoX/Graphics/Texture.h"
208237
#include "Sonicteam/SoX/Graphics/Transforms.h"
209238
#include "Sonicteam/SoX/Graphics/Vertex.h"
210239
#include "Sonicteam/SoX/Graphics/Xenon/DeviceXenon.h"
211240
#include "Sonicteam/SoX/Graphics/Xenon/TextureXenon.h"
212241
#include "Sonicteam/SoX/IResource.h"
213242
#include "Sonicteam/SoX/IResource2.h"
214243
#include "Sonicteam/SoX/IResourceMgr.h"
244+
#include "Sonicteam/SoX/Input/Listener.h"
215245
#include "Sonicteam/SoX/Input/Manager.h"
216246
#include "Sonicteam/SoX/LinkNode.h"
247+
#include "Sonicteam/SoX/Math/Math.h"
217248
#include "Sonicteam/SoX/Math/Matrix.h"
218249
#include "Sonicteam/SoX/Math/Quaternion.h"
219250
#include "Sonicteam/SoX/Math/Vector.h"
251+
#include "Sonicteam/SoX/Math/__vector.h"
220252
#include "Sonicteam/SoX/Message.h"
221253
#include "Sonicteam/SoX/MessageReceiver.h"
222254
#include "Sonicteam/SoX/Object.h"
255+
#include "Sonicteam/SoX/Physics/Body.h"
223256
#include "Sonicteam/SoX/Physics/Entity.h"
257+
#include "Sonicteam/SoX/Physics/EntityRef.h"
224258
#include "Sonicteam/SoX/Physics/Havok/EntityHavok.h"
225259
#include "Sonicteam/SoX/Physics/Havok/EntityHavokImp.h"
226260
#include "Sonicteam/SoX/Physics/Havok/PhantomHavok.h"
261+
#include "Sonicteam/SoX/Physics/Havok/RayCastHavok.h"
262+
#include "Sonicteam/SoX/Physics/Havok/ShapeCastHavok.h"
227263
#include "Sonicteam/SoX/Physics/Havok/WorldHavok.h"
228264
#include "Sonicteam/SoX/Physics/IntersectEvent.h"
229265
#include "Sonicteam/SoX/Physics/IntersectListener.h"
230266
#include "Sonicteam/SoX/Physics/Phantom.h"
231267
#include "Sonicteam/SoX/Physics/PhantomListener.h"
268+
#include "Sonicteam/SoX/Physics/RayCast.h"
232269
#include "Sonicteam/SoX/Physics/Shape.h"
270+
#include "Sonicteam/SoX/Physics/ShapeCast.h"
233271
#include "Sonicteam/SoX/Physics/ShapeCastEvent.h"
234272
#include "Sonicteam/SoX/Physics/ShapeCastListener.h"
235273
#include "Sonicteam/SoX/Physics/World.h"
@@ -263,22 +301,30 @@
263301
#include "hk330/hkArray.h"
264302
#include "hk330/hkReferencedObject.h"
265303
#include "hk330/hkpBroadPhaseHandle.h"
304+
#include "hk330/hkpBvShape.h"
266305
#include "hk330/hkpCdBody.h"
267306
#include "hk330/hkpCollidable.h"
268307
#include "hk330/hkpCollidableCollidableFilter.h"
269308
#include "hk330/hkpCollisionFilter.h"
270309
#include "hk330/hkpEntity.h"
271310
#include "hk330/hkpLinkedCollidable.h"
311+
#include "hk330/hkpMotion.h"
272312
#include "hk330/hkpPhantom.h"
273313
#include "hk330/hkpProperty.h"
274314
#include "hk330/hkpRayCollidableFilter.h"
275315
#include "hk330/hkpRayShapeCollectionFilter.h"
276316
#include "hk330/hkpRigidBody.h"
277317
#include "hk330/hkpShape.h"
278318
#include "hk330/hkpShapeCollectionFilter.h"
319+
#include "hk330/hkpShapeContainer.h"
320+
#include "hk330/hkpShapeSphere.h"
321+
#include "hk330/hkpSingleShapeContainer.h"
279322
#include "hk330/hkpTypedBroadPhaseHandle.h"
280323
#include "hk330/hkpWorld.h"
281324
#include "hk330/hkpWorldObject.h"
325+
#include "stdx/RTTI.h"
326+
#include "stdx/deque.h"
282327
#include "stdx/string.h"
328+
#include "stdx/type_info.h"
283329
#include "stdx/vector.h"
284330
#include "stdx/wstring.h"

MarathonRecomp/api/Marathon.inl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#pragma once
22

33
#include <cpu/guest_stack_var.h>
4+
#include <cpu/guest_heap_var.h>
45
#include <kernel/function.h>
56

67
constexpr float RAD2DEGf = 57.2958f;

MarathonRecomp/api/Sonicteam/ActorManager.h

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,13 @@ namespace Sonicteam
88
class ActorManager
99
{
1010
public:
11-
be<uint32_t> m_aActorIDs[0xFFFF];
12-
xpointer<Actor> m_aActors[0xFFFF];
13-
be<uint32_t> m_LastActorID;
14-
be<uint32_t> m_LastActorIndex;
15-
MARATHON_INSERT_PADDING(4);
16-
};
11+
be<uint32_t> m_ActorID[0xFFFF];
12+
xpointer<Actor> m_Actor[0xFFFF];
13+
be<uint32_t> m_LastActorID;
14+
be<uint32_t> m_LastActorIndex;
1715

18-
MARATHON_ASSERT_OFFSETOF(ActorManager, m_aActorIDs, 0x00);
19-
MARATHON_ASSERT_OFFSETOF(ActorManager, m_aActors, 0x3FFFC);
20-
MARATHON_ASSERT_OFFSETOF(ActorManager, m_LastActorID, 0x7FFF8);
21-
MARATHON_ASSERT_OFFSETOF(ActorManager, m_LastActorIndex, 0x7FFFC);
22-
MARATHON_ASSERT_SIZEOF(ActorManager, 0x80004);
16+
Sonicteam::Actor* FindActor(uint32_t ActorID);
17+
};
2318
}
19+
20+
#include "ActorManager.inl"
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#pragma once
2+
3+
namespace Sonicteam
4+
{
5+
inline Actor* ActorManager::FindActor(uint32_t ActorID)
6+
{
7+
unsigned int left = 0;
8+
unsigned int right = this->m_LastActorIndex - 1;
9+
int Index = 0;
10+
11+
while (left <= right) {
12+
unsigned int mid = left + (right - left) / 2;
13+
if (this->m_ActorID[mid] == ActorID) {
14+
Index = mid;
15+
break;
16+
}
17+
if (this->m_ActorID[mid] < ActorID) {
18+
left = mid + 1;
19+
}
20+
else {
21+
right = mid - 1;
22+
}
23+
}
24+
if (!this->m_Actor[Index]) return 0;
25+
return this->m_Actor[Index];
26+
}
27+
}

MarathonRecomp/api/Sonicteam/DocMarathonImp.h

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,46 @@
11
#pragma once
22

33
#include <Marathon.inl>
4+
#include <boost/smart_ptr/shared_ptr.h>
45
#include <Sonicteam/SoX/Engine/Doc.h>
56
#include <Sonicteam/SoX/Input/Manager.h>
6-
#include <boost/smart_ptr/shared_ptr.h>
7-
#include <api/stdx/vector.h>
7+
#include <Sonicteam/SoX/LinkNode.h>
8+
#include <Sonicteam/SoX/Thread.h>
9+
#include <Sonicteam/MyGraphicsDevice.h>
10+
#include <Sonicteam/RaderMapManager.h>
11+
#include <stdx/vector.h>
812

913
namespace Sonicteam
1014
{
1115
class DocMarathonImp : public SoX::Engine::Doc
1216
{
1317
public:
14-
MARATHON_INSERT_PADDING(0x40);
15-
stdx::vector<boost::shared_ptr<SoX::Input::Manager>> m_vspInputManager;
18+
MARATHON_INSERT_PADDING(4);
19+
xpointer<MyGraphicsDevice> m_pMyGraphicsDevice;
20+
MARATHON_INSERT_PADDING(0x38);
21+
stdx::vector<boost::shared_ptr<SoX::Input::Manager>> m_vspInputManagers;
1622
MARATHON_INSERT_PADDING(0x24);
1723
bool m_VFrame;
18-
MARATHON_INSERT_PADDING(0x55B58);
24+
MARATHON_INSERT_PADDING(4);
25+
xpointer<void> m_pRenderTargetContainer;
26+
xpointer<void> m_pSFXAgent;
27+
MARATHON_INSERT_PADDING(0x8);
28+
be<float> m_DocSpeed;
29+
be<uint32_t> m_PauseFlags;
30+
MARATHON_INSERT_PADDING(0x8);
31+
xpointer<SoX::LinkedList<SoX::Thread>> m_lnThread;
32+
MARATHON_INSERT_PADDING(0x288);
33+
xpointer<void> m_pParticleManager;
34+
MARATHON_INSERT_PADDING(0x15D0);
35+
xpointer<RaderMapManager> m_pRaderMapManager;
36+
MARATHON_INSERT_PADDING(0x542D0);
1937
be<uint32_t> m_aPadIDs[4];
2038
MARATHON_INSERT_PADDING(0x2C);
2139
};
2240

23-
MARATHON_ASSERT_OFFSETOF(DocMarathonImp, m_vspInputManager, 0x9C);
41+
MARATHON_ASSERT_OFFSETOF(DocMarathonImp, m_DocSpeed, 0xE8);
42+
MARATHON_ASSERT_OFFSETOF(DocMarathonImp, m_PauseFlags, 0xEC);
43+
MARATHON_ASSERT_OFFSETOF(DocMarathonImp, m_vspInputManagers, 0x9C);
2444
MARATHON_ASSERT_OFFSETOF(DocMarathonImp, m_VFrame, 0xD0);
2545
MARATHON_ASSERT_OFFSETOF(DocMarathonImp, m_aPadIDs, 0x55C2C);
2646
MARATHON_ASSERT_SIZEOF(DocMarathonImp, 0x55C68);
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#pragma once
2+
3+
#include <Marathon.inl>
4+
#include <Sonicteam/ObjectPsi.h>
5+
#include <Sonicteam/SoX/Math/Vector.h>
6+
7+
namespace Sonicteam
8+
{
9+
class EnemyPsiCommon : public ObjectPsi
10+
{
11+
public:
12+
xpointer<void> m_pFigure;
13+
be<float> m_Field2C;
14+
SoX::Math::Vector m_Velocity;
15+
SoX::Math::Vector m_Rotation;
16+
};
17+
18+
MARATHON_ASSERT_SIZEOF(EnemyPsiCommon, 0x50);
19+
MARATHON_ASSERT_OFFSETOF(EnemyPsiCommon, m_pFigure, 0x28);
20+
MARATHON_ASSERT_OFFSETOF(EnemyPsiCommon, m_Field2C, 0x2C);
21+
MARATHON_ASSERT_OFFSETOF(EnemyPsiCommon, m_Velocity, 0x30);
22+
MARATHON_ASSERT_OFFSETOF(EnemyPsiCommon, m_Rotation, 0x40);
23+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#pragma once
2+
3+
#include <Marathon.inl>
4+
#include <Sonicteam/PathAnimation/Animation.h>
5+
6+
namespace Sonicteam
7+
{
8+
class KeyframedPath : public PathAnimation::Animation
9+
{
10+
MARATHON_INSERT_PADDING(0x14);
11+
};
12+
13+
MARATHON_ASSERT_SIZEOF(KeyframedPath, 0x1C);
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#pragma once
2+
3+
#include <Marathon.inl>
4+
#include <Sonicteam/SoX/Scenery/Drawable.h>
5+
6+
namespace Sonicteam
7+
{
8+
class MercuryDrawable : public SoX::Scenery::Drawable
9+
{
10+
MARATHON_INSERT_PADDING(0xF0);
11+
};
12+
13+
MARATHON_ASSERT_SIZEOF(MercuryDrawable, 0x160);
14+
}

0 commit comments

Comments
 (0)