CommonLibSSE (powerof3)
Sky.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSPointerHandle.h"
4 #include "RE/B/BSTArray.h"
5 #include "RE/B/BSTList.h"
6 #include "RE/B/BSTextureSet.h"
7 #include "RE/N/NiColor.h"
8 #include "RE/N/NiSmartPointer.h"
10 
11 namespace RE
12 {
13  class Atmosphere;
14  class BGSLightingTemplate;
15  class BSMultiBoundNode;
16  class Clouds;
17  class ImageSpaceModifierInstanceForm;
18  class Moon;
19  class NiNode;
20  class NiTexture;
21  class Precipitation;
22  class ReferenceEffect;
23  class SkySound;
24  class Stars;
25  class Sun;
26  class TESClimate;
27  class TESRegion;
28  class TESWeather;
29 
30  class Sky
31  {
32  public:
33  inline static constexpr auto RTTI = RTTI_Sky;
34 
35  enum class Mode
36  {
37  kNone = 0,
38  kInterior,
40  kFull,
41 
42  kTotal
43  };
44 
46  {
47  public:
48  };
49 
50  virtual ~Sky(); // 00
51 
52  static Sky* GetSingleton();
53 
54  // members
58  std::uint64_t unk020; // 020
62  float lightingTransition; // 038
69  TESRegion* region; // 068
71  Stars* stars; // 078
72  Sun* sun; // 080
73  Clouds* clouds; // 088
74  Moon* masser; // 090
75  Moon* secunda; // 098
77  NiColor skyColor[17]; // 0A8
78  std::uint32_t unk174; // 174
79  std::uint64_t unk178; // 178
80  std::uint64_t unk180; // 180
81  std::uint64_t unk188; // 188
82  std::uint64_t unk190; // 190
83  std::uint64_t unk198; // 198
84  std::uint32_t unk1A0; // 1A0
85  std::uint32_t unk1A4; // 1A4
86  float unk1A8; // 1A8
87  float unk1AC; // 1AC
88  float currentGameHour; // 1B0
89  float lastWeatherUpdate; // 1B4
90  float currentWeatherPct; // 1B8
93  float flash; // 1C8
94  std::uint32_t pad1CC; // 1CC
95  std::time_t flashTime; // 1D0
96  std::uint32_t lastMoonPhaseUpdate; // 1D8
97  std::uint32_t flags; // 1DC
98  ImageSpaceModifierInstanceForm* currentWeatherImageSpaceMod; // 1E0
99  ImageSpaceModifierInstanceForm* currentWeatherImageSpaceMod2; // 1E8
100  ImageSpaceModifierInstanceForm* lastWeatherImageSpaceMod; // 1F0
101  ImageSpaceModifierInstanceForm* lastWeatherImageSpaceMod2; // 1F8
105  float auroraInStart; // 258
106  float auroraIn; // 25C
107  float auroraOutStart; // 260
108  float auroraOut; // 264
115  };
116  static_assert(sizeof(Sky) == 0x2C8);
117 }
Definition: Atmosphere.h:13
Definition: BGSLightingTemplate.h:11
Definition: BSTArray.h:377
Definition: Clouds.h:13
Definition: Moon.h:12
Definition: NiColor.h:9
Definition: NiSmartPointer.h:9
Definition: Precipitation.h:13
Definition: SkyEffectController.h:8
Definition: Sky.h:31
stl::enumeration< Mode, std::uint32_t > mode
Definition: Sky.h:91
float lightingTransition
Definition: Sky.h:62
SkyEffectController effectController
Definition: Sky.h:111
TESClimate * currentClimate
Definition: Sky.h:64
float auroraOut
Definition: Sky.h:108
float lastWeatherUpdate
Definition: Sky.h:89
TESWeather * currentWeather
Definition: Sky.h:65
NiColor skyColor[17]
Definition: Sky.h:77
ObjectRefHandle currentRoom
Definition: Sky.h:60
std::uint32_t unk1A4
Definition: Sky.h:85
NiPointer< NiNode > moonsRoot
Definition: Sky.h:56
ObjectRefHandle previousRoom
Definition: Sky.h:61
Mode
Definition: Sky.h:36
NiPointer< ReferenceEffect > lastReferenceEffect
Definition: Sky.h:110
NiColor ambientSpecularTint
Definition: Sky.h:103
BSTArray< NiPointer< NiTexture > > storedCloudTextures
Definition: Sky.h:112
std::uint32_t unk1A0
Definition: Sky.h:84
float ambientSpecularFresnel
Definition: Sky.h:104
std::uint64_t unk180
Definition: Sky.h:80
static Sky * GetSingleton()
float auroraIn
Definition: Sky.h:106
std::uint64_t unk188
Definition: Sky.h:81
std::uint32_t pad1CC
Definition: Sky.h:94
std::uint64_t unk190
Definition: Sky.h:82
TESRegion * region
Definition: Sky.h:69
ImageSpaceModifierInstanceForm * lastWeatherImageSpaceMod
Definition: Sky.h:100
NiPointer< BSMultiBoundNode > root
Definition: Sky.h:55
Precipitation * precip
Definition: Sky.h:76
Atmosphere * atmosphere
Definition: Sky.h:70
float flash
Definition: Sky.h:93
std::uint32_t unk174
Definition: Sky.h:78
float auroraOutStart
Definition: Sky.h:107
float auroraInStart
Definition: Sky.h:105
std::uint64_t unk020
Definition: Sky.h:58
BSTArray< SkyStaticRefData > skyStaticRefData
Definition: Sky.h:114
std::time_t flashTime
Definition: Sky.h:95
Sun * sun
Definition: Sky.h:72
TESWeather * defaultWeather
Definition: Sky.h:67
BSTArray< NiPointer< NiTexture > > storedWorldMapCloudTextures
Definition: Sky.h:113
ImageSpaceModifierInstanceForm * currentWeatherImageSpaceMod
Definition: Sky.h:98
std::uint32_t lastMoonPhaseUpdate
Definition: Sky.h:96
float unk1AC
Definition: Sky.h:87
NiColor directionalAmbientColors[3][2]
Definition: Sky.h:102
ImageSpaceModifierInstanceForm * currentWeatherImageSpaceMod2
Definition: Sky.h:99
std::uint64_t unk178
Definition: Sky.h:79
std::uint32_t flags
Definition: Sky.h:97
float currentGameHour
Definition: Sky.h:88
NiPointer< NiNode > auroraRoot
Definition: Sky.h:57
std::uint64_t unk198
Definition: Sky.h:83
float currentWeatherPct
Definition: Sky.h:90
float unk1A8
Definition: Sky.h:86
TESWeather * lastWeather
Definition: Sky.h:66
virtual ~Sky()
Moon * secunda
Definition: Sky.h:75
BGSLightingTemplate * extLightingOverride
Definition: Sky.h:59
Moon * masser
Definition: Sky.h:74
ImageSpaceModifierInstanceForm * lastWeatherImageSpaceMod2
Definition: Sky.h:101
NiPointer< ReferenceEffect > currentReferenceEffect
Definition: Sky.h:109
Clouds * clouds
Definition: Sky.h:73
static constexpr auto RTTI
Definition: Sky.h:33
BSSimpleList< SkySound * > * skySoundList
Definition: Sky.h:92
TESWeather * overrideWeather
Definition: Sky.h:68
Stars * stars
Definition: Sky.h:71
float lightingTransitionTimer
Definition: Sky.h:63
Definition: Stars.h:11
Definition: Sun.h:14
Definition: TESClimate.h:13
Definition: TESRegion.h:44
Definition: TESWeather.h:17
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_Sky
Definition: Offsets_RTTI.h:5816
Definition: Sky.h:46