Files
Commonwealth-Online-Public/plugin/lib/commonlibf4/include/RE/N/NiTexture.h
T
2026-05-30 18:33:24 +12:00

54 lines
1.5 KiB
C++

#pragma once
#include "RE/B/BSFixedString.h"
#include "RE/B/BSResource_Stream.h"
#include "RE/B/BSTSmartPointer.h"
#include "RE/N/NiObject.h"
namespace RE
{
namespace BSGraphics
{
class Texture;
}
namespace BSTextureArray
{
class Texture;
}
class __declspec(novtable) NiTexture :
public NiObject // 00
{
public:
static constexpr auto RTTI{ RTTI::NiTexture };
static constexpr auto VTABLE{ VTABLE::NiTexture };
static constexpr auto Ni_RTTI{ Ni_RTTI::NiTexture };
// add
virtual BSTextureArray::Texture* IsBSTextureArray() { return nullptr; } // 28
static void SetAllowDegrade(bool a_allow)
{
using func_t = decltype(&NiTexture::SetAllowDegrade);
static REL::Relocation<func_t> func{ ID::NiTexture::SetAllowDegrade };
return func(a_allow);
}
[[nodiscard]] std::string_view GetName() const { return name; }
// members
BSFixedString name; // 10
std::uint32_t flags; // 18
NiTexture* prev; // 29
NiTexture* next; // 28
BSTSmartPointer<BSResource::Stream> stream; // 30
BSGraphics::Texture* rendererTexture; // 38
std::int8_t desiredDegradeLevel; // 40
std::int8_t savedDegradeLevel; // 41
bool isDDX: 1; // 42:0
bool isSRGB: 1; // 42:1
};
static_assert(sizeof(NiTexture) == 0x48);
}