Skip to content

Commit

Permalink
Update TESObjectREFR classes
Browse files Browse the repository at this point in the history
  • Loading branch information
powerof3 committed Aug 18, 2024
1 parent ceea50f commit 2621fd7
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 70 deletions.
53 changes: 27 additions & 26 deletions include/RE/E/Explosion.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#pragma once

#include "RE/B/BSResourceHandle.h"
#include "RE/B/BSSoundHandle.h"
#include "RE/F/FormTypes.h"
#include "RE/M/MagicSystem.h"
Expand Down Expand Up @@ -51,32 +52,32 @@ namespace RE
virtual void FindTargets(); // A4

// members
std::uint64_t unk98; // 098
float startKeyTime; // 0A0
float endKeyTime; // 0A4
float hitKeyTime; // 0A8
float radius; // 0AC
float imodRadius; // 0B0
float unkB4; // 0B4
bhkSimpleShapePhantom* unkB8; // 0B8
std::uint64_t unkC0; // 0C0
std::uint64_t unkC8; // 0C8
BSSoundHandle sound01; // 0D0
BSSoundHandle sound02; // 0DC
NiPointer<NiPointLight> light; // 0E8
ActorHandle actorOwner; // 0F0
ActorHandle unkF4; // 0F4
std::uint32_t unkF8; // 0F8
std::uint32_t padFC; // 0FC
NiPointer<ActorCause> actorCause; // 100
NonActorMagicCaster* magicCaster; // 108
TESObjectWEAP* weaponSource; // 110
std::uint32_t unk118; // 118
NiPoint3 unk11C; // 11C
NiPoint3 negativeVelocity; // 128
float damage; // 134
float unk138; // 138
stl::enumeration<Flags, std::uint32_t> flags; // 13C
ModelDBHandle explosionDBHandle; // 098
float startKeyTime; // 0A0
float endKeyTime; // 0A4
float hitKeyTime; // 0A8
float radius; // 0AC
float imodRadius; // 0B0
float unkB4; // 0B4
bhkSimpleShapePhantom* unkB8; // 0B8
std::uint64_t unkC0; // 0C0
std::uint64_t unkC8; // 0C8
BSSoundHandle sound01; // 0D0
BSSoundHandle sound02; // 0DC
NiPointer<NiPointLight> light; // 0E8
ActorHandle actorOwner; // 0F0
ActorHandle unkF4; // 0F4
std::uint32_t unkF8; // 0F8
std::uint32_t padFC; // 0FC
NiPointer<ActorCause> actorCause; // 100
NonActorMagicCaster* magicCaster; // 108
TESObjectWEAP* weaponSource; // 110
std::uint32_t unk118; // 118
NiPoint3 unk11C; // 11C
NiPoint3 negativeVelocity; // 128
float damage; // 134
float unk138; // 138
stl::enumeration<Flags, std::uint32_t> flags; // 13C
};
#ifndef SKYRIM_SUPPORT_AE
static_assert(sizeof(Explosion) == 0x140);
Expand Down
3 changes: 2 additions & 1 deletion include/RE/H/Hazard.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#pragma once

#include "RE/B/BSPointerHandle.h"
#include "RE/B/BSResourceHandle.h"
#include "RE/B/BSSoundHandle.h"
#include "RE/F/FormTypes.h"
#include "RE/N/NiSmartPointer.h"
Expand Down Expand Up @@ -47,7 +48,7 @@ namespace RE
virtual bool IsPermanent() const; // A4 - { return TESDataHandler::GetSingleton()->IsGeneratedFormID(formID) == 0; }

// members
void* hazardDBHandle; // 98
ModelDBHandle hazardDBHandle; // 98
ActorHandle ownerActor; // A0
float age; // A4
float lifetime; // A8
Expand Down
87 changes: 44 additions & 43 deletions include/RE/P/Projectile.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#include "RE/B/BGSProjectile.h"
#include "RE/B/BSAtomic.h"
#include "RE/B/BSPointerHandle.h"
#include "RE/B/BSResourceHandle.h"
#include "RE/B/BSSoundHandle.h"
#include "RE/B/BSTList.h"
#include "RE/B/BSTSingleton.h"
Expand Down Expand Up @@ -235,49 +236,49 @@ namespace RE
static ProjectileHandle* LaunchArrow(ProjectileHandle* a_result, Actor* a_shooter, TESAmmo* a_ammo, TESObjectWEAP* a_weap) noexcept;

