-
Notifications
You must be signed in to change notification settings - Fork 37
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: a lot of additions, some 1.10.31.0 updates
Updated the following classes for 1.10.31.0: Size, members & offset comments verified: - BSTEventSourceLazyInit - TESObjectREFR Only size verified: - Actor - PlayerCharacter - Projectile & all classes that derive from Projectile - Hazard (Other classes were updated in 1.10.31.0, this is only a partial update.) - Added BGSSaveLoadManager - Added BSInputEnableLayer - Added BSInputEnableManager - Added InputEvent - Added BSTScatterTable - Added a functional implementation of IMenu - Added a functional implementation of GameMenuBase - Added Main - Added NiAVObject - Added NiBound - Added NiCamera - Added additional operators & Transpose() to NiMatrix3 - Added additional operators to NiPoint4 - Added NiQuaternion - Added additional operators & Inverse() to NiTransform - Corrected a flaw in ScaleformGFxValue that could result in dangling pointers. - Added ScaleformMemoryHeap - Added IsMenuRegistered() and RegisterMenu() to UI - Added UIMessageQueue
- Loading branch information
Showing
37 changed files
with
2,140 additions
and
111 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
#pragma once | ||
|
||
namespace RE | ||
{ | ||
class BGSSaveLoadManager | ||
{ | ||
static BGSSaveLoadManager* GetSingleton() | ||
{ | ||
static REL::Relocation<BGSSaveLoadManager**> singleton{ REL::ID(880997) }; | ||
return *singleton; | ||
} | ||
|
||
bool DeleteSaveFile(const char* a_filename, void* a_unk1, bool a_unk2) | ||
{ | ||
using func_t = decltype(&BGSSaveLoadManager::DeleteSaveFile); | ||
REL::Relocation<func_t> func{ REL::ID(147844) }; | ||
return func(this, a_filename, a_unk1, a_unk2); | ||
} | ||
}; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
#pragma once | ||
|
||
#include "RE/B/BSInputEnableManager.h" | ||
|
||
namespace RE | ||
{ | ||
struct BSInputEnableLayer | ||
{ | ||
enum UserFlag | ||
{ | ||
Walking = (1 << 0), | ||
Looking = (1 << 1), | ||
Activation = (1 << 2), //Unconfirmed | ||
TabMenuMaybe = (1 << 3), //Unconfirmed | ||
Console = (1 << 4), //Unconfirmed | ||
POVSwitch = (1 << 5), //Unconfirmed | ||
Fighting = (1 << 6), | ||
Sneaking = (1 << 7), | ||
Menu = (1 << 8), | ||
WheelZoom = (1 << 9), //Unconfirmed | ||
Jumping = (1 << 10), | ||
Movement = Walking | Jumping, | ||
}; | ||
|
||
enum OtherFlag | ||
{ | ||
Journal = (1 << 0), | ||
Activate = (1 << 1), | ||
FastTravel = (1 << 2), | ||
CamSwitch = (1 << 3), | ||
VATS = (1 << 4), | ||
Favorites = (1 << 5), | ||
PipboyLight = (1 << 6), //Unconfirmed | ||
ZKey = (1 << 7), | ||
Running = (1 << 8), | ||
Unk = (1 << 9), //?? | ||
Sprinting = (1 << 10), | ||
HandScanner = (1 << 11), | ||
Takeoff = (1 << 12), | ||
Inventory = (1 << 13), | ||
Gravjump = (1 << 14), | ||
FarTravel = (1 << 15), | ||
LocationDiscovery = (1 << 16), | ||
Others = HandScanner | Takeoff | Inventory | Gravjump | FarTravel, | ||
}; | ||
|
||
uint32_t index; | ||
uint32_t state; | ||
uint64_t unk08; | ||
uint64_t unk10; | ||
uint64_t unk18; | ||
|
||
uint64_t SetUserFlags(uint64_t flags, bool enabled) | ||
{ | ||
using func_t = decltype(&BSInputEnableLayer::SetUserFlags); | ||
REL::Relocation<func_t> func(REL::ID(106486)); | ||
return func(this, flags, enabled); | ||
} | ||
|
||
uint64_t SetOtherFlags(uint64_t flags, bool enabled) | ||
{ | ||
using func_t = decltype(&BSInputEnableLayer::SetOtherFlags); | ||
REL::Relocation<func_t> func(REL::ID(109447)); | ||
return func(this, flags, enabled); | ||
} | ||
}; | ||
|
||
class InputEnableLayer | ||
{ | ||
public: | ||
InputEnableLayer() {} | ||
|
||
InputEnableLayer(const char* layerName) | ||
{ | ||
Create(layerName); | ||
} | ||
|
||
~InputEnableLayer() | ||
{ | ||
Free(); | ||
} | ||
|
||
bool Create(const char* layerName) | ||
{ | ||
bool result = true; | ||
if (!data) { | ||
result = BSInputEnableManager::GetSingleton()->CreateLayer(this, layerName); | ||
if (!result) | ||
data = nullptr; | ||
} | ||
return result; | ||
} | ||
|
||
bool Free() | ||
{ | ||
bool result = true; | ||
if (data) { | ||
using func_t = decltype(&InputEnableLayer::Free); | ||
REL::Relocation<func_t> func(REL::ID(36626)); | ||
result = func(this); | ||
data = nullptr; | ||
} | ||
return result; | ||
} | ||
|
||
void SetUserFlags(uint64_t flags, bool enabled) | ||
{ | ||
if (data) | ||
data->SetUserFlags(flags, enabled); | ||
} | ||
|
||
void SetOtherFlags(uint64_t flags, bool enabled) | ||
{ | ||
if (data) | ||
data->SetOtherFlags(flags, enabled); | ||
} | ||
|
||
BSInputEnableLayer* data{ nullptr }; | ||
}; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
#pragma once | ||
|
||
namespace RE | ||
{ | ||
class InputEnableLayer; | ||
|
||
class BSInputEnableManager | ||
{ | ||
public: | ||
virtual ~BSInputEnableManager() = 0; | ||
|
||
static BSInputEnableManager* GetSingleton() | ||
{ | ||
REL::Relocation<BSInputEnableManager**> singleton{ REL::ID(878792) }; | ||
return *singleton; | ||
} | ||
|
||
bool CreateLayer(InputEnableLayer* a_layer, const char* a_layerName) | ||
{ | ||
using func_t = decltype(&BSInputEnableManager::CreateLayer); | ||
REL::Relocation<func_t> func(REL::ID(179101)); | ||
return func(this, a_layer, a_layerName); | ||
} | ||
}; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.