Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions include/RE/B/BGSPrimitive.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

namespace RE
{
class BGSPrimitiveLine;
class BSMultiBoundShape;
class BSFadeNode;

Expand Down Expand Up @@ -37,6 +38,13 @@ namespace RE
REX::TEnumSet<PRIMITIVE_TYPE, std::int32_t> type; // 08
NiPoint3 radii; // 0C
NiPointer<BSFadeNode> node; // 18

static BGSPrimitiveLine* CreateAbstract(PRIMITIVE_TYPE a_type, const NiPoint3* a_radii, const NiColorA* a_color)
{
using func_t = decltype(&BGSPrimitive::CreateAbstract);
static REL::Relocation<func_t> func{ ID::BGSPrimitive::CreateAbstract };
return func(a_type, a_radii, a_color);
}
};
static_assert(sizeof(BGSPrimitive) == 0x20);
}
17 changes: 17 additions & 0 deletions include/RE/B/BSShaderUtil.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#pragma once

namespace RE
{
class NiAvObject;
class NiSwitchNode;

namespace BSShaderUtil
{
inline void SetMaterialAlpha(NiAvObject* a_object, float a_alpha, bool a_onlyFade)
{
using func_t = decltype(&BSShaderUtil::SetMaterialAlpha);
static REL::Relocation<func_t> func{ ID::BSShaderUtil::SetMaterialAlpha };
return func(a_object, a_alpha, a_onlyFade);
}
}
}
4 changes: 2 additions & 2 deletions include/RE/E/EXTRA_DATA_TYPE.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@ namespace RE
kBiped, //
kUsedMarkers, //
kDistantData, //
kRagdollData, //
kRagdollData, // ExtraRagDollData
kCellPrevisRefs, //
kInitActions, //
kEssentialProtected, //
kPackagesStartLoc, //
kPackage, //
kTrespassPackage, //
kTresPassPackage, // ExtraTresPassPackage
kRunOncePackages, //
kReferenceHandle, // ExtraReferenceHandles
kFollower, //
Expand Down
20 changes: 20 additions & 0 deletions include/RE/E/ExtraRagDollData.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#pragma once

#include "RE/B/BSExtraData.h"
#include "RE/R/RagDollData.h"

namespace RE
{
class __declspec(novtable) ExtraRagDolldata :
public BSExtraData // 00
{
public:
static constexpr auto RTTI{ RTTI::ExtraRagDollData };
static constexpr auto VTABLE{ VTABLE::ExtraRagDollData };
static constexpr auto TYPE{ EXTRA_DATA_TYPE::kRagdollData };

// members
RagDollData* ragDollData; // 18
};
static_assert(sizeof(ExtraRagDolldata) == 0x20);
}
20 changes: 20 additions & 0 deletions include/RE/E/ExtraTresPassPackage.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#pragma once

#include "RE/B/BSExtraData.h"
#include "RE/T/TrespassPackage.h"

namespace RE
{
class __declspec(novtable) ExtraTresPassPackage :
public BSExtraData // 00
{
public:
static constexpr auto RTTI{ RTTI::ExtraTresPassPackage };
static constexpr auto VTABLE{ VTABLE::ExtraTresPassPackage };
static constexpr auto TYPE{ EXTRA_DATA_TYPE::kTresPassPackage };

// members
TrespassPackage* pack; // 18
};
static_assert(sizeof(ExtraTresPassPackage) == 0x20);
}
7 changes: 7 additions & 0 deletions include/RE/Fallout.h
Original file line number Diff line number Diff line change
Expand Up @@ -443,6 +443,7 @@
#include "RE/B/BSShaderPropertyLightData.h"
#include "RE/B/BSShaderTechniqueIDMap.h"
#include "RE/B/BSShaderTextureSet.h"
#include "RE/B/BSShaderUtil.h"
#include "RE/B/BSSimpleList.h"
#include "RE/B/BSSoundHandle.h"
#include "RE/B/BSSpinLock.h"
Expand Down Expand Up @@ -666,10 +667,12 @@
#include "RE/E/ExtraRadioData.h"
#include "RE/E/ExtraRadioReceiver.h"
#include "RE/E/ExtraRadioRepeater.h"
#include "RE/E/ExtraRagDollData.h"
#include "RE/E/ExtraReferenceHandles.h"
#include "RE/E/ExtraStartingWorldOrCell.h"
#include "RE/E/ExtraTeleport.h"
#include "RE/E/ExtraTextDisplayData.h"
#include "RE/E/ExtraTresPassPackage.h"
#include "RE/E/ExtraUniqueID.h"
#include "RE/F/FACTION_CRIME_DATA.h"
#include "RE/F/FACTION_CRIME_DATA_VALUES.h"
Expand Down Expand Up @@ -1013,6 +1016,8 @@
#include "RE/P/PerkValueEvents.h"
#include "RE/P/PersistentPassList.h"
#include "RE/P/PipboyArray.h"
#include "RE/P/PipboyCommand.h"
#include "RE/P/PipboyCommandResult.h"
#include "RE/P/PipboyDataGroup.h"
#include "RE/P/PipboyDataManager.h"
#include "RE/P/PipboyHolotapeMenu.h"
Expand Down Expand Up @@ -1136,6 +1141,8 @@
#include "RE/S/SceneGraph.h"
#include "RE/S/ScrapHeap.h"
#include "RE/S/ScrapItemCallback.h"
#include "RE/S/ScreenSplatter.h"
#include "RE/S/ScreenSplatterType.h"
#include "RE/S/ScreenshotHandler.h"
#include "RE/S/Script.h"
#include "RE/S/ScriptCompileData.h"
Expand Down
44 changes: 44 additions & 0 deletions include/RE/IDs.h
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,11 @@ namespace RE::ID
inline constexpr REL::ID ctor{ 2214021 };
}

