Skip to content

Commit e68890d

Browse files
committed
update
1 parent 739a2ed commit e68890d

28 files changed

Lines changed: 583 additions & 52 deletions

CommonLibF4/cmake/sourcelist.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ set(SOURCES
216216
include/RE/Bethesda/Settings.h
217217
include/RE/Bethesda/Sky.h
218218
include/RE/Bethesda/SplineUtils.h
219+
include/RE/Bethesda/TES.h
219220
include/RE/Bethesda/TESBoundAnimObjects.h
220221
include/RE/Bethesda/TESBoundObjects.h
221222
include/RE/Bethesda/TESCamera.h

CommonLibF4/include/RE/Bethesda/Actor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -591,7 +591,7 @@ namespace RE
591591
bool SetupSpecialIdle(Actor& a_actor, RE::DEFAULT_OBJECT a_defaultObject, TESIdleForm* a_idle, bool a_testConditions, TESObjectREFR* a_targetOverride)
592592
{
593593
using func_t = decltype(&AIProcess::SetupSpecialIdle);
594-
static REL::Relocation<func_t> func{ REL::ID(1446774) };
594+
static REL::Relocation<func_t> func{ REL::ID(2231704) };
595595
return func(this, a_actor, a_defaultObject, a_idle, a_testConditions, a_targetOverride);
596596
}
597597

CommonLibF4/include/RE/Bethesda/Archive2.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,4 +341,15 @@ namespace RE::BSResource::Archive2
341341
BSFixedString nameText; // 30
342342
};
343343
static_assert(sizeof(AsyncReaderStream) == 0x38);
344+
345+
class StreamOpenedEvent
346+
{
347+
public:
348+
// members
349+
BSFixedString streamName; // 00
350+
BSFixedString sourceName; // 08
351+
std::uint64_t startOffset; // 10
352+
std::uint32_t sizeInArchive; // 18
353+
};
354+
static_assert(sizeof(StreamOpenedEvent) == 0x20);
344355
}

CommonLibF4/include/RE/Bethesda/BSGraphics.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ namespace RE
245245
public:
246246
[[nodiscard]] static RendererData* GetSingleton()
247247
{
248-
static REL::Relocation<RendererData**> singleton{ REL::ID(1235449) };
248+
static REL::Relocation<RendererData**> singleton{ REL::ID(2704429) };
249249
return *singleton;
250250
}
251251

@@ -512,7 +512,7 @@ namespace RE
512512
public:
513513
[[nodiscard]] static State GetSingleton()
514514
{
515-
static REL::Relocation<State*> singleton{ REL::ID(600795) };
515+
static REL::Relocation<State*> singleton{ REL::ID(2704621) };
516516
return *singleton;
517517
}
518518

@@ -621,7 +621,7 @@ namespace RE
621621

622622
[[nodiscard]] static RenderTargetManager GetSingleton()
623623
{
624-
static REL::Relocation<RenderTargetManager*> singleton{ REL::ID(1508457) };
624+
static REL::Relocation<RenderTargetManager*> singleton{ REL::ID(2666735) };
625625
return *singleton;
626626
}
627627

@@ -636,6 +636,7 @@ namespace RE
636636
RenderTargetProperties renderTargetData[100]; // 000
637637
DepthStencilTargetProperties depthStencilTargetData[12]; // C80
638638
CubeMapRenderTargetProperties cubeMapRenderTargetData[1]; // DA0
639+
std::byte padDC4[0x30];
639640
std::uint32_t renderTargetID[100]; // DC4
640641
std::uint32_t depthStencilTargetID[12]; // F54
641642
std::uint32_t cubeMapRenderTargetID[1]; // F84
@@ -656,7 +657,7 @@ namespace RE
656657
BSTAtomicValue<std::uint32_t> dynamicResolutionDisabled; // FB4
657658
Create_T create; // FB8
658659
};
659-
static_assert(sizeof(RenderTargetManager) == 0xFC0);
660+
static_assert(sizeof(RenderTargetManager) == 0xFF0);
660661
};
661662

662663
namespace BSShaderTechniqueIDMap

CommonLibF4/include/RE/Bethesda/BSInputEnableManager.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,14 +77,14 @@ namespace RE
7777

7878
[[nodiscard]] static BSInputEnableManager* GetSingleton()
7979
{
80-
static REL::Relocation<BSInputEnableManager**> singleton{ REL::ID(781703) };
80+
static REL::Relocation<BSInputEnableManager**> singleton{ REL::ID(2689007) };
8181
return *singleton;
8282
}
8383

