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
2 changes: 1 addition & 1 deletion include/RE/A/AIProcess.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
#include "RE/B/BSPointerHandle.h"
#include "RE/B/BSSimpleList.h"
#include "RE/D/DEFAULT_OBJECT.h"
#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"

namespace RE
{
Expand Down
38 changes: 19 additions & 19 deletions include/RE/A/ActiveEffect.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ namespace RE

namespace MagicSystem
{
enum class CastingSource;
enum class CastingSource : std::int32_t;
}

class __declspec(novtable) ActiveEffect :
Expand Down Expand Up @@ -47,7 +47,7 @@ namespace RE

enum class ConditionStatus : std::uint32_t
{
kNotAvailable = static_cast<std::underlying_type_t<ConditionStatus>>(-1),
kNotAvailable = 0xFFFFFFFF,
kFalse = 0,
kTrue = 1
};
Expand All @@ -62,23 +62,23 @@ namespace RE
}

// members
ActiveEffectReferenceEffectController hitEffectController; // 0C
BSSoundHandle persistentSound; // 30
ActorHandle caster; // 38
NiPointer<NiNode> sourceNode; // 40
MagicItem* spell; // 48
EffectItem* effect; // 50
MagicTarget* target; // 58
TESBoundObject* source; // 60
BSSimpleList<ReferenceEffect*>* hitEffects; // 68
MagicItem* displacementSpell; // 70
float elapsedSeconds; // 74
float duration; // 78
float magnitude; // 7C
REX::TEnumSet<Flags, std::uint32_t> flags; // 80
REX::TEnumSet<ConditionStatus, std::uint32_t> conditionStatus; // 84
std::uint16_t uniqueID; // 8C
REX::TEnumSet<MagicSystem::CastingSource, std::uint32_t> castingSource; // 90
ActiveEffectReferenceEffectController hitEffectController; // 0C
BSSoundHandle persistentSound; // 30
ActorHandle caster; // 38
NiPointer<NiNode> sourceNode; // 40
MagicItem* spell; // 48
EffectItem* effect; // 50
MagicTarget* target; // 58
TESBoundObject* source; // 60
BSSimpleList<ReferenceEffect*>* hitEffects; // 68
MagicItem* displacementSpell; // 70
float elapsedSeconds; // 74
float duration; // 78
float magnitude; // 7C
REX::TEnumSet<Flags, std::uint32_t> flags; // 80
ConditionStatus conditionStatus; // 84
std::uint16_t uniqueID; // 8C
MagicSystem::CastingSource castingSource; // 90
};
static_assert(sizeof(ActiveEffect) == 0x98);
}
2 changes: 1 addition & 1 deletion include/RE/A/ActiveEffectReferenceEffectController.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#include "RE/B/BSFixedString.h"
#include "RE/B/BSPointerHandle.h"
#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"
#include "RE/R/ReferenceEffectController.h"

namespace RE
Expand Down
2 changes: 1 addition & 1 deletion include/RE/A/Actor.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#include "RE/I/IPostAnimationChannelUpdateFunctor.h"
#include "RE/M/MagicTarget.h"
#include "RE/M/Modifiers.h"
#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"
#include "RE/N/NiTFlags.h"
#include "RE/O/ObjectEquipParams.h"
#include "RE/S/SEX.h"
Expand Down
2 changes: 1 addition & 1 deletion include/RE/A/ActorMotionFeedbackData.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"

