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