Skip to content

Commit a301a87

Browse files
committed
DevTitleUI
1 parent 61301ff commit a301a87

15 files changed

Lines changed: 707 additions & 1 deletion

File tree

MarathonRecomp/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ set(MARATHON_RECOMP_UI_CXX_SOURCES
159159
"ui/options_menu.cpp"
160160
"ui/options_menu_thumbnails.cpp"
161161
"ui/tv_static.cpp"
162+
"ui/devtitle_menu.cpp"
162163
)
163164

164165
set(MARATHON_RECOMP_INSTALL_CXX_SOURCES

MarathonRecomp/api/Marathon.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,14 @@
2121
#include "Sonicteam/Camera/CameraMode.h"
2222
#include "Sonicteam/Camera/Cameraman.h"
2323
#include "Sonicteam/Camera/SonicCamera.h"
24+
#include "Sonicteam/DevTitleMode.h"
2425
#include "Sonicteam/DocMarathonImp.h"
2526
#include "Sonicteam/DocMarathonState.h"
27+
#include "Sonicteam/DocState.h"
2628
#include "Sonicteam/GameImp.h"
2729
#include "Sonicteam/GameMode.h"
30+
#include "Sonicteam/StageSelectMode.h"
31+
#include "Sonicteam/StageMap.h"
2832
#include "Sonicteam/Player/IDynamicLink.h"
2933
#include "Sonicteam/Player/IExportPostureRequestFlag.h"
3034
#include "Sonicteam/Player/IExportWeaponRequestFlag.h"
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#pragma once
2+
3+
#include <Marathon.inl>
4+
#include <Sonicteam/SoX/Engine/DocMode.h>
5+
#include <Sonicteam/PictureTitle.h>
6+
#include <Sonicteam/DocState.h>
7+
8+
//anonymous namespace
9+
namespace
10+
{
11+
class StateDevTitle : public Sonicteam::DocState
12+
{
13+
public:
14+
xpointer<Sonicteam::PictureTitle> m_PictureTitle;
15+
};
16+
}
17+
namespace Sonicteam
18+
{
19+
class DevTitleMode : public SoX::Engine::DocMode
20+
{
21+
struct Mode {
22+
xpointer<const char> m_Name;
23+
MARATHON_INSERT_PADDING(4);
24+
};
25+
public:
26+
be<uint32_t> m_Selected;
27+
MARATHON_INSERT_PADDING(4);
28+
MARATHON_INSERT_PADDING(10); //stdx::vector<Mode> m_Mode;
29+
};
30+
}
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
6+
{
7+
class DocState
8+
{
9+
public:
10+
xpointer<void> m_pVftable;
11+
};
12+
}
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+
6+
namespace Sonicteam
7+
{
8+
class PicBase
9+
{
10+
public:
11+
xpointer<void> m_pVftable;
12+
be<uint32_t> m_State1;
13+
be<uint32_t> m_State2;
14+
be<uint32_t> m_State3;
15+
};
16+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#pragma once
2+
3+
#include <Marathon.inl>
4+
#include <Sonicteam/PicBase.h>
5+
#include <Sonicteam/SoX/Input/Listener.h>
6+
#include <Sonicteam/SoX/Engine/Doc.h>
7+
#include <Sonicteam/DocMarathonState.h>
8+
9+
namespace Sonicteam
10+
{
11+
class PictureTitle:public PicBase, public SoX::Input::Listener
12+
{
13+
public:
14+
MARATHON_INSERT_PADDING(4);
15+
xpointer<Sonicteam::DocMarathonState> m_Doc;
16+
MARATHON_INSERT_PADDING(0x18);
17+
};
18+
}

MarathonRecomp/api/Sonicteam/SoX/Engine/DocMode.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ namespace Sonicteam::SoX::Engine
77
class DocMode : public Task
88
{
99
public:
10-
MARATHON_INSERT_PADDING(4);
10+
be<uint32_t> m_type;
1111
};
1212
}
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+
#include <Sonicteam/SoX/Object.h>
5+
6+
namespace Sonicteam::SoX::Input
7+
{
8+
class Listener:SoX::Object
9+
{
10+
public:
11+
MARATHON_INSERT_PADDING(0x14); //LinkSoxNode<void> LinkInput, flags
12+
};
13+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#pragma once
2+
3+
#include <Marathon.inl>
4+
#include <Sonicteam/SoX/Component.h>
5+
#include <stdx/string.h>
6+
7+
namespace stdx
8+
{
9+
template <typename Type>
10+
struct vector
11+
{
12+
be<uint32_t> _MyProxy;
13+
xpointer<Type> _MyFirst;
14+
xpointer<Type> _MyLast;
15+
xpointer<Type> _MyEnd;
16+
17+
Type& operator[](uint32_t index)
18+
{
19+
return *(Type*)((uint64_t)_MyFirst.get() + (index * sizeof(Type)));
20+
}
21+
size_t size()
22+
{
23+
return (_MyLast.ptr.get() - _MyFirst.ptr.get()) / sizeof(Type);
24+
}
25+
};
26+
27+
}
28+
namespace Sonicteam
29+
{
30+
//Already in SonicGaugeCode (full)
31+
32+
class StageMap : public SoX::Component
33+
{
34+
public:
35+
36+
stdx::string m_Name;
37+
stdx::string m_Text;
38+
stdx::vector<xpointer<StageMap>> m_sStageMap;
39+
40+
};
41+
}
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/SoX/Engine/DocMode.h>
5+
#include <Sonicteam/StageMap.h>
6+
7+
namespace Sonicteam
8+
{
9+
class StageSelectMode : public SoX::Engine::DocMode
10+
{
11+
public:
12+
xpointer<Sonicteam::StageMap> m_StageMap;
13+
xpointer<Sonicteam::StageMap> m_CurrentStageMap;
14+
MARATHON_INSERT_PADDING(4);
15+
be< uint32_t> m_CurrentStageMapIndex;
16+
be< uint32_t> m_Deep;
17+
MARATHON_INSERT_PADDING(0x1C);
18+
xpointer<xpointer<const char>> m_StageMapInfo;
19+
xpointer<uint32_t> m_StageMapType;
20+
xpointer<const char> m_StageMapName;
21+
MARATHON_INSERT_PADDING(0x14);
22+
};
23+
}

0 commit comments

Comments
 (0)