8484
bool AllocateNewLayer(BSTSmartPointer<BSInputEnableLayer>& a_layer, const char* a_debugName)
8585
{
8686
using func_t = decltype(&BSInputEnableManager::AllocateNewLayer);
87-
static REL::Relocation<func_t> func{ REL::ID(537494) };
87+
static REL::Relocation<func_t> func{ REL::ID(2268244) };
8888
return func(this, a_layer, a_debugName);
8989
}
9090

@@ -98,14 +98,14 @@ namespace RE
9898
bool EnableUserEvent(std::uint32_t a_layerID, UEFlag a_userEventFlags, bool a_enable, UserEvents::SENDER_ID a_senderID)
9999
{
100100
using func_t = decltype(&BSInputEnableManager::EnableUserEvent);
101-
static REL::Relocation<func_t> func{ REL::ID(1432984) };
101+
static REL::Relocation<func_t> func{ REL::ID(2268263) };
102102
return func(this, a_layerID, a_userEventFlags, a_enable, a_senderID);
103103
}
104104

105105
bool EnableOtherEvent(std::uint32_t a_layerID, OEFlag a_otherEventFlags, bool a_enable, UserEvents::SENDER_ID a_senderID)
106106
{
107107
using func_t = decltype(&BSInputEnableManager::EnableOtherEvent);
108-
static REL::Relocation<func_t> func{ REL::ID(1419268) };
108+
static REL::Relocation<func_t> func{ REL::ID(2268265) };
109109
return func(this, a_layerID, a_otherEventFlags, a_enable, a_senderID);
110110
}
111111

CommonLibF4/include/RE/Bethesda/BSInputEventUser.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,14 @@ namespace RE
3939
};
4040
static_assert(sizeof(DisconnectHandler) == 0x10);
4141

