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 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::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 ()
 
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 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, ::SubChunkBrightnessStorage::LightPairmDefaultLightPair
 

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