LeviLamina
Loading...
Searching...
No Matches
HudHeartRenderer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/controls/renderers/MinecraftUICustomRenderer.h"
7#include "mc/deps/minecraft_renderer/renderer/Mesh.h"
8#include "mc/deps/minecraft_renderer/renderer/TexturePtr.h"
9
10// auto generated forward declare list
11// clang-format off
13class IClientInstance;
15class UIControl;
17class UIScene;
18namespace mce { class TextureGroup; }
19// clang-format on
20
22public:
23 // HudHeartRenderer inner types declare
24 // clang-format off
26 struct HeartIconData;
27 // clang-format on
28
29 // HudHeartRenderer inner types define
30 enum class HeartType : int {
31 Background = 0,
32 BackgroundBlink = 1,
33 Full = 2,
34 FullPoison = 3,
35 FullWither = 4,
36 FullFrozen = 5,
37 FullFlash = 6,
38 FullPoisonFlash = 7,
39 FullWitherFlash = 8,
40 FullFrozenFlash = 9,
41 Half = 10,
42 HalfPoison = 11,
43 HalfWither = 12,
44 HalfFrozen = 13,
45 HalfFlash = 14,
46 HalfPoisonFlash = 15,
47 HalfWitherFlash = 16,
48 HalfFrozenFlash = 17,
49 FullAbsorption = 18,
50 HalfAbsorption = 19,
51 Count = 20,
52 };
53
54 struct SanitizedHealthData {
55 public:
56 // member variables
57 // NOLINTBEGIN
58 ::ll::TypedStorage<4, 4, int> mHealth;
59 ::ll::TypedStorage<4, 4, int> mOldHealth;
60 ::ll::TypedStorage<4, 4, int> mMaxHealth;
61 ::ll::TypedStorage<4, 4, int> mAbsorption;
62 // NOLINTEND
63 };
64
65 struct HeartIconData {
66 public:
67 // member variables
68 // NOLINTBEGIN
69 ::ll::TypedStorage<4, 4, ::HudHeartRenderer::HeartType> mType;
70 ::ll::TypedStorage<8, 8, uint64> mOffset;
71 ::ll::TypedStorage<8, 8, uint64> mCount;
72 // NOLINTEND
73 };
74
75public:
76 // member variables
77 // NOLINTBEGIN
78 ::ll::TypedStorage<1, 1, bool> mHasLoadedTextures;
79 ::ll::TypedStorage<1, 1, bool> mShouldRender;
80 ::ll::TypedStorage<8, 24, ::HudHeartRenderer::HeartIconData> mBackgroundIcon;
81 ::ll::TypedStorage<8, 24, ::HudHeartRenderer::HeartIconData> mFullFlashIcon;
82 ::ll::TypedStorage<8, 24, ::HudHeartRenderer::HeartIconData> mHalfFlashIcon;
83 ::ll::TypedStorage<8, 24, ::HudHeartRenderer::HeartIconData> mFullAbsorptionIcon;
84 ::ll::TypedStorage<8, 24, ::HudHeartRenderer::HeartIconData> mHalfAbsorptionIcon;
85 ::ll::TypedStorage<8, 24, ::HudHeartRenderer::HeartIconData> mFullIcon;
86 ::ll::TypedStorage<8, 24, ::HudHeartRenderer::HeartIconData> mHalfIcon;
87 ::ll::TypedStorage<8, 640, ::std::array<::mce::TexturePtr, 20>> mHeartTextures;
88 ::ll::TypedStorage<8, 11040, ::std::array<::mce::Mesh, 20>> mHeartMeshes;
89 ::ll::TypedStorage<8, 24, ::std::vector<::glm::vec3>> mIconPosition;
90 // NOLINTEND
91
92public:
93 // virtual functions
94 // NOLINTBEGIN
95 virtual ~HudHeartRenderer() /*override*/ = default;
96
97 virtual ::std::shared_ptr<::UICustomRenderer> clone() const /*override*/;
98
99 virtual void
100 render(::MinecraftUIRenderContext& renderContext, ::IClientInstance& owner, ::UIControl&, int) /*override*/;
101
102 virtual bool update(::IClientInstance& client, ::UIControl&, ::UIScene const&) /*override*/;
103 // NOLINTEND
104
105public:
106 // member functions
107 // NOLINTBEGIN
108 MCAPI HudHeartRenderer();
109
110 MCAPI void _loadHeartTextures(::mce::TextureGroup& textureGroup, bool isHardcore);
111 // NOLINTEND
112
113public:
114 // static functions
115 // NOLINTBEGIN
116 MCAPI static ::HudHeartRenderer::SanitizedHealthData
117 getSanitizedHealthData(::AttributeInstanceConstRef health, ::AttributeInstanceConstRef absorption, int oldHealth);
118 // NOLINTEND
119
120public:
121 // constructor thunks
122 // NOLINTBEGIN
123 MCAPI void* $ctor();
124 // NOLINTEND
125
126public:
127 // virtual function thunks
128 // NOLINTBEGIN
129 MCAPI ::std::shared_ptr<::UICustomRenderer> $clone() const;
130
131 MCAPI void $render(::MinecraftUIRenderContext& renderContext, ::IClientInstance& owner, ::UIControl&, int);
132
133 MCAPI bool $update(::IClientInstance& client, ::UIControl&, ::UIScene const&);
134 // NOLINTEND
135
136public:
137 // vftables
138 // NOLINTBEGIN
139 MCNAPI static void** $vftable();
140 // NOLINTEND
141};
Definition AttributeInstanceConstRef.h:13
Definition HudHeartRenderer.h:5
static MCAPI void ** $vftable()
Definition IClientInstance.h:5
Definition MinecraftUICustomRenderer.h:5
Definition MinecraftUIRenderContext.h:5
Definition UIControl.h:5
Definition UICustomRenderer.h:5
Definition UIScene.h:5
Definition TextureGroup.h:7
Definition HudHeartRenderer.h:18
Definition HudHeartRenderer.h:16