CommonLibSSE (powerof3)
TESImageSpace.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/F/FormTypes.h"
4 #include "RE/T/TESForm.h"
5 
6 namespace RE
7 {
9  {
10  struct HDR // HNAM
11  {
12  public:
13  // members
14  float eyeAdaptSpeed; // 00
15  float bloomBlurRadius; // 04
16  float bloomThreshold; // 08
17  float bloomScale; // 0C
18  float receiveBloomThreshold; // 10
19  float white; // 14
20  float sunlightScale; // 18
21  float skyScale; // 1C
22  float eyeAdaptStrength; // 20
23  };
24  static_assert(sizeof(HDR) == 0x24);
25 
26  struct Cinematic // CNAM
27  {
28  public:
29  // members
30  float saturation; // 0
31  float brightness; // 4
32  float contrast; // 8
33  };
34  static_assert(sizeof(Cinematic) == 0xC);
35 
36  struct Tint // TNAM
37  {
38  public:
39  struct ColorF
40  {
41  public:
42  // members
43  float red; // 0
44  float green; // 4
45  float blue; // 8
46  };
47  static_assert(sizeof(ColorF) == 0xC);
48 
49  // members
50  float amount; // 00
51  ColorF color; // 04
52  };
53  static_assert(sizeof(Tint) == 0x10);
54 
55  struct DepthOfField // DNAM
56  {
57  public:
58  enum class SkyBlurRadius
59  {
60  kRadius0 = 16384, // 0x4000
61  kRadius1 = 16672, // 0x4120
62  kRadius2 = 16784, // 0x4190
63  kRadius3 = 16848, // 0x41D0
64  kRadius4 = 16904, // 0x4208
65  kRadius5 = 16936, // 0x4228
66  kRadius6 = 16968, // 0x4248
67  kRadius7 = 17000, // 0x4268
68  kNoSky_Radius0 = 16576, // 0x40C0
69  kNoSky_Radius1 = 16736, // 0x4160
70  kNoSky_Radius2 = 16816, // 0x41B0
71  kNoSky_Radius3 = 16880, // 0x41F0
72  kNoSky_Radius4 = 16920, // 0x4218
73  kNoSky_Radius5 = 16952, // 0x4238
74  kNoSky_Radius6 = 16984, // 0x4258
75  kNoSky_Radius7 = 17016 // 0x4278
76  };
77 
78  // members
79  float strength; // 00
80  float distance; // 04
81  float range; // 08
82  std::uint16_t unk0C; // 0C
84  };
85  static_assert(sizeof(DepthOfField) == 0x10);
86 
87  // members
88  HDR hdr; // 00 - HNAM
89  Cinematic cinematic; // 24 - CNAM
90  Tint tint; // 30 - TNAM
91  DepthOfField depthOfField; // 40 - DNAM
92  };
93  static_assert(sizeof(ImageSpaceBaseData) == 0x50);
94 
95  class TESImageSpace : public TESForm
96  {
97  public:
98  inline static constexpr auto RTTI = RTTI_TESImageSpace;
99  inline static constexpr auto FORMTYPE = FormType::ImageSpace;
100 
101  struct RecordFlags
102  {
103  enum RecordFlag : std::uint32_t
104  {
105  kDeleted = 1 << 5,
106  kIgnored = 1 << 12
107  };
108  };
109 
110  ~TESImageSpace() override; // 00
111 
112  // override (TESForm)
113  void InitializeData() override; // 04
114  bool Load(TESFile* a_mod) override; // 06
115 
116  // members
118  };
119  static_assert(sizeof(TESImageSpace) == 0x70);
120 }
Definition: TESFile.h:14
Definition: TESForm.h:34
Definition: TESImageSpace.h:96
static constexpr auto RTTI
Definition: TESImageSpace.h:98
~TESImageSpace() override
void InitializeData() override
ImageSpaceBaseData data
Definition: TESImageSpace.h:117
bool Load(TESFile *a_mod) override
static constexpr auto FORMTYPE
Definition: TESImageSpace.h:99
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_TESImageSpace
Definition: Offsets_RTTI.h:6004
Definition: TESImageSpace.h:27
float contrast
Definition: TESImageSpace.h:32
float brightness
Definition: TESImageSpace.h:31
float saturation
Definition: TESImageSpace.h:30
Definition: TESImageSpace.h:56
float strength
Definition: TESImageSpace.h:79
float distance
Definition: TESImageSpace.h:80
float range
Definition: TESImageSpace.h:81
SkyBlurRadius
Definition: TESImageSpace.h:59
stl::enumeration< SkyBlurRadius, std::uint16_t > skyBlurRadius
Definition: TESImageSpace.h:83
std::uint16_t unk0C
Definition: TESImageSpace.h:82
Definition: TESImageSpace.h:11
float bloomThreshold
Definition: TESImageSpace.h:16
float eyeAdaptSpeed
Definition: TESImageSpace.h:14
float bloomScale
Definition: TESImageSpace.h:17
float eyeAdaptStrength
Definition: TESImageSpace.h:22
float receiveBloomThreshold
Definition: TESImageSpace.h:18
float bloomBlurRadius
Definition: TESImageSpace.h:15
float sunlightScale
Definition: TESImageSpace.h:20
float skyScale
Definition: TESImageSpace.h:21
float white
Definition: TESImageSpace.h:19
Definition: TESImageSpace.h:40
float green
Definition: TESImageSpace.h:44
float red
Definition: TESImageSpace.h:43
float blue
Definition: TESImageSpace.h:45
Definition: TESImageSpace.h:37
float amount
Definition: TESImageSpace.h:47
ColorF color
Definition: TESImageSpace.h:51
Definition: TESImageSpace.h:9
DepthOfField depthOfField
Definition: TESImageSpace.h:91
Tint tint
Definition: TESImageSpace.h:90
Cinematic cinematic
Definition: TESImageSpace.h:89
HDR hdr
Definition: TESImageSpace.h:85
Definition: TESImageSpace.h:102
RecordFlag
Definition: TESImageSpace.h:104
@ kIgnored
Definition: TESImageSpace.h:106
@ kDeleted
Definition: TESImageSpace.h:105