LeviLamina
Loading...
Searching...
No Matches
BaseActorRenderContext.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/renderer/HistoricalFrameTimes.h"
7#include "mc/deps/core/math/Vec3.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9#include "mc/deps/minecraft_renderer/resources/OffscreenCaptureDescription.h"
10#include "mc/platform/brstd/copyable_function.h"
11#include "mc/world/phys/AABB.h"
12
13// auto generated forward declare list
14// clang-format off
15class Actor;
21class FontHandle;
22class HashedString;
24class IClientInstance;
25class IMinecraftGame;
27class ItemRenderer;
29class ScreenContext;
31class Vec2;
33namespace LightPropagation { class LightVolumeManager; }
34// clang-format on
35
37public:
38 // BaseActorRenderContext inner types declare
39 // clang-format off
40 struct Impl;
41 // clang-format on
42
43 // BaseActorRenderContext inner types define
44 struct Impl {
45 public:
46 // member variables
47 // NOLINTBEGIN
48 ::ll::TypedStorage<8, 40, ::OffscreenCaptureDescription> mOffscreenCaptureDescription;
49 ::ll::TypedStorage<4, 12, ::Vec3> mCameraTargetPosition;
50 ::ll::TypedStorage<4, 12, ::Vec3> mCameraPosition;
51 ::ll::TypedStorage<4, 24, ::AABB> mWorldClipRegion;
52 ::ll::TypedStorage<8, 488, ::HistoricalFrameTimes> mHistoricalFrameTimes;
53 // NOLINTEND
54 };
55
56 using ResetToken = ::gsl::final_action<::brstd::copyable_function<void()>>;
57
58public:
59 // member variables
60 // NOLINTBEGIN
61 ::ll::TypedStorage<4, 4, float> mNumEntitiesRenderedThisFrame;
62 ::ll::TypedStorage<4, 4, float> mLastFrameTime;
63 ::ll::TypedStorage<8, 8, ::SortedMeshDrawList*> mSortedMeshDrawList;
64 ::ll::TypedStorage<8, 8, ::IClientInstance&> mClientInstance;
65 ::ll::TypedStorage<8, 8, ::IMinecraftGame&> mMinecraftGame;
66 ::ll::TypedStorage<8, 8, ::ScreenContext&> mScreenContext;
67 ::ll::TypedStorage<8, 8, ::BlockActorRenderDispatcher&> mBlockEntityRenderDispatcher;
68 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ActorRenderDispatcher>> mEntityRenderDispatcher;
69 ::ll::TypedStorage<8, 8, ::ActorBlockRenderer&> mEntityBlockRenderer;
70 ::ll::TypedStorage<8, 8, ::ItemInHandRenderer&> mItemInHandRenderer;
71 ::ll::TypedStorage<8, 8, ::ItemRenderer&> mItemRenderer;
72 ::ll::TypedStorage<8, 8, ::HudIconActorRenderer&> mHudIconActorRenderer;
73 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::LightPropagation::LightVolumeManager>> mLightVolumeManager;
74 ::ll::TypedStorage<8, 8, ::ParticleSystemEngine*> mParticleSystemEngine;
75 ::ll::TypedStorage<8, 8, ::DataDrivenRendererRegistry const*> mProcessedV2DataDrivenRenderers;
76 ::ll::TypedStorage<8, 8, ::DataDrivenRendererContinuousData*> mV2DataDrivenContinuousData;
77 ::ll::TypedStorage<1, 1, bool> mV2ShouldRenderActorsWithAttachables;
78 ::ll::TypedStorage<8, 16, ::std::optional<int64>> mRenderUniqueIdOverride;
79 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BaseActorRenderContext::Impl>> mImpl;
80 ::ll::TypedStorage<4, 4, float const> mFrameAlpha;
81 ::ll::TypedStorage<4, 4, float> mActorDitheringMaxDistance;
82 ::ll::TypedStorage<1, 1, bool> mIsOnScreen;
83 ::ll::TypedStorage<1, 1, bool> mUpdateBonesAndEffects;
84 ::ll::TypedStorage<1, 1, bool> mUpdateEffects;
85 ::ll::TypedStorage<1, 1, bool> mIgnoresLighting;
86 ::ll::TypedStorage<1, 1, bool> mForceLightingOn;
87 ::ll::TypedStorage<1, 1, bool> mIsRenderingOnMap;
88 // NOLINTEND
89
90public:
91 // prevent constructor by default
92 BaseActorRenderContext& operator=(BaseActorRenderContext const&);
93 BaseActorRenderContext(BaseActorRenderContext const&);
94 BaseActorRenderContext();
95
96public:
97 // virtual functions
98 // NOLINTBEGIN
99 virtual ~BaseActorRenderContext();
100 // NOLINTEND
101
102public:
103 // member functions
104 // NOLINTBEGIN
105 MCAPI BaseActorRenderContext(
106 ::ScreenContext& screenContext,
107 ::IClientInstance& clientInstance,
108 ::IMinecraftGame& minecraftGame
109 );
110
111 MCAPI ::Vec2 getCameraRotation(float a) const;
112
113 MCAPI ::std::shared_ptr<::DataDrivenRenderer> getDataDrivenRenderer(::HashedString const& rendererName) const;
114
115 MCAPI ::Bedrock::NotNullNonOwnerPtr<::FontHandle const> getFontHandle();
116
117 MCAPI float getFrameAlpha(::Actor const& actor) const;
118 // NOLINTEND
119
120public:
121 // constructor thunks
122 // NOLINTBEGIN
123 MCAPI void*
124 $ctor(::ScreenContext& screenContext, ::IClientInstance& clientInstance, ::IMinecraftGame& minecraftGame);
125 // NOLINTEND
126
127public:
128 // destructor thunk
129 // NOLINTBEGIN
130 MCAPI void $dtor();
131 // NOLINTEND
132
133public:
134 // vftables
135 // NOLINTBEGIN
136 MCNAPI static void** $vftable();
137 // NOLINTEND
138};
Definition ActorBlockRenderer.h:5
Definition ActorRenderDispatcher.h:5
Definition Actor.h:113
Definition BaseActorRenderContext.h:5
static MCAPI void ** $vftable()
Definition BlockActorRenderDispatcher.h:5
Definition DataDrivenRendererRegistry.h:5
Definition DataDrivenRenderer.h:5
Definition FontHandle.h:5
Definition HashedString.h:5
Definition HudIconActorRenderer.h:5
Definition IClientInstance.h:5
Definition IMinecraftGame.h:5
Definition ItemInHandRenderer.h:5
Definition ItemRenderer.h:5
Definition LightVolumeManager.h:7
Definition ParticleSystemEngine.h:5
Definition ScreenContext.h:5
Definition SortedMeshDrawList.h:5
Definition Vec2.h:5
Definition BaseActorRenderContext.h:13
Definition DataDrivenRendererContinuousData.h:5