// members
BSSimpleList<ImpactData*> impacts; // 098
NiTransform unk0A8; // 0A8
float unk0DC; // 0DC
bhkSimpleShapePhantom* unk0E0; // 0E0 - smart ptr
mutable BSSpinLock unk0E8; // 0E8
NiPoint3 velocity; // 0F0
NiPoint3 linearVelocity; // 0FC
NiPointer<BSLight> light; // 108 - smart ptr
void* unk110; // 110 - smart ptr
NiPointer<ActorCause> actorCause; // 118
ObjectRefHandle shooter; // 120
ObjectRefHandle desiredTarget; // 124
BSSoundHandle sndHandle; // 128
BSSoundHandle sndCountdown; // 134
std::uint32_t* unk140; // 140
InventoryEntryData* unk148; // 148
BGSExplosion* explosion; // 150
MagicItem* spell; // 158
MagicSystem::CastingSource castingSource; // 160
std::uint32_t pad164; // 164
EffectSetting* avEffect; // 168
NiPointer<QueuedFile> projectileDBFiles; // 170
std::uint64_t unk178; // 178 - DBHandle
std::uint64_t unk180; // 180
float power; // 188
float speedMult; // 18C
float range; // 190
float livingTime; // 194
float weaponDamage; // 198
float transparency; // 19C - for beam disappearing
float ExplosionTimer; // 1A0
std::uint32_t unk1A4; // 1A4
float unk1A8; // 1A8 - 0.0f
float unk1AC; // 1AC - 0.0f
TESObjectWEAP* weaponSource; // 1B0
TESAmmo* ammoSource; // 1B8
float distanceMoved; // 1C0
std::uint32_t pad_1C4; // 1C4
float scale; // 1C8 - for double cast model scale
stl::enumeration<Flags, std::uint32_t> flags; // 1CC
bool unk1D0; // 1D0
bool unk1D1; // 1D0
char unk1D2[6]; // 1D2
BSSimpleList<ImpactData*> impacts; // 098
NiTransform unk0A8; // 0A8
float unk0DC; // 0DC
bhkSimpleShapePhantom* unk0E0; // 0E0 - smart ptr
mutable BSSpinLock unk0E8; // 0E8
NiPoint3 velocity; // 0F0
NiPoint3 linearVelocity; // 0FC
NiPointer<BSLight> light; // 108 - smart ptr
void* unk110; // 110 - smart ptr
NiPointer<ActorCause> actorCause; // 118
ObjectRefHandle shooter; // 120
ObjectRefHandle desiredTarget; // 124
BSSoundHandle sndHandle; // 128
BSSoundHandle sndCountdown; // 134
std::uint32_t* unk140; // 140
InventoryEntryData* unk148; // 148
BGSExplosion* explosion; // 150
MagicItem* spell; // 158
MagicSystem::CastingSource castingSource; // 160
std::uint32_t pad164; // 164
EffectSetting* avEffect; // 168
NiPointer<QueuedFile> projectileDBFiles; // 170
ModelDBHandle muzzleFlashDBHandle; // 178
std::uint64_t unk180; // 180
float power; // 188
float speedMult; // 18C
float range; // 190
float livingTime; // 194
float weaponDamage; // 198
float transparency; // 19C - for beam disappearing
float explosionTimer; // 1A0
std::uint32_t unk1A4; // 1A4
float unk1A8; // 1A8 - 0.0f
float unk1AC; // 1AC - 0.0f
TESObjectWEAP* weaponSource; // 1B0
TESAmmo* ammoSource; // 1B8
float distanceMoved; // 1C0
std::uint32_t pad_1C4; // 1C4
float scale; // 1C8 - for double cast model scale
stl::enumeration<Flags, std::uint32_t> flags; // 1CC
bool unk1D0; // 1D0
bool unk1D1; // 1D0
char unk1D2[6]; // 1D2
};
#ifndef SKYRIM_SUPPORT_AE
static_assert(sizeof(Projectile) == 0x1D8);
Expand Down

0 comments on commit 2621fd7

Please sign in to comment.