CommonLibSSE (powerof3)
NiTexture.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSFixedString.h"
4 #include "RE/N/NiObject.h"
5 #include "RE/N/NiSmartPointer.h"
6 
7 namespace RE
8 {
10 
11  class NiTexture : public NiObject
12  {
13  public:
14  inline static constexpr auto RTTI = RTTI_NiTexture;
15  inline static constexpr auto Ni_RTTI = NiRTTI_NiTexture;
16 
18  {
19  public:
20  enum class PixelLayout
21  {
26  kBumpmap,
28  kDefault,
37  };
38 
39  enum class AlphaFormat
40  {
41  kNone,
42  kBinary, // 1-bit
43  kSmooth, // multi-bit
44  kDefault
45  };
46 
47  enum class MipFlag
48  {
49  kNo = 0,
50  kYes = 1,
51  kDefault
52  };
53 
55 
56  // members
60  std::uint32_t pad0C; // 0C
61  };
62  static_assert(sizeof(FormatPrefs) == 0x10);
63 
64  ~NiTexture() override;
65 
66  // override (NiObject)
67  [[nodiscard]] const NiRTTI* GetRTTI() const override; // 02
68 
69  // add
70  virtual void Unk_25(void); // 25 - { return 0; }
71  virtual void Unk_26(void); // 26 - { return 0; }
72  virtual void Unk_27(void); // 27 - { return "n/a"; }
73  virtual void Unk_28(void); // 28
74  virtual void Unk_29(void); // 29 - { return 0; }
75  virtual void Unk_2A(void); // 2A - { return 0; }
76 
77  // members
80  std::uint32_t unk28; // 28
81  std::uint32_t unk2C; // 2C
82  NiTexture* prev; // 30
83  NiTexture* next; // 38
84  };
85  static_assert(sizeof(NiTexture) == 0x40);
86 }
Definition: NiObject.h:37
Definition: NiRTTI.h:6
Definition: NiTexture.h:18
stl::enumeration< PixelLayout, std::uint32_t > pixelLayout
Definition: NiTexture.h:57
AlphaFormat
Definition: NiTexture.h:40
stl::enumeration< AlphaFormat, std::uint32_t > alphaFormat
Definition: NiTexture.h:58
stl::enumeration< MipFlag, std::uint32_t > mipMapped
Definition: NiTexture.h:59
std::uint32_t pad0C
Definition: NiTexture.h:60
PixelLayout
Definition: NiTexture.h:21
MipFlag
Definition: NiTexture.h:48
Definition: NiTexture.h:12
FormatPrefs formatPrefs
Definition: NiTexture.h:78
std::uint32_t unk28
Definition: NiTexture.h:80
virtual void Unk_28(void)
std::uint32_t unk2C
Definition: NiTexture.h:81
const NiRTTI * GetRTTI() const override
virtual void Unk_29(void)
NiTexture * prev
Definition: NiTexture.h:82
virtual void Unk_26(void)
static constexpr auto Ni_RTTI
Definition: NiTexture.h:15
NiTexture * next
Definition: NiTexture.h:83
~NiTexture() override
virtual void Unk_2A(void)
static constexpr auto RTTI
Definition: NiTexture.h:14
virtual void Unk_27(void)
BSFixedString name
Definition: NiTexture.h:79
virtual void Unk_25(void)
Definition: AbsorbEffect.h:6
NiSmartPointer(Actor)
constexpr REL::ID NiRTTI_NiTexture
Definition: Offsets_NiRTTI.h:304
constexpr REL::ID RTTI_NiTexture
Definition: Offsets_RTTI.h:5624