CommonLibSSE (powerof3)
Moon.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSString.h"
4 #include "RE/S/SkyObject.h"
5 
6 namespace RE
7 {
8  class BSTriShape;
9  class NiNode;
10 
11  class Moon : public SkyObject
12  {
13  public:
14  inline static constexpr auto RTTI = RTTI_Moon;
15  inline static constexpr auto VTABLE = VTABLE_Moon;
16 
17  enum class UpdateStatus
18  {
19  kNotRequired = 0,
22  };
23 
24  struct Phases
25  {
26  enum Phase
27  {
28  kFull = 0,
36 
37  kTotal
38  };
39  };
41 
42  ~Moon() override; // 00
43 
44  // override (SkyObject)
45  void Init(NiNode* a_root) override; // 02
46  void Update(Sky* a_sky, float a_arg2) override; // 03
47 
48  // members
53  BSString stateTextures[Phase::kTotal]; // 30
54  float angleFadeStart; // B0
55  float angleFadeEnd; // B4
56  float angleShadowEarlyFade; // B8
57  float speed; // BC
58  float zOffset; // C0
59  std::uint32_t size; // C4
61  float unkCC; // CC
62  float unkD0; // D0
63  std::uint32_t padD4; // D4
64  };
65  static_assert(sizeof(Moon) == 0xD8);
66 }
Definition: Moon.h:12
BSString stateTextures[Phase::kTotal]
Definition: Moon.h:53
NiPointer< NiNode > moonNode
Definition: Moon.h:49
float unkCC
Definition: Moon.h:61
static constexpr auto RTTI
Definition: Moon.h:14
float angleFadeEnd
Definition: Moon.h:55
std::uint32_t padD4
Definition: Moon.h:63
NiPointer< BSTriShape > moonMesh
Definition: Moon.h:51
UpdateStatus
Definition: Moon.h:18
static constexpr auto VTABLE
Definition: Moon.h:15
void Update(Sky *a_sky, float a_arg2) override
std::uint32_t size
Definition: Moon.h:59
NiPointer< BSTriShape > shadowMesh
Definition: Moon.h:52
void Init(NiNode *a_root) override
NiPointer< NiNode > shadowNode
Definition: Moon.h:50
REX::EnumSet< UpdateStatus, std::uint32_t > updateMoonTexture
Definition: Moon.h:60
float angleFadeStart
Definition: Moon.h:54
~Moon() override
float zOffset
Definition: Moon.h:58
float speed
Definition: Moon.h:57
float unkD0
Definition: Moon.h:62
float angleShadowEarlyFade
Definition: Moon.h:56
Definition: NiNode.h:12
Definition: NiSmartPointer.h:9
Definition: SkyObject.h:11
Definition: Sky.h:32
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_Moon
Definition: Offsets_VTABLE.h:12034
constexpr REL::ID RTTI_Moon(static_cast< std::uint64_t >(685529))
Definition: Moon.h:25
Phase
Definition: Moon.h:27
@ kFull
Definition: Moon.h:28
@ kWaningGibbous
Definition: Moon.h:29
@ kWaxingCrescent
Definition: Moon.h:33
@ kTotal
Definition: Moon.h:37
@ kWaningCrescent
Definition: Moon.h:31
@ kWaningQuarter
Definition: Moon.h:30
@ kNewMoon
Definition: Moon.h:32
@ kWaxingQuarter
Definition: Moon.h:34
@ kWaxingGibbous
Definition: Moon.h:35