LeviLamina
Loading...
Searching...
No Matches
BedrockTexture.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core_graphics/TextureSetLayerType.h"
7#include "mc/deps/minecraft_renderer/renderer/IsMissingTexture.h"
8
9// auto generated forward declare list
10// clang-format off
13namespace cg { class TextureSetDefinition; }
14namespace cg { class TextureSetImageContainer; }
15namespace cg { class TextureSetImageDescription; }
16namespace mce { class TextureContainer; }
17namespace mce { struct ClientTexture; }
18namespace mce { struct TextureDescription; }
19namespace mce { struct TextureResourceService; }
20// clang-format on
21
22class BedrockTexture {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::BedrockTextureData>> mBedrockTextureData;
27 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::BedrockTextureData>> mBedrockMERSTextureData;
28 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::BedrockTextureData>> mBedrockNormalTextureData;
29 // NOLINTEND
30
31public:
32 // member functions
33 // NOLINTBEGIN
34 MCAPI BedrockTexture();
35
36 MCAPI BedrockTexture(::BedrockTexture&& rhs);
37
38 MCAPI BedrockTexture(::BedrockTexture const& rhs);
39
40 MCAPI ::std::optional<::ResourceLocationPair> const _getLayerLocation(
41 ::gsl::not_null<::std::shared_ptr<::cg::TextureSetDefinition>> textureSetDefinition,
42 ::cg::TextureSetLayerType layerType
43 );
44
45 MCAPI bool _loadFromImageBuffer(
46 ::cg::TextureSetImageContainer& imageContainer,
47 ::cg::TextureSetLayerType textureType,
48 ::mce::TextureResourceService& textureResourceService,
49 ::cg::TextureSetImageDescription const& setDescription,
50 ::IsMissingTexture isMissing,
51 ::std::string_view
52 ) const;
53
54 MCAPI ::mce::ClientTexture const& getClientHandle(::cg::TextureSetLayerType textureType) const;
55
56 MCAPI ::std::shared_ptr<::BedrockTextureData const> const
57 getSharedBedrockTextureData(::cg::TextureSetLayerType textureType) const;
58
59 MCAPI ::mce::TextureDescription const& getTextureDescription() const;
60
61 MCAPI ::cg::TextureSetImageDescription getTextureSetImageDescription() const;
62
63 MCAPI ::IsMissingTexture isMissingTexture() const;
64
65 MCAPI bool load(
66 ::mce::TextureResourceService& textureResourceService,
67 ::gsl::not_null<::std::shared_ptr<::cg::TextureSetDefinition>> textureSetDefinition,
68 ::std::string_view debugName
69 );
70
71 MCAPI bool load(
72 ::mce::TextureResourceService& textureResourceService,
73 ::mce::TextureContainer&& textureContainer,
74 ::IsMissingTexture isMissingTexture,
75 ::std::string_view debugName,
76 ::cg::TextureSetLayerType textureType
77 );
78
79 MCAPI void loadMetadata(::gsl::not_null<::std::shared_ptr<::cg::TextureSetDefinition>> textureSetDefinition);
80
81 MCAPI void loadMetadata(
82 ::mce::TextureDescription const& textureDescription,
83 ::std::optional<::IsMissingTexture> optIsMissingTexture
84 );
85
86 MCAPI void loadMetadata(
87 ::cg::TextureSetImageDescription const& textureSetImageDescription,
88 ::std::optional<::IsMissingTexture> optIsMissingTexture
89 );
90
91 MCAPI ::BedrockTexture& operator=(::BedrockTexture const& rhs);
92
93 MCAPI void unload();
94
95 MCAPI ~BedrockTexture();
96 // NOLINTEND
97
98public:
99 // constructor thunks
100 // NOLINTBEGIN
101 MCAPI void* $ctor();
102
103 MCFOLD void* $ctor(::BedrockTexture&& rhs);
104
105 MCFOLD void* $ctor(::BedrockTexture const& rhs);
106 // NOLINTEND
107
108public:
109 // destructor thunk
110 // NOLINTBEGIN
111 MCFOLD void $dtor();
112 // NOLINTEND
113};
Definition BedrockTexture.h:5
Definition ResourceLocationPair.h:9
Definition TextureSetDefinition.h:20
Definition TextureSetImageContainer.h:20
Definition TextureSetImageDescription.h:18
Definition TextureContainer.h:7
Definition BedrockTextureData.h:5
Definition ClientTexture.h:7
Definition TextureDescription.h:7
Definition TextureResourceService.h:7