42+
struct __declspec(novtable) MenuOpenHandler :
43+
public BSInputEventUser // 00
44+
{
45+
static constexpr auto RTTI{ RTTI::MenuOpenHandler };
46+
static constexpr auto VTABLE{ VTABLE::MenuOpenHandler };
47+
};
48+
static_assert(sizeof(MenuOpenHandler) == 0x10);
49+
4250
struct __declspec(novtable) ScreenshotHandler :
4351
public BSInputEventUser // 00
4452
{

CommonLibF4/include/RE/Bethesda/BSScaleformManager.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ namespace RE
8585

8686
[[nodiscard]] static BSScaleformManager* GetSingleton()
8787
{
88-
static REL::Relocation<BSScaleformManager**> singleton{ REL::ID(106578) };
88+
static REL::Relocation<BSScaleformManager**> singleton{ REL::ID(2689600) };
8989
return *singleton;
9090
}
9191

CommonLibF4/include/RE/Bethesda/ControlMap.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ namespace RE
115115
void SetTextEntryMode(bool a_enable)
116116
{
117117
using func_t = decltype(&ControlMap::SetTextEntryMode);
118-
static REL::Relocation<func_t> func{ REL::ID(0) };
118+
static REL::Relocation<func_t> func{ REL::ID(2268339) };
119119
return func(this, a_enable);
120120
}
121121

CommonLibF4/include/RE/Bethesda/IMenu.h

Lines changed: 91 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
namespace RE
4141
{
4242
enum class ContainerMenuMode;
43+
enum class DIFFICULTY_LEVEL;
4344
enum class EQUIP_TYPE;
4445

4546
namespace Workshop
@@ -629,14 +630,14 @@ namespace RE
629630

630631
void CreateAndSetFiltersToColor(const NiColor& a_color, float a_brightness)
631632
{
632-
using func_t = void (BSGFxShaderFXTarget::*)(const NiColor&, float);
633+
using func_t = void (BSGFxShaderFXTarget::*)(const NiColor&, float);
633634
static REL::Relocation<func_t> func{ REL::ID(2287028) };
634635
func(this, a_color, a_brightness);
635636
}
636637

637638
void CreateAndSetFiltersToColor(std::uint8_t a_r, std::uint8_t a_g, std::uint8_t a_b, float a_brightness)
638639
{
639-
using func_t = void (BSGFxShaderFXTarget::*)(std::uint8_t, std::uint8_t, std::uint8_t, float);
640+
using func_t = void (BSGFxShaderFXTarget::*)(std::uint8_t, std::uint8_t, std::uint8_t, float);
640641
static REL::Relocation<func_t> func{ REL::ID(783104) };
641642
func(this, a_r, a_g, a_b, a_brightness);
642643
}
@@ -794,6 +795,65 @@ namespace RE
794795
};
795796
static_assert(sizeof(GameMenuBase) == 0xE0);
796797

798+
struct __declspec(novtable) StartMenuBase :
799+
public GameMenuBase // 00
800+
{
801+
public:
802+
static constexpr auto RTTI{ RTTI::StartMenuBase };
803+
static constexpr auto VTABLE{ VTABLE::StartMenuBase };
804+
805+
virtual ~StartMenuBase(); // 00
806+
807+
// add
808+
virtual void DoLoadGame(std::int32_t a_saveIndex); // 14
809+
virtual void InitMainList(); // 15
810+
virtual bool GetIsMenuReady(); // 16
811+
virtual void SaveSettings_Derived(); // 17
812+
virtual void SetMenuColor(); // 18
813+
814+
// members
815+
msvc::unique_ptr<BSGFxShaderFXTarget> mainPanel; // 0E0
816+
msvc::unique_ptr<BSGFxShaderFXTarget> versionText; // 0E8
817+
msvc::unique_ptr<BSGFxShaderFXTarget> mainPanelBackground; // 0F0
818+
msvc::unique_ptr<BSGFxShaderFXTarget> loadPanelBackground; // 0F8
819+
msvc::unique_ptr<BSGFxShaderFXTarget> loadPanelBrackets; // 100
820+
msvc::unique_ptr<BSGFxShaderFXTarget> loadPanelList; // 108
821+
msvc::unique_ptr<BSGFxShaderFXTarget> loadPanelPlayerInfo; // 110
822+
msvc::unique_ptr<BSGFxShaderFXTarget> confirmText; // 118
823+
msvc::unique_ptr<BSGFxShaderFXTarget> levelText; // 120
824+
msvc::unique_ptr<BSGFxShaderFXTarget> playtimeText; // 128
825+
msvc::unique_ptr<BSGFxShaderFXTarget> locationText; // 130
826+
msvc::unique_ptr<BSGFxShaderFXTarget> levelMeter; // 138
827+
msvc::unique_ptr<BSGFxShaderFXTarget> modsLoadedText; // 140
828+
msvc::unique_ptr<BSGFxShaderFXTarget> settingsCategoryList; // 148
829+
msvc::unique_ptr<BSGFxShaderFXTarget> settingsList; // 150
830+
msvc::unique_ptr<BSGFxShaderFXTarget> DLCList; // 158
831+
msvc::unique_ptr<BSGFxShaderFXTarget> loadingIcon; // 160
832+
msvc::unique_ptr<BSGFxShaderFXTarget> colorReference; // 168
833+
msvc::unique_ptr<BSGFxShaderFXTarget> splashScreenText; // 170
834+
msvc::unique_ptr<BSGFxShaderFXTarget> controlsPanel; // 178
835+
msvc::unique_ptr<BSGFxShaderFXTarget> helpPanelBackground; // 180
836+
msvc::unique_ptr<BSGFxShaderFXTarget> helpListBackground; // 188
837+
msvc::unique_ptr<BSGFxShaderFXTarget> gamerTagPanel; // 190
838+
msvc::unique_ptr<BSGFxShaderFXTarget> gamerTagText; // 198
839+
msvc::unique_ptr<BSGFxShaderFXTarget> gamerTagIcon; // 1A0
840+
msvc::unique_ptr<BSGFxShaderFXTarget> bethesdaLogo; // 1A8
841+
msvc::unique_ptr<BSGFxShaderFXTarget> characterSelectList; // 1B0
842+
msvc::unique_ptr<BSGFxShaderFXTarget> remapPrompt; // 1B8
843+
msvc::unique_ptr<BSGFxShaderFXTarget> settingGuideText; // 1C0
844+
msvc::unique_ptr<BSGFxShaderFXTarget> blackBackground; // 1C8
845+
msvc::unique_ptr<BSGFxShaderFXTarget> modManager; // 1D0
846+
msvc::unique_ptr<BSGFxShaderFXTarget> DLCImageSizer; // 1D8
847+
msvc::unique_ptr<BSGFxShaderFXTarget> DLCPanelBrackets; // 1E0
848+
msvc::unique_ptr<BSGFxShaderFXTarget> loginObj; // 1E8
849+
msvc::unique_ptr<BSGFxShaderFXTarget> motD; // 1F0
850+
BSTOptional<DIFFICULTY_LEVEL> currentDisplayDifficultyLevel; // 1F8
851+
Scaleform::GFx::Value saveLoadPanelObj; // 218
852+
bool gameDataReady; // 220
853+
bool controlsChanged; // 221
854+
};
855+
static_assert(sizeof(StartMenuBase) == 0x228);
856+
797857
struct Rumble
798858
{
799859
public:
@@ -828,13 +888,13 @@ namespace RE
828888

829889
[[nodiscard]] static decltype(auto) GetPickRef()
830890
{
831-
static REL::Relocation<ObjectRefHandle*> ref{ REL::ID(170742) };
891+
static REL::Relocation<ObjectRefHandle*> ref{ REL::ID(2701395) };
832892
return *ref;
833893
}
834894

835895
[[nodiscard]] static decltype(auto) GetPickRefs()
836896
{
837-
static REL::Relocation<BSTArray<ObjectRefHandle>*> pickRefs{ REL::ID(875116) };
897+
static REL::Relocation<BSTArray<ObjectRefHandle>*> pickRefs{ REL::ID(2701391) };
838898
return *pickRefs;
839899
}
840900

@@ -2180,6 +2240,33 @@ namespace RE
21802240
};
21812241
static_assert(sizeof(LockpickingMenu) == 0x1C0);
21822242

2243+
class __declspec(novtable) PauseMenu :
2244+
public StartMenuBase // 00
2245+
{
2246+
public:
2247+
static constexpr auto RTTI{ RTTI::PauseMenu };
2248+
static constexpr auto VTABLE{ VTABLE::PauseMenu };
2249+
static constexpr auto MENU_NAME{ "PauseMenu"sv };
2250+
2251+
// members
2252+
msvc::unique_ptr<BSGFxShaderFXTarget> helpTopicList; // 228
2253+
msvc::unique_ptr<BSGFxShaderFXTarget> helpPanelBrackets; // 230
2254+
msvc::unique_ptr<BSGFxShaderFXTarget> helpListBrackets; // 238
2255+
msvc::unique_ptr<BSGFxShaderFXTarget> helpText; // 240
2256+
msvc::unique_ptr<BSGFxShaderFXTarget> helpTitleText; // 248
2257+
msvc::unique_ptr<BSGFxShaderFXTarget> helpScrollUp; // 250
2258+
msvc::unique_ptr<BSGFxShaderFXTarget> helpScrollDown; // 258
2259+
Rumble::AutoRumblePause rumbleLock; // 260
2260+
bool hideScreen3D; // 261
2261+
bool modMenuShaderWasEnabled; // 262
2262+
bool vatsWasEnabled; // 263
2263+
bool vatsDepthTestMask; // 264
2264+
bool quitToMainMenuQueued; // 265
2265+
bool quitToDesktopQueued; // 266
2266+
bool noProfileSelected; // 267
2267+
};
2268+
static_assert(sizeof(PauseMenu) == 0x268);
2269+
21832270
class __declspec(novtable) SitWaitMenu :
21842271
public GameMenuBase // 00
21852272
{

CommonLibF4/include/RE/Bethesda/ImageSpaceData.h

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,24 @@ namespace RE
5959
};
6060
static_assert(sizeof(Tint) == 0x10);
6161

62+
struct DepthOfField // DNAM
63+
{
64+
public:
65+
// members
66+
float strength; // 00
67+
float distance; // 04
68+
float range; // 08
69+
float vignetteRadius; // 0C
70+
float vignetteStrength; // 10
71+
float mode; // 14
72+
};
73+
static_assert(sizeof(DepthOfField) == 0x18);
74+
6275
// members
63-
HDR hdrData; // 00
64-
Cinematic cinematicData; // 24
65-
Tint tintData; // 30
66-
float dofData[6]; // 40
76+
HDR hdrData; // 00
77+
Cinematic cinematicData; // 24
78+
Tint tintData; // 30
79+
DepthOfField dofData; // 40
6780
};
6881
static_assert(sizeof(ImageSpaceBaseData) == 0x58);
6982

@@ -82,7 +95,21 @@ namespace RE
8295
{
8396
public:
8497
// members
85-
float data[20]; // 00
98+
float fadeAmount; // 00
99+
float fadeR; // 04
100+
float fadeG; // 08
101+
float fadeB; // 0C
102+
float blurRadius; // 10
103+
float doubleVisionStrength; // 14
104+
float radiusBlurStrength; // 18
105+
float radiusBlurRampUp; // 1C
106+
float radiusBlurStart; // 20
107+
float radiusBlurRampDown; // 24
108+
float radiusBlurDownStart; // 28
109+
float radiusBlurCenterX; // 2C
110+
float radiusBlurCenterY; // 30
111+
ImageSpaceBaseData::DepthOfField depthOfField; // 34
112+
float motionBlurStrength; // 4C
86113
};
87114
static_assert(sizeof(ImageSpaceModData) == 0x50);
88115

0 commit comments

Comments
 (0)