LeviLamina
Loading...
Searching...
No Matches
BannerRenderer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/renderer/blockactor/BlockActorRenderer.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/deps/minecraft_renderer/renderer/MaterialPtr.h"
9#include "mc/deps/minecraft_renderer/renderer/TexturePtr.h"
10
11// auto generated forward declare list
12// clang-format off
14class BannerModel;
16class BlockActor;
17class ItemStack;
20class TextureAtlas;
22namespace dragon { struct RenderMetadata; }
23namespace mce { class Color; }
24namespace mce { class TextureGroup; }
25// clang-format on
26
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<1, 1, bool> mAtlasLoaded;
32 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TextureAtlas>> mTextureAtlas;
33 ::ll::TypedStorage<4, 8, ::glm::vec2> mMaxTileSize;
34 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mTexture;
35 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BannerModel>> mBannerModel;
36 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mGuiMaterial;
37 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mGuiPoleMaterial;
38 ::ll::TypedStorage<8, 16, ::std::shared_ptr<bool>> mExistanceTracker;
39 // NOLINTEND
40
41public:
42 // prevent constructor by default
43 BannerRenderer();
44
45public:
46 // virtual functions
47 // NOLINTBEGIN
48 virtual void
49 render(::BaseActorRenderContext& renderContext, ::BlockActorRenderData& blockEntityRenderData) /*override*/;
50 // NOLINTEND
51
52public:
53 // member functions
54 // NOLINTBEGIN
55 MCAPI BannerRenderer(
56 ::std::shared_ptr<::mce::TextureGroup> textureGroup,
57 ::ResourcePackManager& resourcePackManager,
58 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager
59 );
60
61 MCAPI void _addTextureName(
62 ::std::string const& fileName,
63 ::std::vector<::std::string>& textureList,
64 ::std::map<::std::string, ::BackwardsCompatTextureInfo>& backCompatMap
65 ) const;
66
67 MCAPI ::std::array<::glm::vec4, 4>
68 _getBasePBRTextureData(::BaseActorRenderContext& baseActorRenderContext, ::std::string filePath) const;
69
70 MCAPI ::glm::vec4
71 _getTextureUVAndScale(::std::string const& fileName, ::BackwardsCompatTextureInfo const& backCompatInfo) const;
72
73 MCAPI void _setConstants(
74 ::BaseActorRenderContext& baseActorRenderContext,
75 int index,
76 ::std::string filePath,
77 ::mce::Color const& color
78 ) const;
79
80 MCAPI void _setupBannerConstants(::BaseActorRenderContext& baseActorRenderContext, ::BlockActor& entity);
81
82 MCAPI void _setupTextureAtlas(
83 ::std::shared_ptr<::mce::TextureGroup> textureGroup,
84 ::ResourcePackManager& resourcePackManager,
85 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager
86 );
87
88 MCAPI void renderByItem(
89 ::BaseActorRenderContext& renderContext,
90 ::dragon::RenderMetadata const& renderMetadata,
91 ::ItemStack const& item,
92 bool longPole
93 );
94
95 MCAPI void renderInGui(
96 ::BaseActorRenderContext& renderContext,
97 ::dragon::RenderMetadata const& renderMetadata,
98 ::BlockActor& entity,
99 float x,
100 float y,
101 float scale,
102 bool asStanding,
103 float lightMultiplier
104 );
105 // NOLINTEND
106
107public:
108 // constructor thunks
109 // NOLINTBEGIN
110 MCAPI void* $ctor(
111 ::std::shared_ptr<::mce::TextureGroup> textureGroup,
112 ::ResourcePackManager& resourcePackManager,
113 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager
114 );
115 // NOLINTEND
116
117public:
118 // virtual function thunks
119 // NOLINTBEGIN
120 MCAPI void $render(::BaseActorRenderContext& renderContext, ::BlockActorRenderData& blockEntityRenderData);
121 // NOLINTEND
122
123public:
124 // vftables
125 // NOLINTBEGIN
126 MCNAPI static void** $vftable();
127 // NOLINTEND
128};
Definition BackwardsCompatTextureInfo.h:13
Definition BannerModel.h:5
Definition BannerRenderer.h:5
static MCAPI void ** $vftable()
Definition BaseActorRenderContext.h:5
Definition BlockActorRenderer.h:5
Definition BlockActor.h:30
Definition ItemStack.h:35
Definition ResourceLoadManager.h:19
Definition ResourcePackManager.h:35
Definition TextureAtlas.h:5
Definition Color.h:13
Definition TextureGroup.h:7
Definition BlockActorRenderData.h:5
Definition RenderMetadata.h:7