LeviLamina
Loading...
Searching...
No Matches
SubChunkRelighter Class Reference

Public Types

enum class  SubChunkToDoBitsClearMode : int { AllSubChunkBorderBitsExceptTheOuterEdgeOfComputationBits = 0 , SetOuterEdgeOfComputationBits = 1 }
using LightPair = ::SubChunkBrightnessStorage::LightPair

Public Member Functions

MCAPI SubChunkRelighter (::IBlockSource &source, uint64 centerSubChunkIndex, ::ChunkPos const &centerChunkPos, bool isClientSide, bool originalLighting, bool useFullyDarkSubchunk)
MCAPI void _checkEdgeForSubtractiveBlockLightProcessing (::SubChunkLightIndex const &coordIndex)
MCAPI void _checkEdgeForSubtractiveSkyLightProcessing (::SubChunkLightIndex const &coordIndex)
MCAPI::SubChunk * _dirtySubChunk (::SubChunkLightIndex coordIndex, uint &subChunkIndex)
MCAPI::SubChunk * _getBlock (::SubChunkLightIndex coordIndex, ::Block const *&block, ::Block const *&extraBlock) const
MCAPI::SubChunk * _getBlock (::SubChunkLightIndex coordIndex, ::Block const *&block, ::Block const *&extraBlock, uint &subChunkIndex) const
MCAPI::SubChunkBrightnessStorage::LightPair _getLightPair (::SubChunkLightIndex coordIndex) const
MCAPI void _propagateBlockLight ()
MCAPI void _propagateBlockLight (::SubChunkLightIndex coordIndex, uchar brightness)
MCAPI void _propagateSkyLight ()
MCAPI void _propagateSkyLight (::SubChunkLightIndex coordIndex, uchar brightness)
MCAPI void _propagateSubtractiveBlockLight ()
MCAPI void _propagateSubtractiveBlockLight (::SubChunkLightIndex coordIndex, uchar effectiveBrightness)
MCAPI void _propagateSubtractiveSkyLight (bool shouldCheckForIgnoredAbsorptionValues)
MCAPI void _propagateSubtractiveSkyLight (::SubChunkLightIndex coordIndex, uchar effectiveBrightness)
MCAPI void _setLightHelper (::SubChunkLightIndex coordIndex, ::Brightness oldBrightness, ::Brightness newBrightness, ::Brightness oldAbsorption, ::Brightness newAbsorption, uint lightType, uint subChunkIndex)
MCAPI void _setPropagatedBlockLightValue (::SubChunkLightIndex coordIndex, uchar brightness)
MCAPI void _setPropagatedSkyLightValue (::SubChunkLightIndex coordIndex, uchar brightness)
MCAPI void _setSkyLight (::SubChunkLightIndex coordIndex, ::Brightness oldBrightness, ::Brightness newBrightness, ::Brightness oldAbsorption, ::Brightness newAbsorption)
MCAPI void relightSubChunk (::LevelChunk const &levelChunk, ::std::vector<::SubChunkLightUpdate > const &alteredBlockList, ::std::vector<::BlockPos > &brightnessChangedList)
MCAPI void setBlockLight (::Pos const &pos, ::Brightness oldBrightness, ::Brightness newBrightness, ::Brightness oldAbsorption, ::Brightness newAbsorption)
MCAPI void * $ctor (::IBlockSource &source, uint64 centerSubChunkIndex, ::ChunkPos const &centerChunkPos, bool isClientSide, bool originalLighting, bool useFullyDarkSubchunk)
MCAPI void $dtor ()

Static Public Member Functions

static MCAPI ::std::bitset< 196608 > computeAllSubChunkBorderBitsExceptTheOuterEdgeOfComputationBits ()
static MCAPI ::std::bitset< 196608 > computeOuterEdgeOfComputationBits ()
static MCAPI void initializeStatics ()
static MCAPI ::std::bitset< 196608 > & mAllSubChunkBorderBitsExceptTheOuterEdgeOfComputationBits ()
static MCAPI ::std::bitset< 196608 > & mOuterEdgeOfComputationBits ()
static MCAPI ::SpinLockImplsDarkSpinLock ()
static MCAPI ::std::unique_ptr<::SubChunk > & sFullyDarkSubChunk ()
static MCAPI ::std::unique_ptr<::SubChunk > & sFullyLitSubChunk ()
static MCAPI ::SpinLockImplsLitSpinLock ()

Public Attributes

::ll::TypedStorage< 1, 1, bool > mNeedToResetToDoBits
::ll::TypedStorage< 8, 24576, ::std::bitset< 196608 > > mToDo
::ll::TypedStorage< 1, 4096, ::std::array< uchar, 4096 > > mOldAbsorption
::ll::TypedStorage< 8, 768, ::std::vector<::SubChunkLightIndex >[2][16]> mAdditiveBlocksToProcess
::ll::TypedStorage< 8, 384, ::std::vector<::SubChunkLightIndex >[16]> mEdgeBlocksToProcess
::ll::TypedStorage< 8, 384, ::std::vector<::SubChunkLightIndex >[16]> mBlocksToProcess
::ll::TypedStorage< 8, 24, ::std::vector<::SubChunkLightIndex > > mAbsorptionBlocksToProcess
::ll::TypedStorage< 8, 48, ::std::vector<::SubtractiveLightInfo >[2]> mSubtractiveBlocks
::ll::TypedStorage< 8, 384, ::SubChunk *[3][4][4]> mSubChunkPtrArray
::ll::TypedStorage< 1, 48, bool[3][4][4]> mSubChunkTouched
::ll::TypedStorage< 8, 8, ::ChunkPosmCenterChunkPos
::ll::TypedStorage< 8, 8, uint64 > mCenterSubChunkIndex
::ll::TypedStorage< 1, 1, bool > mOriginalLighting
::ll::TypedStorage< 1, 1, bool > mIsClientSide
::ll::TypedStorage< 1, 1, ::SubChunkBrightnessStorage::LightPairmDefaultLightPair

The documentation for this class was generated from the following file: