forked from CasualCoderGuy/FO4-ModSwitchFramework-src
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMSF_API.h
More file actions
73 lines (65 loc) · 1.72 KB
/
Copy pathMSF_API.h
File metadata and controls
73 lines (65 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#pragma once
#ifdef MSF_DLL
#define MSF_API __declspec(dllexport)
#else
#define MSF_API __declspec(dllimport)
#endif
namespace MSF
{
enum class EventResult : std::int32_t
{
kProcessed,
kNotProcessed
};
template <class EventData>
class EventSink
{
public:
virtual ~EventSink() = default;
virtual EventResult ReceiveEvent(const EventData& eventData) { return EventResult::kProcessed; };
};
namespace WidgetUpdate
{
class SettingsData
{
public:
uint64_t MSFsettingsInMCM; //see MSF_Data.h
uint32_t fontType;
uint32_t RGBcolor;
float fSliderMainX;
float fSliderMainY;
float fPowerArmorOffsetX;
float fPowerArmorOffsetY;
float fSliderAlpha;
float fSliderScale;
const char* localization; //game localization string
};
class DisplayData
{
public:
const char* ammoName;
const char* firingMode;
const char* muzzleName;
const char* scopeName;
uint32_t shapeID;
bool isInPA;
};
class QuickkeyData
{
public:
const char* APname;
const char* modName;
bool isAmmo;
};
class ClearQuickkeyMod
{
public:
};
}
}
extern "C" MSF_API bool MSF_RegisterWidgetSettingsUpdateSink(MSF::EventSink<MSF::WidgetUpdate::SettingsData>* sink);
extern "C" MSF_API bool MSF_RegisterWidgetDisplayUpdateSink(MSF::EventSink<MSF::WidgetUpdate::DisplayData>* sink);
extern "C" MSF_API bool MSF_RegisterWidgetQuickkeyUpdateSink(MSF::EventSink<MSF::WidgetUpdate::QuickkeyData>* sink);
extern "C" MSF_API bool MSF_RegisterWidgetQuickkeyClearSink(MSF::EventSink<MSF::WidgetUpdate::ClearQuickkeyMod>* sink);
extern "C" MSF_API bool MSF_GetWidgetSettingsData(MSF::WidgetUpdate::SettingsData & data);
extern "C" MSF_API bool MSF_GetWidgetDisplayData(MSF::WidgetUpdate::DisplayData & data);