Skip to content

Commit

Permalink
Misc RE
Browse files Browse the repository at this point in the history
  • Loading branch information
powerof3 committed Feb 15, 2024
1 parent 23abe97 commit 9024765
Show file tree
Hide file tree
Showing 10 changed files with 39 additions and 21 deletions.
1 change: 0 additions & 1 deletion include/RE/A/AIProcess.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ namespace RE
class Actor;
class bhkCharacterController;
class BipedAnim;
class HighProcess;
class NiAVObject;
class NiPoint3;
class TESForm;
Expand Down
1 change: 1 addition & 0 deletions include/RE/A/Actor.h
Original file line number Diff line number Diff line change
Expand Up @@ -583,6 +583,7 @@ namespace RE
[[nodiscard]] constexpr bool IsInKillMove() const noexcept { return boolFlags.all(BOOL_FLAGS::kIsInKillMove); }
bool IsInMidair() const;
bool IsInRagdollState() const;
bool IsLeveled() const;
bool IsLimbGone(std::uint32_t a_limb);
bool IsMoving() const;
bool IsOnMount() const;
Expand Down
7 changes: 7 additions & 0 deletions include/RE/B/BGSSaveLoadGame.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,13 @@ namespace RE
return *singleton;
}

bool GetChange(TESForm* a_form, std::uint32_t a_changes)
{
using func_t = decltype(&BGSSaveLoadGame::GetChange);
REL::Relocation<func_t> func{ RELOCATION_ID(34655, 35577) };
return func(this, a_form, a_changes);
}

// members
BSTArray<TESFile*> pluginList; // 000
BSTArray<void*> unk18; // 018
Expand Down
1 change: 1 addition & 0 deletions include/RE/D/DialogueMenu.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ namespace RE
{
public:
inline static constexpr auto RTTI = RTTI_DialogueMenu;
inline static constexpr auto VTABLE = VTABLE_DialogueMenu;
constexpr static std::string_view MENU_NAME = "Dialogue Menu";

struct Data
Expand Down
4 changes: 2 additions & 2 deletions include/RE/E/ExtraSayToTopicInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@ namespace RE

// members
TESTopic* topic; // 10
std::uint8_t unk18; // 18
bool voicePaused; // 18
std::uint8_t pad19; // 19
std::uint16_t pad1A; // 1A
float subtitleSpeechDelay; // 1C
BGSDialogueBranch* exclusiveBranch; // 20
BSSoundHandle unk28; // 28
BSSoundHandle sound; // 28
std::uint32_t pad34; // 34
DialogueItem* item; // 38
};
Expand Down
23 changes: 5 additions & 18 deletions include/RE/H/HighProcessData.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include "RE/B/BSTList.h"
#include "RE/B/BSTSmartPointer.h"
#include "RE/B/BSTTuple.h"
#include "RE/M/Movement.h"
#include "RE/N/NiPoint3.h"
#include "RE/N/NiSmartPointer.h"
#include "RE/P/PlayerCharacter.h"
Expand Down Expand Up @@ -207,23 +208,9 @@ namespace RE
ObjectRefHandle lastExtDoorActivated; // 0D8
float activationHeight; // 0DC
ActorHandle reanimateCaster; // 0E0
std::uint32_t unk0E4; // 0E4
std::uint32_t pad0E4; // 0E4
MagicItem* reanimateSpell; // 0E8
BSFixedString voiceSubtitle; // 0F0
float unk0F8; // 0F8
float unk0FC; // 0FC
float unk100; // 100
float unk104; // 104
float unk108; // 108
float unk10C; // 10C
float unk110; // 110
float unk114; // 114
float unk118; // 118
float unk11C; // 11C
float unk120; // 120
float unk124; // 124
float unk128; // 128
float unk12C; // 12C
Movement::TypeData currentMovementType; // 0F0
stl::enumeration<FADE_STATE, std::uint32_t> fadeState; // 130
float fadeAlpha; // 134
TESObjectREFR* fadeTrigger; // 138
Expand Down Expand Up @@ -262,7 +249,7 @@ namespace RE
Data208* unk208; // 208
std::uint32_t unk210; // 210
PLAYER_ACTION playerActionReaction; // 214
BSFixedString subtitle; // 218
BSFixedString voiceSubtitle; // 218
BSTArray<BSTTuple<FormID, NiPointer<ActorKnowledge>>> knowledgeArray; // 220
mutable BSReadWriteLock knowledgeLock; // 238
BSTArray<QueuedDialogueType*> queueofGreetings; // 240
Expand All @@ -281,7 +268,7 @@ namespace RE
float maxAlpha; // 2A0
float unk2A4; // 2A4
std::uint64_t unk2A8; // 2A8
float unk2B0; // 2B0 - fAISocialTimerForConversationsMin
float checkToTalkTimer; // 2B0 - fAISocialTimerForConversationsMin
std::uint32_t unk2B4; // 2B4
std::uint64_t unk2B8; // 2B8
std::uint64_t unk2C0; // 2C0
Expand Down
4 changes: 4 additions & 0 deletions include/RE/I/InputEvent.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ namespace RE
class ButtonEvent;
class CharEvent;
class IDEvent;
class MouseMoveEvent;

class InputEvent
{
Expand All @@ -41,6 +42,9 @@ namespace RE
[[nodiscard]] IDEvent* AsIDEvent();
[[nodiscard]] const IDEvent* AsIDEvent() const;

[[nodiscard]] MouseMoveEvent* AsMouseMoveEvent();
[[nodiscard]] const MouseMoveEvent* AsMouseMoveEvent() const;

// members
stl::enumeration<INPUT_DEVICE, std::uint32_t> device; // 08
stl::enumeration<INPUT_EVENT_TYPE, std::uint32_t> eventType; // 0C
Expand Down
1 change: 1 addition & 0 deletions include/RE/M/MenuTopicManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
namespace RE
{
class BGSDialogueBranch;
class DialogueResponse;
class MenuOpenCloseEvent;
class TESQuest;
class TESTopic;
Expand Down
7 changes: 7 additions & 0 deletions src/RE/A/Actor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -825,6 +825,13 @@ namespace RE
return func(this);
}

bool Actor::IsLeveled() const
{
using func_t = decltype(&Actor::IsLeveled);
REL::Relocation<func_t> func{ RELOCATION_ID(19824, 20229) };
return func(this);
}

bool Actor::IsLimbGone(std::uint32_t a_limb)
{
using func_t = decltype(&Actor::IsLimbGone);
Expand Down
11 changes: 11 additions & 0 deletions src/RE/I/InputEvent.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#include "RE/B/ButtonEvent.h"
#include "RE/C/CharEvent.h"
#include "RE/I/IDEvent.h"
#include "RE/M/MouseMoveEvent.h"

namespace RE
{
Expand Down Expand Up @@ -35,4 +36,14 @@ namespace RE
{
return HasIDCode() ? static_cast<const IDEvent*>(this) : nullptr;
}

MouseMoveEvent* InputEvent::AsMouseMoveEvent()
{
return GetEventType() == INPUT_EVENT_TYPE::kMouseMove ? static_cast<MouseMoveEvent*>(this) : nullptr;
}

const MouseMoveEvent* InputEvent::AsMouseMoveEvent() const
{
return GetEventType() == INPUT_EVENT_TYPE::kMouseMove ? static_cast<const MouseMoveEvent*>(this) : nullptr;
}
}

0 comments on commit 9024765

Please sign in to comment.