namespace RE
{
Expand Down
2 changes: 1 addition & 1 deletion include/RE/A/AimModel.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#include "RE/B/BGSAimModel.h"
#include "RE/B/BSSpring_SpringState.h"
#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint2.h"

namespace RE
{
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BGSCharacterMorph.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#include "RE/B/BSFixedString.h"
#include "RE/B/BSTArray.h"
#include "RE/B/BSTHashMap.h"
#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"

namespace RE
{
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BGSExplosionData.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"

namespace RE
{
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BGSPrimitive.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once

#include "RE/N/NiColor.h"
#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"
#include "RE/N/NiPointer.h"

namespace RE
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BGSStaticCollection.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#include "RE/B/BGSModelMaterialSwap.h"
#include "RE/B/BSSimpleList.h"
#include "RE/B/BSTHashMap.h"
#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"
#include "RE/T/TESBoundObject.h"

namespace RE
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BGSTransform.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"
#include "RE/T/TESForm.h"

namespace RE
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BGSZoomData.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"
#include "RE/T/TESForm.h"

namespace RE
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BIPED_OBJECT.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

namespace RE
{
enum class BIPED_OBJECT
enum class BIPED_OBJECT : std::int32_t
{
kNone = static_cast<std::underlying_type_t<BIPED_OBJECT>>(-1),
kHairTop = 0,
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BSAudioManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#include "RE/B/BSSoundHandle.h"
#include "RE/B/BSTArray.h"
#include "RE/B/BSTHashMap.h"
#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"
#include "RE/N/NiPointer.h"

namespace RE
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BSBound.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once

#include "RE/N/NiExtraData.h"
#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"

namespace RE
{
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BSFurnitureMarker.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"

namespace RE
{
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BSGraphics.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#include "RE/B/BSTAtomicValue.h"
#include "RE/B/BSTHashMap.h"
#include "RE/N/NiColor.h"
#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint4.h"
#include "RE/N/NiPointer.h"
#include "RE/N/NiRect.h"
#include "RE/N/NiTexture.h"
Expand Down
50 changes: 50 additions & 0 deletions include/RE/B/BSHavok.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#pragma once

#include "RE/H/hkTransform.h"
#include "RE/N/NiTransform.h"

namespace RE
{
constexpr auto HK_TO_BS_SCALE{ 69.99125F };
constexpr auto BS_TO_HK_SCALE{ 0.0142875F };

template <class T1, class T2>
constexpr T1 HK_TO_NI(const T2& a_hk) noexcept
{
if constexpr (std::is_same_v<T1, NiPoint3> && std::is_same_v<T2, hkVector4f>) {
return NiPoint3(a_hk.x, a_hk.y, a_hk.z) * HK_TO_BS_SCALE;
} else if constexpr (std::is_same_v<T1, NiPoint3A> && std::is_same_v<T2, hkVector4f>) {
return NiPoint3A(a_hk.x, a_hk.y, a_hk.z) * HK_TO_BS_SCALE;
} else if constexpr (std::is_same_v<T1, NiPoint4> && std::is_same_v<T2, hkVector4f>) {
return NiPoint4(a_hk.x, a_hk.y, a_hk.z, a_hk.w) * HK_TO_BS_SCALE;
} else if constexpr (std::is_same_v<T1, NiMatrix3> && (std::is_same_v<T2, hkMatrix3f> || std::is_same_v<T2, hkRotationf>)) {
NiMatrix3 ni;
ni[0] = { a_hk[0][0], a_hk[1][0], a_hk[2][0], 0.0F };
ni[1] = { a_hk[0][1], a_hk[1][1], a_hk[2][1], 0.0F };
ni[2] = { a_hk[0][2], a_hk[1][2], a_hk[2][2], 0.0F };
return ni;
} else if constexpr (std::is_same_v<T1, NiTransform> && std::is_same_v<T2, hkTransform>) {
return NiTransform(HK_TO_NI<NiMatrix3>(a_hk.m_rotation), HK_TO_NI<NiPoint3>(a_hk.m_translation));
}
}

template <class T1, class T2>
constexpr T1 NI_TO_HK(const T2& a_ni) noexcept
{
if constexpr (std::is_same_v<T1, hkVector4f> && std::is_same_v<T2, NiPoint3>) {
return hkVector4f(a_ni.x, a_ni.y, a_ni.z, 0.0F) * BS_TO_HK_SCALE;
} else if constexpr (std::is_same_v<T1, hkVector4f> && std::is_same_v<T2, NiPoint3A>) {
return hkVector4f(a_ni.x, a_ni.y, a_ni.z, 0.0F) * BS_TO_HK_SCALE;
} else if constexpr (std::is_same_v<T1, hkVector4f> && std::is_same_v<T2, NiPoint4>) {
return hkVector4f(a_ni.x, a_ni.y, a_ni.z, a_ni.w) * BS_TO_HK_SCALE;
} else if constexpr ((std::is_same_v<T1, hkMatrix3f> || std::is_same_v<T1, hkRotationf>) && std::is_same_v<T2, NiMatrix3>) {
hkMatrix3f hk;
hk[0] = { a_ni[0][0], a_ni[1][0], a_ni[2][0], 0.0F };
hk[1] = { a_ni[0][1], a_ni[1][1], a_ni[2][1], 0.0F };
hk[2] = { a_ni[0][2], a_ni[1][2], a_ni[2][2], 0.0F };
return hk;
} else if constexpr (std::is_same_v<T1, hkTransform> && std::is_same_v<T2, NiTransform>) {
return hkTransform(NI_TO_HK<hkMatrix3f>(a_ni.rotate), NI_TO_HK<hkVector4f>(a_ni.translate));
}
}
}
2 changes: 1 addition & 1 deletion include/RE/B/BSLensFlareSpriteData.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include "RE/N/NiPoint.h"
#include "RE/N/NiColor.h"

namespace RE
{
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BSMaterialObject.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once

#include "RE/B/BSTArray.h"
#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"
#include "RE/N/NiPointer.h"

namespace RE
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BSNavmeshGrid.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once

#include "RE/B/BSTArray.h"
#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"

namespace RE
{
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BSNavmeshTriLocation.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once

#include "RE/B/BSNavmeshTriHandle.h"
#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"

namespace RE
{
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BSNavmeshVertex.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"

namespace RE
{
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BSNavmeshWaypoint.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"

namespace RE
{
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BSOcclusionBox.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#include "RE/B/BSOcclusionShape.h"
#include "RE/N/NiFrustumPlanes.h"
#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"

namespace RE
{
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BSPathingAvoidNode.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"

namespace RE
{
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BSPathingFaceTarget.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"

namespace RE
{
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BSPathingGoal.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once

#include "RE/B/BSPathingLocation.h"
#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"

namespace RE
{
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BSPathingLocation.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#include "RE/B/BSTArray.h"
#include "RE/B/BSTSmartPointer.h"
#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"

namespace RE
{
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BSShaderAccumulator.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#include "RE/B/BSShaderManager.h"
#include "RE/N/NiAlphaAccumulator.h"
#include "RE/N/NiColor.h"
#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"
#include "RE/N/NiPointer.h"
#include "RE/S/SunOcclusionTest.h"

Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BSShaderData.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#include "RE/B/BSTArray.h"
#include "RE/N/NiAlphaProperty.h"
#include "RE/N/NiColor.h"
#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint2.h"
#include "RE/N/NiPointer.h"

namespace RE
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BSShaderManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#include "RE/B/BSGeometry.h"
#include "RE/N/NiColor.h"
#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint3.h"
#include "RE/N/NiPointer.h"
#include "RE/N/NiTexture.h"
#include "RE/N/NiTransform.h"
Expand Down
2 changes: 1 addition & 1 deletion include/RE/B/BSShaderMaterial.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once

#include "RE/B/BSIntrusiveRefCounted.h"
#include "RE/N/NiPoint.h"
#include "RE/N/NiPoint2.h"

namespace RE
{
Expand Down
Loading
Loading