LeviLamina
Loading...
Searching...
No Matches
MolangClientTextureSet.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/string/HashedString.h"
7#include "mc/deps/minecraft_renderer/resources/MERSTextureMode.h"
8#include "mc/deps/minecraft_renderer/resources/MERSUniformData.h"
9#include "mc/deps/minecraft_renderer/resources/NormalTextureMode.h"
10
11// auto generated forward declare list
12// clang-format off
14namespace mce { class TexturePtr; }
15// clang-format on
16
17struct MolangClientTextureSet {
18public:
19 // MolangClientTextureSet inner types declare
20 // clang-format off
21 struct ExtraPBRData;
22 // clang-format on
23
24 // MolangClientTextureSet inner types define
25 struct ExtraPBRData {
26 public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::BedrockTextureData const>> mMERSTextureDataWeakPtr;
30 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::BedrockTextureData const>> mNormalTextureDataWeakPtr;
31 ::ll::TypedStorage<4, 20, ::std::optional<::MERSUniformData>> mMERSUniforms;
32 ::ll::TypedStorage<1, 1, ::MERSTextureMode> mMERSTextureMode;
33 ::ll::TypedStorage<1, 1, ::NormalTextureMode> mNormalTextureMode;
34 // NOLINTEND
35 };
36
37public:
38// member variables
39// NOLINTBEGIN
40#ifdef LL_PLAT_S
41 ::ll::TypedStorage<8, 48, ::HashedString> mData;
42#else // LL_PLAT_C
43 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::BedrockTextureData const>> mColorTextureDataWeakPtr;
44 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::MolangClientTextureSet::ExtraPBRData>> mPBRData;
45 ::ll::TypedStorage<8, 48, ::HashedString> mName;
46#endif
47 // NOLINTEND
48
49#ifdef LL_PLAT_S
50#else // LL_PLAT_C
51public:
52 // prevent constructor by default
53 MolangClientTextureSet& operator=(MolangClientTextureSet const& rhs) {
54 if (this != &rhs) {
55 mColorTextureDataWeakPtr = rhs.mColorTextureDataWeakPtr;
56 mPBRData = rhs.mPBRData ? std::make_unique<ExtraPBRData>(*rhs.mPBRData) : nullptr;
57 mName = rhs.mName;
58 }
59 return *this;
60 }
61 MolangClientTextureSet();
62
63#endif
64public:
65 // member functions
66 // NOLINTBEGIN
67#ifdef LL_PLAT_C
68 MCAPI explicit MolangClientTextureSet(::HashedString const& name);
69
70 MCAPI MolangClientTextureSet(::MolangClientTextureSet const& rhs);
71
72 MCAPI MolangClientTextureSet(::HashedString const& name, ::mce::TexturePtr colorTexturePtr);
73
74 MCAPI MolangClientTextureSet(
75 ::HashedString const& name,
76 ::mce::TexturePtr colorTexturePtr,
77 ::mce::TexturePtr mersTexturePtr
78 );
79
80 MCAPI MolangClientTextureSet(
81 ::HashedString const& name,
82 ::mce::TexturePtr colorTexturePtr,
83 ::mce::TexturePtr mersTexturePtr,
84 ::mce::TexturePtr normalTexturePtr
85 );
86
87 MCAPI MolangClientTextureSet(
88 ::HashedString const& name,
89 ::mce::TexturePtr colorTexturePtr,
90 ::mce::TexturePtr mersTexturePtr,
91 ::MERSTextureMode mersTextureMode,
92 ::mce::TexturePtr normalTexturePtr,
93 ::NormalTextureMode normalTextureMode
94 );
95
96 MCAPI MolangClientTextureSet(
97 ::HashedString const& name,
98 ::mce::TexturePtr colorTexturePtr,
99 ::mce::TexturePtr mersTexturePtr,
100 ::MERSTextureMode mersTextureMode,
101 ::mce::TexturePtr normalTexturePtr,
102 ::NormalTextureMode normalTextureMode,
103 ::std::optional<::MERSUniformData> const& uniformData
104 );
105
106 MCAPI ~MolangClientTextureSet();
107#endif
108 // NOLINTEND
109
110public:
111 // constructor thunks
112 // NOLINTBEGIN
113#ifdef LL_PLAT_C
114 MCAPI void* $ctor(::HashedString const& name);
115
116 MCAPI void* $ctor(::MolangClientTextureSet const& rhs);
117
118 MCAPI void* $ctor(::HashedString const& name, ::mce::TexturePtr colorTexturePtr);
119
120 MCAPI void* $ctor(::HashedString const& name, ::mce::TexturePtr colorTexturePtr, ::mce::TexturePtr mersTexturePtr);
121
122 MCAPI void* $ctor(
123 ::HashedString const& name,
124 ::mce::TexturePtr colorTexturePtr,
125 ::mce::TexturePtr mersTexturePtr,
126 ::mce::TexturePtr normalTexturePtr
127 );
128
129 MCAPI void* $ctor(
130 ::HashedString const& name,
131 ::mce::TexturePtr colorTexturePtr,
132 ::mce::TexturePtr mersTexturePtr,
133 ::MERSTextureMode mersTextureMode,
134 ::mce::TexturePtr normalTexturePtr,
135 ::NormalTextureMode normalTextureMode
136 );
137
138 MCAPI void* $ctor(
139 ::HashedString const& name,
140 ::mce::TexturePtr colorTexturePtr,
141 ::mce::TexturePtr mersTexturePtr,
142 ::MERSTextureMode mersTextureMode,
143 ::mce::TexturePtr normalTexturePtr,
144 ::NormalTextureMode normalTextureMode,
145 ::std::optional<::MERSUniformData> const& uniformData
146 );
147#endif
148 // NOLINTEND
149
150public:
151 // destructor thunk
152 // NOLINTBEGIN
153#ifdef LL_PLAT_C
154 MCAPI void $dtor();
155#endif
156 // NOLINTEND
157};
Definition TexturePtr.h:7
Definition BedrockTextureData.h:5
Definition MolangClientTextureSet.h:25