3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/math/Color.h"
7#include "mc/deps/core/resource/ResourceLocation.h"
8#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
9#include "mc/deps/core/utility/NonOwnerPointer.h"
10#include "mc/deps/minecraft_renderer/renderer/TexturePtr.h"
11#include "mc/deps/minecraft_renderer/resources/ClientTexture.h"
12#include "mc/resources/ResourcePackListener.h"
24 enum class CubemapType :
int {
32 ::ll::TypedStorage<1, 1, bool> mIsVanillaCubemap;
33 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::ResourcePackManager>> mResourcePackManager;
34 ::ll::TypedStorage<8, 192, ::std::array<::mce::TexturePtr, 6>> mPanoramaImages;
35 ::ll::TypedStorage<8, 336, ::std::array<::ResourceLocation, 6>> mPanormaResourceLocations;
36 ::ll::TypedStorage<8, 336, ::std::array<::ResourceLocation, 6>> mPanoramaHDRResourceLocations;
37 ::ll::TypedStorage<8, 24, ::mce::ClientTexture> mCubemapTexture;
38 ::ll::TypedStorage<8, 56, ::ResourceLocation> mOverlayLocation;
39 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mOverlayTexture;
40 ::ll::TypedStorage<4, 4, int> mTextureRefCount;
41 ::ll::TypedStorage<1, 1, bool> mPrimaryClientUnloaded;
42 ::ll::TypedStorage<1, 1, bool> mPendingRecreateCubemap;
43 ::ll::TypedStorage<1, 2, ::std::optional<bool>> mHDRTexturesUnavailable;
44 ::ll::TypedStorage<4, 4, ::CubemapBackgroundResources::CubemapType> mCubemapType;
45 ::ll::TypedStorage<4, 16, ::mce::Color> mFadeInColor;
50 CubemapBackgroundResources();
55 virtual ~CubemapBackgroundResources() ;
57 virtual void onActiveResourcePacksChanged(::ResourcePackManager&) ;
63 MCAPI CubemapBackgroundResources(
64 ::std::shared_ptr<::mce::TextureGroup> textureGroup,
65 ::ResourcePackManager& resourcePackManager,
66 ::CubemapBackgroundResources::CubemapType
const& cubemapType
69 MCAPI
void _checkHDRTexturesAvailableAndFallback(::std::shared_ptr<::mce::TextureGroup> textureGroup);
71 MCAPI
void _unloadPanoramaTextures(::std::shared_ptr<::mce::TextureGroup> textureGroup);
73 MCAPI
void _updateIsVanillaCubemap();
75 MCAPI
void loadAssets(
76 ::mce::TextureResourceService& textureResourceService,
77 ::std::shared_ptr<::mce::TextureGroup> textureGroup
80 MCAPI
void unloadAssets(::std::shared_ptr<::mce::TextureGroup> textureGroup);
82 MCAPI
void updateAssets(::std::shared_ptr<::mce::TextureGroup> textureGroup);
84 MCAPI
void updateCubemapType(
85 ::CubemapBackgroundResources::CubemapType
const& cubemapType,
86 ::std::shared_ptr<::mce::TextureGroup> textureGroup
94 ::std::shared_ptr<::mce::TextureGroup> textureGroup,
95 ::ResourcePackManager& resourcePackManager,
96 ::CubemapBackgroundResources::CubemapType
const& cubemapType
109 MCAPI
void $onActiveResourcePacksChanged(::ResourcePackManager&);
Definition EnableNonOwnerReferences.h:7
Definition CubemapBackgroundResources.h:5
static MCAPI void ** $vftableForEnableNonOwnerReferences()
static MCAPI void ** $vftableForResourcePackListener()
Definition ResourcePackListener.h:10
Definition ResourcePackManager.h:30
Definition TextureGroup.h:7
Definition TextureResourceService.h:7