docs: add plugin setup guide

This commit is contained in:
2026-05-30 18:33:24 +12:00
parent f3db41c402
commit b61043a3fe
1776 changed files with 122386 additions and 2 deletions
@@ -0,0 +1,73 @@
#pragma once
#include "RE/B/BSFixedString.h"
#include "RE/N/NiPoint3.h"
#include "RE/N/NiPointer.h"
#include "RE/N/NiQuaternion.h"
#include "RE/T/TESCameraState.h"
namespace RE
{
class NiAVObject;
class NiNode;
class __declspec(novtable) ThirdPersonState :
public TESCameraState // 000
{
public:
static constexpr auto RTTI{ RTTI::ThirdPersonState };
static constexpr auto VTABLE{ VTABLE::ThirdPersonState };
static constexpr auto STATE{ CameraStates::k3rdPerson };
// add
virtual void ProcessWeaponDrawnChange(bool a_drawn); // 11
virtual bool GetFreeRotationMode() const; // 12
virtual void SetFreeRotationMode(bool a_cameraEnable, bool a_modifyRotation); // 13
virtual void UpdateRotation(); // 14
virtual void HandleLookInput(const NiPoint2& a_input); // 15
// members
NiQuaternion rotation; // 028
NiQuaternion animationRotation; // 038
NiPoint3 translation; // 048
NiPoint3 preCollisionTranslation; // 054
NiPoint3 targetShoulderOffset; // 060
NiPoint3 currentShoulderOffset; // 06C
NiPoint3 animationTranslation; // 078
NiPoint3 lastTranslation; // 084
NiPoint3 rootOffset; // 090
NiPoint3 sideOffsetCollisionBlend; // 09C
NiPoint3 nearestHit; // 0A8
NiPoint3 nearestHitDir; // 0B4
NiPoint2 freeRotation; // 0C0
BSFixedString animatedBoneName; // 0C8
NiAVObject* thirdPersonCameraObj; // 0D0
NiNode* thirdPersonFOVControl; // 0D8
NiPointer<NiAVObject> animatedBone; // 0E0
float targetZoomOffset; // 0E8
float currentZoomOffset; // 0EC
float targetYaw; // 0F0
float currentYaw; // 0F4
float cameraHeightAdjust; // 0F8
float savedZoomOffset; // 0FC
float pitchZoomOffset; // 100
float zoomChange; // 104
NiPoint2 startTogglePOVFreeRot; // 108
float collisionRecoveryFactor; // 110
float savedCollisionPercent; // 114
float animationBlend; // 118
float animationBlendDirection; // 11C
float searchDistanceBlend; // 120
float searchLastCameraYaw; // 124
bool freeRotationEnabled; // 128
bool zoomingInto1st; // 129
bool show3rdPersonModel; // 12A
bool preserveRotation; // 12B
bool animatorMode; // 12C
bool applyOffsets; // 12D
bool togglePOVPressRegistered; // 12E
bool wasUsingScreenSpaceLastFrame; // 12F
bool ironSights; // 130
};
static_assert(sizeof(ThirdPersonState) == 0x138);
}