namespace BGSPrimitive
{
inline constexpr REL::ID CreateAbstract{ 2194290 };
}

namespace BGSProjectile
{
inline constexpr REL::ID CollidesWithSmallTransparentLayer{ 2197620 };
Expand Down Expand Up @@ -713,6 +718,11 @@ namespace RE::ID
inline constexpr REL::ID CreateObject{ 2316324 };
}

namespace BSShaderUtil
{
inline constexpr REL::ID SetMaterialAlpha{ 2317566 };
}

namespace BSSoundHandle
{
inline constexpr REL::ID FadeInPlay{ 2267075 };
Expand Down Expand Up @@ -866,6 +876,7 @@ namespace RE::ID
inline constexpr REL::ID GetPickRef{ 2701395 };
inline constexpr REL::ID GetPickRefs{ 2701391 };
inline constexpr REL::ID SetCurrentPickREFR{ 2248551 };
inline constexpr REL::ID DisplayRef{ 2248550 };
}

namespace ConsoleLog
Expand Down Expand Up @@ -1223,6 +1234,7 @@ namespace RE::ID
namespace LockpickingMenu
{
inline constexpr REL::ID OpenLockpickingMenu{ 2249263 };
inline constexpr REL::ID SendLockInfoToMenu{ 2249267 };
}

namespace LocksPicked
Expand All @@ -1246,6 +1258,11 @@ namespace RE::ID
inline constexpr REL::ID SetCameraFOV{ 2228973 };
}

namespace MapMarkerData
{
inline constexpr REL::ID GetLocationName{ 2191791 };
}

namespace MemoryManager
{
namespace AutoScrapBuffer
Expand Down Expand Up @@ -1638,6 +1655,12 @@ namespace RE::ID
inline constexpr REL::ID ShowBuildFailureMessage{ 2224322 };
}

namespace PowerUtils
{
inline constexpr REL::ID ItemIsPowerConnection{ 2195078 };
inline constexpr REL::ID ItemIsPowerReceiver{ 2195060 };
}

namespace ProcessLists
{
inline constexpr REL::ID Singleton{ 4796160 };
Expand All @@ -1648,9 +1671,12 @@ namespace RE::ID

namespace REFR_LOCK
{
inline constexpr REL::ID GetLevel{ 2191019 };
inline constexpr REL::ID GetLockLevel{ 2191018 };
inline constexpr REL::ID SetLocked{ 2191020 };
inline constexpr REL::ID IsBroken{ 2191021 };
inline constexpr REL::ID NumericValueToEnum{ 2191023 };
inline constexpr REL::ID IsInaccessible{ 2191022 };
}

namespace SavefileMetadata
Expand All @@ -1664,6 +1690,12 @@ namespace RE::ID
inline constexpr REL::ID Deallocate{ 2267984 };
}

namespace ScreenSplatter
{
inline constexpr REL::ID Clear{ 2194783 };
inline constexpr REL::ID Update{ 2194781 };
}

namespace SCRIPT_FUNCTION
{
inline constexpr REL::ID ConsoleFunctions{ 901511 };
Expand Down Expand Up @@ -1968,6 +2000,17 @@ namespace RE::ID
inline constexpr REL::ID DefaultWater{ 4799138 };
}

namespace TESObjectCONT
{
inline constexpr REL::ID GetActivateText{ 2198653 };
}

namespace TESObjectDOOR
{
inline constexpr REL::ID GetActivateText{ 2198690 };
inline constexpr REL::ID CalculateDoFavor{ 2198692 };
}

