Skip to content

Commit 6e831de

Browse files
author
ReimousTH
committed
Gauge
1 parent b3fe6a3 commit 6e831de

30 files changed

Lines changed: 730 additions & 25 deletions

MarathonRecomp/api/Marathon.h

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include "CSD/Manager/csdmSubjectBase.h"
1717
#include "CSD/Platform/csdTexList.h"
1818
#include "Sonicteam/Actor.h"
19+
#include "Sonicteam/ActorManager.h"
1920
#include "Sonicteam/AlertWindowTask.h"
2021
#include "Sonicteam/AppMarathon.h"
2122
#include "Sonicteam/AudioEngineXenon.h"
@@ -36,6 +37,20 @@
3637
#include "Sonicteam/MyGraphicsDevice.h"
3738
#include "Sonicteam/MyPhantom.h"
3839
#include "Sonicteam/MyTexture.h"
40+
#include "Sonicteam/Player/GroundRayListener.h"
41+
#include "Sonicteam/Player/ICollisionListener.h"
42+
#include "Sonicteam/Player/ICollisionListenerTemplate.h"
43+
#include "Sonicteam/Player/INotification.h"
44+
#include "Sonicteam/Player/IPostureControl.h"
45+
#include "Sonicteam/Player/IPosturePlugIn.h"
46+
#include "Sonicteam/Player/IPostureSupportEdge.h"
47+
#include "Sonicteam/Player/IPostureSupportInput.h"
48+
#include "Sonicteam/Player/IPostureSupportOttoto.h"
49+
#include "Sonicteam/Player/IPostureSupportRayTemplate.h"
50+
#include "Sonicteam/Player/IPostureSupportSphere.h"
51+
#include "Sonicteam/Player/PostureControl.h"
52+
#include "Sonicteam/Player/Unit/ITestCase.h"
53+
#include "Sonicteam/Player/Weapon/SonicWeapons.h"
3954
#include "Sonicteam/Player/IDynamicLink.h"
4055
#include "Sonicteam/Player/IExportExternalFlag.h"
4156
#include "Sonicteam/Player/IExportPostureRequestFlag.h"
@@ -88,7 +103,11 @@
88103
#include "Sonicteam/SoX/Math/Vector.h"
89104
#include "Sonicteam/SoX/MessageReceiver.h"
90105
#include "Sonicteam/SoX/Object.h"
91-
#include "Sonicteam/SoX/Physics/Entity.h"
106+
#include "Sonicteam/SoX/LinkNode.h"
107+
#include "Sonicteam/SoX/Physics/IntersectEvent.h"
108+
#include "Sonicteam/SoX/Physics/IntersectListener.h"
109+
#include "Sonicteam/SoX/Physics/ShapeCastEvent.h"
110+
#include "Sonicteam/SoX/Physics/ShapeCastListener.h"
92111
#include "Sonicteam/SoX/Physics/Havok/EntityHavok.h"
93112
#include "Sonicteam/SoX/Physics/Havok/EntityHavokImp.h"
94113
#include "Sonicteam/SoX/Physics/Havok/PhantomHavok.h"
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+
#include <Sonicteam/Actor.h>
5+
6+
namespace Sonicteam
7+
{
8+
class ActorManager
9+
{
10+
public:
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;
15+
};
16+
}
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/Player/ICollisionListenerTemplate.h>
5+
#include <Sonicteam/SoX/Physics/IntersectListener.h>
6+
#include <Sonicteam/SoX/Physics/IntersectEvent.h>
7+
#include <Sonicteam/SoX/Math/Vector.h>
8+
#include <Sonicteam/SoX/Physics/Entity.h>
9+
#include <Sonicteam/SoX/LinkNode.h>
10+
11+
namespace Sonicteam::Player
12+
{
13+
class GroundRayListener:public ICollisionListenerTemplate<Sonicteam::SoX::Physics::IntersectListener, Sonicteam::SoX::Physics::IntersectEvent>
14+
{
15+
public:
16+
SoX::Math::Vector m_ContactPosition;
17+
SoX::Math::Vector m_ContactNormal;
18+
be<float> m_RayDistance; //not sure
19+
be<uint32_t> m_RayFlag; //not sure
20+
SoX::LinkRef<Sonicteam::SoX::Physics::Entity> m_ContactEntity;
21+
MARATHON_INSERT_PADDING(0xC);
22+
};
23+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#pragma once
2+
3+
#include <Marathon.inl>
4+
#include <Sonicteam/SoX/Math/Quaternion.h>
5+
6+
namespace Sonicteam::Player
7+
{
8+
class ICollisionListener
9+
{
10+
public:
11+
xpointer<void> m_pVftable;
12+
MARATHON_INSERT_PADDING(0xC);
13+
be<uint32_t> m_Flag1;
14+
be<uint32_t> m_Flag2;
15+
be<uint32_t> m_Flag3;
16+
MARATHON_INSERT_PADDING(0x4);
17+
SoX::Math::Vector m_CollisionNormal;
18+
};
19+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#pragma once
2+
3+
#include <Marathon.inl>
4+
#include <Sonicteam/Player/ICollisionListener.h>
5+
6+
namespace Sonicteam::Player
7+
{
8+
template <typename Cast, typename Event>
9+
class ICollisionListenerTemplate:ICollisionListener,Cast {};
10+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#pragma once
2+
3+
#include <Marathon.inl>
4+
5+
namespace Sonicteam::Player
6+
{
7+
class INotification
8+
{
9+
public:
10+
xpointer<void> m_pVftable;
11+
};
12+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#pragma once
2+
3+
#include <Marathon.inl>
4+
#include <Sonicteam/Player/IFlagCommunicator.h>
5+
#include <Sonicteam/Player/State/ICommonContextIF.h>
6+
#include <Sonicteam/Player/IDynamicLink.h>
7+
#include <Sonicteam/Player/IVariable.h>
8+
#include <Sonicteam/Player/IPosturePlugIn.h>
9+
#include <Sonicteam/Player/Unit/ITestCase.h>
10+
#include <Sonicteam/SoX/RefCountObject.h>
11+
#include <Sonicteam/SoX/RefSharedPointer.h>
12+
#include <Sonicteam/SoX/Math/Vector.h>
13+
#include <Sonicteam/SoX/Engine/Task.h>
14+
#include <Sonicteam/SoX/Math/Quaternion.h>
15+
#include <Sonicteam/SoX/Physics/World.h>
16+
#include <boost/smart_ptr/shared_ptr.h>
17+
#include <Sonicteam/ActorManager.h>
18+
19+
namespace Sonicteam::Player
20+
{
21+
class IPostureControl : public IVariable, public IDynamicLink, public Unit::ITestCase, public IFlagCommunicator
22+
{
23+
public:
24+
SoX::RefSharedPointer<SoX::RefCountObject> m_spRootFrame;
25+
SoX::Math::Quaternion m_RotationFixed;
26+
SoX::Math::Vector m_PositionFixed;
27+
SoX::RefSharedPointer<SoX::Physics::World> m_spWorld;
28+
boost::shared_ptr<void> m_spGravity;
29+
boost::shared_ptr<void> m_spInputListener;
30+
boost::shared_ptr<void> m_spAmigoListener;
31+
boost::shared_ptr<State::ICommonContextIF> m_ContextIF;
32+
boost::shared_ptr<ActorManager> m_spActorManager;
33+
xpointer<SoX::Engine::Task> m_pTask;
34+
boost::shared_ptr<IPosturePlugIn> m_spPosturePlugIn;
35+
SoX::Math::Vector m_GravityDirection;
36+
be<float> m_GravityForce;
37+
SoX::Math::Vector m_NormalizedSurface; //ground normal?
38+
SoX::Math::Vector m_Position;
39+
SoX::Math::Quaternion m_Rotation;
40+
MARATHON_INSERT_PADDING(0x20);
41+
be<uint32_t> m_PostureFlag;
42+
be<float> m_ImpulseForward;
43+
be<float> m_ImpulseVertical;
44+
SoX::Math::Vector m_ImpulseUP;
45+
be<uint32_t> m_ContextIFFlag;
46+
be<uint32_t> m_PostureRequestFlag;
47+
be<uint32_t> m_PostureFlag118;
48+
be<uint32_t> m_PostureFlag11C;
49+
};
50+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#pragma once
2+
3+
#include <Marathon.inl>
4+
5+
namespace Sonicteam::Player
6+
{
7+
class IPosturePlugIn
8+
{
9+
public:
10+
xpointer<void> m_pVftable;
11+
};
12+
}
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::Player
6+
{
7+
class IPostureSupportEdge
8+
{
9+
public:
10+
xpointer<void> m_pVftable;
11+
MARATHON_INSERT_PADDING(0x70 - 4);
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::Player
6+
{
7+
class IPostureSupportInput
8+
{
9+
public:
10+
xpointer<void> m_pVftable;
11+
MARATHON_INSERT_PADDING(0x30 - 4);
12+
};
13+
}

0 commit comments

Comments
 (0)