Skip to content

Commit a226c1f

Browse files
committed
DevTitleUI
1 parent dc0da0e commit a226c1f

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
@@ -160,6 +160,7 @@ set(MARATHON_RECOMP_UI_CXX_SOURCES
160160
"ui/options_menu.cpp"
161161
"ui/options_menu_thumbnails.cpp"
162162
"ui/tv_static.cpp"
163+
"ui/devtitle_menu.cpp"
163164
)
164165

165166
set(MARATHON_RECOMP_INSTALL_CXX_SOURCES

MarathonRecomp/api/Marathon.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,10 @@
2323
#include "Sonicteam/Camera/Cameraman.h"
2424
#include "Sonicteam/Camera/SonicCamera.h"
2525
#include "Sonicteam/CsdLink.h"
26+
#include "Sonicteam/DevTitleMode.h"
2627
#include "Sonicteam/DocMarathonImp.h"
2728
#include "Sonicteam/DocMarathonState.h"
29+
#include "Sonicteam/DocState.h"
2830
#include "Sonicteam/GameImp.h"
2931
#include "Sonicteam/GameMode.h"
3032
#include "Sonicteam/HUDCALLBACK.h"
@@ -36,6 +38,8 @@
3638
#include "Sonicteam/MyGraphicsDevice.h"
3739
#include "Sonicteam/MyPhantom.h"
3840
#include "Sonicteam/MyTexture.h"
41+
#include "Sonicteam/StageSelectMode.h"
42+
#include "Sonicteam/StageMap.h"
3943
#include "Sonicteam/Player/IDynamicLink.h"
4044
#include "Sonicteam/Player/IExportExternalFlag.h"
4145
#include "Sonicteam/Player/IExportPostureRequestFlag.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)