LeviLamina
Loading...
Searching...
No Matches
BlockCullingData.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/puv/puv_load_data/LoadResultWithTiming.h"
8
9struct BlockCullingData {
10public:
11 // BlockCullingData inner types declare
12 // clang-format off
13 struct CullingRule;
14 // clang-format on
15
16 // BlockCullingData inner types define
17 struct CullingRule {
18 public:
19 // CullingRule inner types declare
20 // clang-format off
21 struct GeometryPart;
22 // clang-format on
23
24 // CullingRule inner types define
25 enum class Condition : uchar {
26 SameCullingLayer = 0,
27 SameBlock = 1,
28 SameBlockPermutation = 2,
29 };
30
31 struct GeometryPart {
32 public:
33 // member variables
34 // NOLINTBEGIN
35 ::ll::TypedStorage<8, 32, ::std::string> mBoneName;
36 ::ll::TypedStorage<4, 4, int> mCubeIndex;
37 ::ll::TypedStorage<1, 1, uchar> mFaceToCull;
38 // NOLINTEND
39 };
40
41 public:
42 // member variables
43 // NOLINTBEGIN
44 ::ll::TypedStorage<1, 1, uchar> mNeighborToCheck;
45 ::ll::TypedStorage<1, 2, ::std::optional<::BlockCullingData::CullingRule::Condition>> mCondition;
46 ::ll::TypedStorage<1, 1, bool> mCullAgainstFullAndOpaque;
47 ::ll::TypedStorage<8, 40, ::BlockCullingData::CullingRule::GeometryPart> mGeometryPart;
48 // NOLINTEND
49 };
50
51public:
52 // member variables
53 // NOLINTBEGIN
54 ::ll::TypedStorage<8, 48, ::HashedString> mCullIdentifier;
55 ::ll::TypedStorage<8, 24, ::std::vector<::BlockCullingData::CullingRule>> mCullingRules;
56 ::ll::TypedStorage<8, 32, ::PuvLoadData::LoadResultWithTiming> mLoadTime;
57 // NOLINTEND
58};
Definition BlockCullingData.h:23
Definition BlockCullingData.h:13
Definition BlockCullingData.h:5