namespace TESObjectLoadedEvent
{
inline constexpr REL::ID GetEventSource{ 2201853 };
Expand Down Expand Up @@ -2015,6 +2058,7 @@ namespace RE::ID
inline constexpr REL::ID UpdateDynamicNavmesh{ 2201206 };
inline constexpr REL::ID GetMapMarkerData{ 2202644 };
inline constexpr REL::ID GetRelevantWaterHeight{ 2201189 };
inline constexpr REL::ID CanBeMoved{ 2200898 };
}

namespace TESObjectWEAP
Expand Down
7 changes: 7 additions & 0 deletions include/RE/M/MapMarkerData.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ namespace RE
class __declspec(novtable) MapMarkerData :
public TESFullName // 00
{
const char* GetLocationName()
{
using func_t = decltype(&MapMarkerData::GetLocationName);
static REL::Relocation<func_t> func{ ID::MapMarkerData::GetLocationName };
return func(this);
}

std::uint8_t flags; // 10
std::uint8_t originalFlags; // 11
MARKER_TYPE type; // 12
Expand Down
26 changes: 26 additions & 0 deletions include/RE/P/PipboyCommand.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#pragma once

namespace RE
{
class PipboyCommandResult;

class __declspec(novtable) PipboyCommand
{
public:
static constexpr auto RTTI{ RTTI::PipboyCommand };
static constexpr auto VTABLE{ VTABLE::PipboyCommand };

// add
virtual ~PipboyCommand(); // 00
virtual void Init(Json::Value* a_json) = 0; // 01
virtual const PipboyCommandResult* DoValidate(); // 02
virtual const PipboyCommandResult* DoExecute(); // 03

// members
const std::uint32_t id; // 08
const PipboyCommandResult* validationResult; // 10
const PipboyCommandResult* executionResult; // 18
bool isReadonOnly; // 20
};
static_assert(sizeof(PipboyCommand) == 0x28);
}
21 changes: 21 additions & 0 deletions include/RE/P/PipboyCommandResult.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#pragma once

namespace RE
{
class __declspec(novtable) PipboyCommandResult
{
public:
static constexpr auto RTTI{ RTTI::PipboyCommandResult };
static constexpr auto VTABLE{ VTABLE::PipboyCommandResult };

// add
virtual ~PipboyCommandResult(); // 00
virtual void Serialize(Json::Value* a_json) = 0; // 01

// members
const std::uint32_t commandID; // 08
const bool succeeded; // 0C
const bool shouldReply; // 0D
};
static_assert(sizeof(PipboyCommandResult) == 0x10);
}
24 changes: 24 additions & 0 deletions include/RE/P/PowerUtils.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,30 @@ namespace RE
float load{ 0.0 }; // 6C
};
static_assert(sizeof(PowerGrid) == 0x70);

class TraverseConnectionsOptions
{
public:
// members
std::uint32_t ignoreMode; // 00
bool wiredOnly; // 04
bool inputsOnly; // 05
};
static_assert(sizeof(TraverseConnectionsOptions) == 0x8);

bool ItemIsPowerConnection(const TESObjectREFR* refr)
{
using func_t = decltype(&PowerUtils::ItemIsPowerConnection);
static REL::Relocation<func_t> func{ ID::PowerUtils::ItemIsPowerConnection };
return func(refr);
}

bool ItemIsPowerReceiver(const TESObjectREFR* refr)
{
using func_t = decltype(&PowerUtils::ItemIsPowerReceiver);
static REL::Relocation<func_t> func{ ID::PowerUtils::ItemIsPowerReceiver };
return func(refr);
}
}

template <>
Expand Down
7 changes: 7 additions & 0 deletions include/RE/R/REFR_LOCK.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@ namespace RE
return func(this);
}

[[nodiscard]] static LOCK_LEVEL NumericValueToEnum(std::int32_t a_value)
{
using func_t = decltype(&REFR_LOCK::NumericValueToEnum);
static REL::Relocation<func_t> func{ ID::REFR_LOCK::NumericValueToEnum };
return func(a_value);
}

// members
std::uint8_t baseLevel; // 00
TESKey* key; // 08
Expand Down
30 changes: 30 additions & 0 deletions include/RE/S/ScreenSplatter.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#pragma once

namespace RE
{
class NiCamera;

namespace ScreenSplatter
{
enum class SCREENSPLATTER_TEXTURES : std::uint32_t
{
kColor = 0x0,
kAlpha = 0x1,
kFlare = 0x2,
};

inline void Clear()
{
using func_t = decltype(&ScreenSplatter::Clear);
static REL::Relocation<func_t> func{ ID::ScreenSplatter::Clear };
return func();
}

inline void Update()
{
using func_t = decltype(&ScreenSplatter::Update);
static REL::Relocation<func_t> func{ ID::ScreenSplatter::Update };
return func();
}
}
}
Loading
Loading