Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
RenderController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/renderer/controller/RenderControllerArrayType.h"
7#include "mc/deps/core/string/HashedString.h"
8#include "mc/molang/MolangVersion.h"
9#include "mc/util/molang/ExpressionNode.h"
10
11// auto generated forward declare list
12// clang-format off
14class DataDrivenModel;
15class RenderParams;
16class Vec4;
17namespace Json { class Value; }
18namespace mce { class Color; }
19// clang-format on
20
21class RenderController {
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<8, 48, ::HashedString const> mName;
26 ::ll::TypedStorage<8, 192, ::std::unordered_map<::HashedString, ::ExpressionNode>[3]> mArrays;
27 ::ll::TypedStorage<8, 16, ::ExpressionNode> mGeometry;
28 ::ll::TypedStorage<8, 64, ::ExpressionNode[4]> mTintColor;
29 ::ll::TypedStorage<8, 64, ::ExpressionNode[4]> mOverlayColor;
30 ::ll::TypedStorage<8, 64, ::ExpressionNode[4]> mOnFireColor;
31 ::ll::TypedStorage<8, 64, ::ExpressionNode[4]> mIsHurtColor;
32 ::ll::TypedStorage<8, 64, ::ExpressionNode[4]> mUVAnim;
33 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::std::string, ::ExpressionNode>>> mPartVisibility;
34 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::std::string, ::ExpressionNode>>> mMaterials;
35 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::DataDrivenGeometry>>> mReferencedGeometries;
36 ::ll::TypedStorage<8, 24, ::std::vector<::ExpressionNode>> mTextures;
37 ::ll::TypedStorage<1, 1, bool> mShouldRebuildAnimationMatrices;
38 ::ll::TypedStorage<1, 1, bool> mIgnoreLighting;
39 ::ll::TypedStorage<1, 1, bool> mFilterLighting;
40 ::ll::TypedStorage<1, 1, bool> mMaterialsNeedVertexColor;
41 ::ll::TypedStorage<8, 16, ::ExpressionNode> mLightColorMultiplier;
42 ::ll::TypedStorage<8, 8, int64 const> mResourceLoadTimeStamp;
43 // NOLINTEND
44
45public:
46 // prevent constructor by default
47 RenderController& operator=(RenderController const&);
48 RenderController();
49
50public:
51 // member functions
52 // NOLINTBEGIN
53 MCNAPI RenderController(::RenderController const&);
54
55 MCAPI ::std::shared_ptr<::DataDrivenGeometry> getGeometry(::RenderParams& renderParams) const;
56
57 MCNAPI ::mce::Color getOnFireColor(::RenderParams& renderParams) const;
58
59 MCNAPI ::mce::Color getOverlayColor(::RenderParams& renderParams) const;
60
61 MCNAPI ::mce::Color getTintColor(::RenderParams& renderParams) const;
62
63 MCAPI ::Vec4 getUVAnim(::RenderParams& renderParams, ::Vec4 const& defaultUVAnim) const;
64
65 MCNAPI bool init(::DataDrivenModel& model);
66
67 MCNAPI bool parse(::Json::Value const& root, ::MolangVersion molangVersion);
68
69 MCNAPI bool
70 parseArray(::Json::Value const& root, ::RenderControllerArrayType arrayType, ::MolangVersion const molangVersion);
71
72 MCNAPI void render(::RenderParams& renderParams, ::DataDrivenGeometry& geo);
73
75
76 MCNAPI bool updatePartMaterials();
77
78 MCNAPI bool updatePartVisibility();
79
81 // NOLINTEND
82
83public:
84 // static functions
85 // NOLINTBEGIN
86 MCNAPI static bool _parseColor(
87 ::Json::Value const& root,
88 ::ExpressionNode* colorNode,
89 ::MolangVersion const molangVersion,
90 float const defaultAlpha
91 );
92
93 MCNAPI static ::std::string nameToRegExStr(::std::string const& sourceName);
94 // NOLINTEND
95
96public:
97 // constructor thunks
98 // NOLINTBEGIN
99 MCNAPI void* $ctor(::RenderController const&);
100 // NOLINTEND
101
102public:
103 // destructor thunk
104 // NOLINTBEGIN
105 MCNAPI void $dtor();
106 // NOLINTEND
107};
Definition DataDrivenGeometry.h:5
Definition DataDrivenModel.h:5
Definition ExpressionNode.h:35
Definition Value.h:16
Definition RenderController.h:5
MCAPI void $dtor()
MCAPI bool updatePartMaterials()
MCAPI void render(::RenderParams &renderParams, ::DataDrivenGeometry &geo)
MCAPI bool replaceVariables(::DataDrivenModel &model)
static MCAPI bool _parseColor(::Json::Value const &root, ::ExpressionNode *colorNode, ::MolangVersion const molangVersion, float const defaultAlpha)
MCAPI bool updatePartVisibility()
static MCAPI ::std::string nameToRegExStr(::std::string const &sourceName)
MCAPI ~RenderController()
MCAPI::mce::Color getOnFireColor(::RenderParams &renderParams) const
MCAPI::mce::Color getOverlayColor(::RenderParams &renderParams) const
MCAPI bool init(::DataDrivenModel &model)
MCAPI bool parse(::Json::Value const &root, ::MolangVersion molangVersion)
MCAPI::mce::Color getTintColor(::RenderParams &renderParams) const
MCAPI void * $ctor(::RenderController const &)
MCAPI bool parseArray(::Json::Value const &root, ::RenderControllerArrayType arrayType, ::MolangVersion const molangVersion)
MCAPI RenderController(::RenderController const &)
Definition RenderParams.h:29
Definition Vec4.h:5
Definition Color.h:13