diff --git a/src/mc/entity/systems/LevelChunkTickingSystem.h b/src/mc/entity/systems/LevelChunkTickingSystem.h index cab64ea110..18f7eaecf0 100644 --- a/src/mc/entity/systems/LevelChunkTickingSystem.h +++ b/src/mc/entity/systems/LevelChunkTickingSystem.h @@ -18,12 +18,6 @@ struct TickingSystemWithInfo; // clang-format on class LevelChunkTickingSystem : public ::ITickingSystem { -public: - // prevent constructor by default - LevelChunkTickingSystem& operator=(LevelChunkTickingSystem const&); - LevelChunkTickingSystem(LevelChunkTickingSystem const&); - LevelChunkTickingSystem(); - public: // virtual functions // NOLINTBEGIN diff --git a/src/mc/external/webrtc/webrtc.h b/src/mc/external/webrtc/webrtc.h index e93002f6da..a9652f253d 100644 --- a/src/mc/external/webrtc/webrtc.h +++ b/src/mc/external/webrtc/webrtc.h @@ -78,7 +78,8 @@ namespace webrtc { struct SsrcInfo; } namespace webrtc { // inner types enum : int { - KMaxSpatialLayers = 5, + // bitfield representation + KMaxEncoderBuffers = 1 << 3, }; enum : int { @@ -99,8 +100,7 @@ enum : int { }; enum : int { - // bitfield representation - KMaxEncoderBuffers = 1 << 3, + KMaxSpatialLayers = 5, }; // functions diff --git a/src/mc/network/packet/LevelChunkPacket.h b/src/mc/network/packet/LevelChunkPacket.h index 0876fc5de1..0844a65aee 100644 --- a/src/mc/network/packet/LevelChunkPacket.h +++ b/src/mc/network/packet/LevelChunkPacket.h @@ -28,14 +28,8 @@ class LevelChunkPacket : public ::Packet { public: // member variables // NOLINTBEGIN - ::ll::UntypedStorage<8, 8> mUnke3cf9a; + ::ll::TypedStorage<8, 8, uint64> blobId; // NOLINTEND - - public: - // prevent constructor by default - SubChunkMetadata& operator=(SubChunkMetadata const&); - SubChunkMetadata(SubChunkMetadata const&); - SubChunkMetadata(); }; public: diff --git a/src/mc/world/level/BlockTickingQueue.h b/src/mc/world/level/BlockTickingQueue.h index 62fa71b47f..8ed470fc9d 100644 --- a/src/mc/world/level/BlockTickingQueue.h +++ b/src/mc/world/level/BlockTickingQueue.h @@ -36,24 +36,12 @@ class BlockTickingQueue { public: // member variables // NOLINTBEGIN - ::ll::UntypedStorage<1, 1> mUnk958ddb; - ::ll::UntypedStorage<8, 40> mUnk723bc0; + ::ll::TypedStorage<1, 1, bool> mIsRemoved; + ::ll::TypedStorage<8, 40, ::TickNextTickData> mData; // NOLINTEND - - public: - // prevent constructor by default - BlockTick& operator=(BlockTick const&); - BlockTick(BlockTick const&); - BlockTick(); }; - struct HashBlockTick { - public: - // prevent constructor by default - HashBlockTick& operator=(HashBlockTick const&); - HashBlockTick(HashBlockTick const&); - HashBlockTick(); - }; + struct HashBlockTick {}; class TickDataSet : public ::MovePriorityQueue<::BlockTickingQueue::BlockTick, ::std::greater<::BlockTickingQueue::BlockTick>> { diff --git a/src/mc/world/level/LevelChunkMetaDataManager.h b/src/mc/world/level/LevelChunkMetaDataManager.h index 585cc76f1d..e665979eca 100644 --- a/src/mc/world/level/LevelChunkMetaDataManager.h +++ b/src/mc/world/level/LevelChunkMetaDataManager.h @@ -17,23 +17,18 @@ class LevelChunk; class LevelChunkMetaData; class LevelChunkMetaDataDictionary; class LevelSeed64; +namespace Bedrock::PubSub { class Subscription; } // clang-format on class LevelChunkMetaDataManager { public: // member variables // NOLINTBEGIN - ::ll::UntypedStorage<8, 16> mUnka0bf51; - ::ll::UntypedStorage<8, 16> mUnkab425c; - ::ll::UntypedStorage<8, 16> mUnk206103; + ::ll::TypedStorage<8, 16, ::std::shared_ptr<::LevelChunkMetaDataDictionary>> mLevelChunkMetaDataDictionary; + ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnNewDimensionCreatedSubscription; + ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnChunkLoadedSubscription; // NOLINTEND -public: - // prevent constructor by default - LevelChunkMetaDataManager& operator=(LevelChunkMetaDataManager const&); - LevelChunkMetaDataManager(LevelChunkMetaDataManager const&); - LevelChunkMetaDataManager(); - public: // member functions // NOLINTBEGIN diff --git a/src/mc/world/level/LevelChunkPerformanceTelemetry.h b/src/mc/world/level/LevelChunkPerformanceTelemetry.h index ede7654c4c..88890e1c0f 100644 --- a/src/mc/world/level/LevelChunkPerformanceTelemetry.h +++ b/src/mc/world/level/LevelChunkPerformanceTelemetry.h @@ -7,6 +7,7 @@ // auto generated forward declare list // clang-format off +class IMinecraftEventing; struct ChunkPerformanceData; // clang-format on @@ -14,21 +15,15 @@ class LevelChunkPerformanceTelemetry { public: // member variables // NOLINTBEGIN - ::ll::UntypedStorage<8, 8> mUnkf6c20b; - ::ll::UntypedStorage<4, 4> mUnk48c0ae; - ::ll::UntypedStorage<1, 1> mUnk8b573f; - ::ll::UntypedStorage<8, 8> mUnkd52427; - ::ll::UntypedStorage<8, 64> mUnk13e530; - ::ll::UntypedStorage<1, 1> mUnkf39a71; - ::ll::UntypedStorage<1, 1> mUnk63c6e8; + ::ll::TypedStorage<8, 8, ::IMinecraftEventing&> mEventing; + ::ll::TypedStorage<4, 4, uint const> mServerTickRange; + ::ll::TypedStorage<1, 1, bool const> mIsClientSide; + ::ll::TypedStorage<8, 8, uint64> mPerformanceTelemetryTimer; + ::ll::TypedStorage<8, 64, ::std::function> mTelemetryPeriodicCallback; + ::ll::TypedStorage<1, 1, bool> mPerformanceTelemetryFired; + ::ll::TypedStorage<1, 1, bool> mShouldTick; // NOLINTEND -public: - // prevent constructor by default - LevelChunkPerformanceTelemetry& operator=(LevelChunkPerformanceTelemetry const&); - LevelChunkPerformanceTelemetry(LevelChunkPerformanceTelemetry const&); - LevelChunkPerformanceTelemetry(); - public: // member functions // NOLINTBEGIN diff --git a/src/mc/world/level/block/states/BlockStateInstance.h b/src/mc/world/level/block/states/BlockStateInstance.h index 1e44008d4e..ee7b746009 100644 --- a/src/mc/world/level/block/states/BlockStateInstance.h +++ b/src/mc/world/level/block/states/BlockStateInstance.h @@ -8,6 +8,13 @@ class BlockState; // clang-format on class BlockStateInstance { +public: + template + requires(std::is_integral_v || std::is_enum_v) + T get(ushort data) const { + return static_cast((data >> (mEndBit - mNumBits + 1)) & ((1 << mNumBits) - 1)); + } + public: // member variables // NOLINTBEGIN @@ -19,13 +26,6 @@ class BlockStateInstance { ::ll::TypedStorage<8, 8, ::BlockState const*> mState; // NOLINTEND -public: - template - requires(std::is_integral_v || std::is_enum_v) - T get(ushort data) const { - return static_cast((data >> (mEndBit - mNumBits + 1)) & ((1 << mNumBits) - 1)); - } - public: // member functions // NOLINTBEGIN diff --git a/src/mc/world/level/chunk/LevelChunk.h b/src/mc/world/level/chunk/LevelChunk.h index 73da3ffc92..a5ddacf010 100644 --- a/src/mc/world/level/chunk/LevelChunk.h +++ b/src/mc/world/level/chunk/LevelChunk.h @@ -135,17 +135,11 @@ class LevelChunk { public: // member variables // NOLINTBEGIN - ::ll::UntypedStorage<1, 1> mUnk6421bd; - ::ll::UntypedStorage<1, 1> mUnk82d63c; - ::ll::UntypedStorage<1, 1> mUnk1cca4f; - ::ll::UntypedStorage<1, 1> mUnkd8dd50; + ::ll::TypedStorage<1, 1, bool> mWasStored; + ::ll::TypedStorage<1, 1, bool> mWasGenerated; + ::ll::TypedStorage<1, 1, bool> mWasRequestedInsideTickRange; + ::ll::TypedStorage<1, 1, bool> mWasLoadedInsideTickRange; // NOLINTEND - - public: - // prevent constructor by default - Telemetry& operator=(Telemetry const&); - Telemetry(Telemetry const&); - Telemetry(); }; using BlockList = ::std::vector<::BlockPos>; @@ -158,15 +152,9 @@ class LevelChunk { public: // member variables // NOLINTBEGIN - ::ll::UntypedStorage<4, 24> mUnkaa0f6a; - ::ll::UntypedStorage<1, 1> mUnkcb47a3; + ::ll::TypedStorage<4, 24, ::BoundingBox> aabb; + ::ll::TypedStorage<1, 1, ::HardcodedSpawnAreaType> type; // NOLINTEND - - public: - // prevent constructor by default - SpawningArea& operator=(SpawningArea const&); - SpawningArea(SpawningArea const&); - SpawningArea(); }; using BBorder = bool; diff --git a/src/mc/world/level/chunk/LevelChunkAndSubChunkLoggingData.h b/src/mc/world/level/chunk/LevelChunkAndSubChunkLoggingData.h index 6c57ab6388..cdaca69f3b 100644 --- a/src/mc/world/level/chunk/LevelChunkAndSubChunkLoggingData.h +++ b/src/mc/world/level/chunk/LevelChunkAndSubChunkLoggingData.h @@ -4,11 +4,14 @@ // auto generated inclusion list #include "mc/deps/core/utility/EnableNonOwnerReferences.h" +#include "mc/world/level/chunk/ChunkState.h" +#include "mc/world/level/chunk/SubChunk.h" // auto generated forward declare list // clang-format off class ChunkPos; class SubChunkPos; +namespace Bedrock::Threading { class Mutex; } // clang-format on struct LevelChunkAndSubChunkLoggingData : public ::Bedrock::EnableNonOwnerReferences { @@ -23,45 +26,35 @@ struct LevelChunkAndSubChunkLoggingData : public ::Bedrock::EnableNonOwnerRefere public: // member variables // NOLINTBEGIN - ::ll::UntypedStorage<8, 8> mUnke8ff39; - ::ll::UntypedStorage<8, 32> mUnk398c02; - ::ll::UntypedStorage<1, 1> mUnk6c0f4b; + ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mTimePoint; + ::ll::TypedStorage<8, 32, ::std::string> mLogEntry; + ::ll::TypedStorage<1, 1, bool> mIsClientSide; // NOLINTEND - - public: - // prevent constructor by default - LogEntry& operator=(LogEntry const&); - LogEntry(LogEntry const&); - LogEntry(); }; public: // member variables // NOLINTBEGIN - ::ll::UntypedStorage<4, 12> mUnk825d58; - ::ll::UntypedStorage<4, 12> mUnkeac1da; - ::ll::UntypedStorage<1, 1> mUnk6f8486; - ::ll::UntypedStorage<1, 1> mUnkde6950; - ::ll::UntypedStorage<1, 1> mUnk52206e; - ::ll::UntypedStorage<1, 1> mUnk9f6042; - ::ll::UntypedStorage<1, 1> mUnkcd7f6b; - ::ll::UntypedStorage<1, 1> mUnk3a940e; - ::ll::UntypedStorage<4, 4> mUnke24144; - ::ll::UntypedStorage<4, 4> mUnkd187a7; - ::ll::UntypedStorage<4, 4> mUnkd5517f; - ::ll::UntypedStorage<8, 8> mUnk2330e3; - ::ll::UntypedStorage<8, 16> mUnkd1257b; - ::ll::UntypedStorage<8, 16> mUnk768d4c; - ::ll::UntypedStorage<8, 24> mUnk5de58f; - ::ll::UntypedStorage<8, 80> mUnk15c6dd; + ::ll::TypedStorage<4, 12, ::SubChunkPos> mCurrentPlayerSubChunk; + ::ll::TypedStorage<4, 12, ::SubChunkPos> mSubChunkToTrack; + ::ll::TypedStorage<1, 1, bool> mCollectData; + ::ll::TypedStorage<1, 1, bool> mLogAllData; + ::ll::TypedStorage<1, 1, bool> mCollectSubChunkPosition; + ::ll::TypedStorage<1, 1, ::ChunkState> mTrackedLevelChunkStateServer; + ::ll::TypedStorage<1, 1, ::ChunkState> mTrackedLevelChunkStateClient; + ::ll::TypedStorage<1, 1, ::ChunkState> mTrackedLevelChunkStateClientServer; + ::ll::TypedStorage<4, 4, ::SubChunk::SubChunkState> mTrackedSubChunkStateServer; + ::ll::TypedStorage<4, 4, ::SubChunk::SubChunkState> mTrackedSubChunkStateClient; + ::ll::TypedStorage<4, 4, ::SubChunk::SubChunkState> mTrackedSubChunkStateClientServer; + ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLogStartTime; + ::ll::TypedStorage<8, 16, ::std::map<::SubChunkPos, ::std::vector<::LevelChunkAndSubChunkLoggingData::LogEntry>>> + mSubChunkLog; + ::ll::TypedStorage<8, 16, ::std::map<::ChunkPos, ::std::vector<::LevelChunkAndSubChunkLoggingData::LogEntry>>> + mLevelChunkLog; + ::ll::TypedStorage<8, 24, ::std::vector<::LevelChunkAndSubChunkLoggingData::LogEntry>> mGeneralEventLog; + ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mMutex; // NOLINTEND -public: - // prevent constructor by default - LevelChunkAndSubChunkLoggingData& operator=(LevelChunkAndSubChunkLoggingData const&); - LevelChunkAndSubChunkLoggingData(LevelChunkAndSubChunkLoggingData const&); - LevelChunkAndSubChunkLoggingData(); - public: // virtual functions // NOLINTBEGIN diff --git a/src/mc/world/level/chunk/LevelChunkBlockActorAccessToken.h b/src/mc/world/level/chunk/LevelChunkBlockActorAccessToken.h index e233aff006..e0c0b71dad 100644 --- a/src/mc/world/level/chunk/LevelChunkBlockActorAccessToken.h +++ b/src/mc/world/level/chunk/LevelChunkBlockActorAccessToken.h @@ -2,10 +2,4 @@ #include "mc/_HeaderOutputPredefine.h" -class LevelChunkBlockActorAccessToken { -public: - // prevent constructor by default - LevelChunkBlockActorAccessToken& operator=(LevelChunkBlockActorAccessToken const&); - LevelChunkBlockActorAccessToken(LevelChunkBlockActorAccessToken const&); - LevelChunkBlockActorAccessToken(); -}; +class LevelChunkBlockActorAccessToken {}; diff --git a/src/mc/world/level/chunk/LevelChunkBuilderData.h b/src/mc/world/level/chunk/LevelChunkBuilderData.h index c97f139a73..2bbe63d231 100644 --- a/src/mc/world/level/chunk/LevelChunkBuilderData.h +++ b/src/mc/world/level/chunk/LevelChunkBuilderData.h @@ -2,6 +2,17 @@ #include "mc/_HeaderOutputPredefine.h" +// auto generated inclusion list +#include "mc/world/level/chunk/ChunkState.h" +#include "mc/world/level/chunk/LevelChunkGridAreaElement.h" + +// auto generated forward declare list +// clang-format off +class ChunkPos; +class LevelChunk; +class SpinLockImpl; +// clang-format on + class LevelChunkBuilderData { public: // LevelChunkBuilderData inner types declare @@ -14,36 +25,29 @@ class LevelChunkBuilderData { public: // member variables // NOLINTBEGIN - ::ll::UntypedStorage<8, 16> mUnk8e203f; - ::ll::UntypedStorage<4, 4> mUnkc31546; + ::ll::TypedStorage<8, 16, ::std::pair<::ChunkPos, ::ChunkState>> mChunkPosAndExpectedState; + ::ll::TypedStorage<4, 4, int> mPriority; // NOLINTEND - - public: - // prevent constructor by default - ChunkReadyForProcessingElement& operator=(ChunkReadyForProcessingElement const&); - ChunkReadyForProcessingElement(ChunkReadyForProcessingElement const&); - ChunkReadyForProcessingElement(); }; public: // member variables // NOLINTBEGIN - ::ll::UntypedStorage<8, 32> mUnk335e83; - ::ll::UntypedStorage<8, 64> mUnk9d1019; - ::ll::UntypedStorage<8, 32> mUnk46c2a0; - ::ll::UntypedStorage<8, 24> mUnkb5200d; - ::ll::UntypedStorage<8, 32> mUnkdfaac4; - ::ll::UntypedStorage<8, 64> mUnk18e213; - ::ll::UntypedStorage<8, 24> mUnk242213; - ::ll::UntypedStorage<4, 4> mUnkf58007; - ::ll::UntypedStorage<8, 32> mUnkd4fa22; + ::ll::TypedStorage<8, 32, ::SpinLockImpl> mChunkGenerationGridMapSpinLock; + ::ll::TypedStorage< + 8, + 64, + ::std::unordered_map<::ChunkPos, ::std::shared_ptr<::LevelChunkGridAreaElement<::std::weak_ptr<::LevelChunk>>>>> + mChunkGenerationGridMap; + ::ll::TypedStorage<8, 32, ::SpinLockImpl> mChunksToAddToProcessingSpinLock; + ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::ChunkPos, ::ChunkState>>> mChunksToAddToProcessing; + ::ll::TypedStorage<8, 32, ::SpinLockImpl> mChunksReadyForProcessingSpinLock; + ::ll::TypedStorage<8, 64, ::std::unordered_set<::std::pair<::ChunkPos, ::ChunkState>>> mChunksReadyForProcessing; + ::ll::TypedStorage<8, 24, ::std::vector<::LevelChunkBuilderData::ChunkReadyForProcessingElement>> mChunkSortVector; + ::ll::TypedStorage<4, 4, ::std::atomic> mChunkGenerationTasksInFlight; + ::ll::TypedStorage<8, 32, ::SpinLockImpl> mSpawnTasksLock; // NOLINTEND -public: - // prevent constructor by default - LevelChunkBuilderData& operator=(LevelChunkBuilderData const&); - LevelChunkBuilderData(LevelChunkBuilderData const&); - public: // member functions // NOLINTBEGIN diff --git a/src/mc/world/level/chunk/LevelChunkEventManager.h b/src/mc/world/level/chunk/LevelChunkEventManager.h index 5addfe4b7d..488003499d 100644 --- a/src/mc/world/level/chunk/LevelChunkEventManager.h +++ b/src/mc/world/level/chunk/LevelChunkEventManager.h @@ -4,6 +4,7 @@ // auto generated inclusion list #include "mc/deps/core/utility/pub_sub/Connector.h" +#include "mc/deps/core/utility/pub_sub/Publisher.h" #include "mc/world/level/chunk/ILevelChunkEventManagerConnector.h" // auto generated forward declare list @@ -11,24 +12,34 @@ class ChunkSource; class ILevelChunkEventManagerProxy; class LevelChunk; +namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; } // clang-format on class LevelChunkEventManager : public ::ILevelChunkEventManagerConnector { public: // member variables // NOLINTBEGIN - ::ll::UntypedStorage<8, 128> mUnk5fa7b8; - ::ll::UntypedStorage<8, 128> mUnkb42b90; - ::ll::UntypedStorage<8, 128> mUnk7144be; - ::ll::UntypedStorage<8, 8> mUnka9f96b; + ::ll::TypedStorage< + 8, + 128, + ::Bedrock::PubSub:: + Publisher> + mOnChunkLoadedPublisher; + ::ll::TypedStorage< + 8, + 128, + ::Bedrock::PubSub:: + Publisher> + mOnChunkReloadedPublisher; + ::ll::TypedStorage< + 8, + 128, + ::Bedrock::PubSub::Publisher> + mOnChunkDiscardedPublisher; + ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::ILevelChunkEventManagerProxy>> const> + mLevelChunkEventManagerProxy; // NOLINTEND -public: - // prevent constructor by default - LevelChunkEventManager& operator=(LevelChunkEventManager const&); - LevelChunkEventManager(LevelChunkEventManager const&); - LevelChunkEventManager(); - public: // virtual functions // NOLINTBEGIN diff --git a/src/mc/world/level/chunk/LevelChunkEventManagerProxy.h b/src/mc/world/level/chunk/LevelChunkEventManagerProxy.h index 2113334b24..57044ef592 100644 --- a/src/mc/world/level/chunk/LevelChunkEventManagerProxy.h +++ b/src/mc/world/level/chunk/LevelChunkEventManagerProxy.h @@ -12,12 +12,6 @@ class LevelChunk; // clang-format on class LevelChunkEventManagerProxy : public ::ILevelChunkEventManagerProxy { -public: - // prevent constructor by default - LevelChunkEventManagerProxy& operator=(LevelChunkEventManagerProxy const&); - LevelChunkEventManagerProxy(LevelChunkEventManagerProxy const&); - LevelChunkEventManagerProxy(); - public: // virtual functions // NOLINTBEGIN diff --git a/src/mc/world/level/chunk/LevelChunkFinalDeleter.h b/src/mc/world/level/chunk/LevelChunkFinalDeleter.h index b7bc8c962a..8c2b324796 100644 --- a/src/mc/world/level/chunk/LevelChunkFinalDeleter.h +++ b/src/mc/world/level/chunk/LevelChunkFinalDeleter.h @@ -8,12 +8,6 @@ class LevelChunk; // clang-format on struct LevelChunkFinalDeleter { -public: - // prevent constructor by default - LevelChunkFinalDeleter& operator=(LevelChunkFinalDeleter const&); - LevelChunkFinalDeleter(LevelChunkFinalDeleter const&); - LevelChunkFinalDeleter(); - public: // member functions // NOLINTBEGIN diff --git a/src/mc/world/level/chunk/LevelChunkMemoryEstimateData.h b/src/mc/world/level/chunk/LevelChunkMemoryEstimateData.h index a8fa95b6b8..f8d5ab25a5 100644 --- a/src/mc/world/level/chunk/LevelChunkMemoryEstimateData.h +++ b/src/mc/world/level/chunk/LevelChunkMemoryEstimateData.h @@ -6,22 +6,16 @@ struct LevelChunkMemoryEstimateData { public: // member variables // NOLINTBEGIN - ::ll::UntypedStorage<8, 8> mUnk98a1b9; - ::ll::UntypedStorage<8, 8> mUnkb05ccd; - ::ll::UntypedStorage<8, 8> mUnk9f07f0; - ::ll::UntypedStorage<8, 8> mUnk2d87f5; - ::ll::UntypedStorage<8, 8> mUnkf728a8; - ::ll::UntypedStorage<8, 8> mUnkd2c626; - ::ll::UntypedStorage<8, 8> mUnk70f95c; - ::ll::UntypedStorage<8, 8> mUnk1d8c34; - ::ll::UntypedStorage<8, 8> mUnk9ccd40; - ::ll::UntypedStorage<8, 8> mUnke3ebcf; - ::ll::UntypedStorage<8, 8> mUnkc07669; + ::ll::TypedStorage<8, 8, uint64> mTotalLevelChunkSize; + ::ll::TypedStorage<8, 8, uint64> mSubChunkLightDataSize; + ::ll::TypedStorage<8, 8, uint64> mSubChunkBlockDataSize; + ::ll::TypedStorage<8, 8, uint64> mBiomeData3DSize; + ::ll::TypedStorage<8, 8, uint64> mBlockTickingQueueSize; + ::ll::TypedStorage<8, 8, uint64> mMinSubChunkPaletteSize; + ::ll::TypedStorage<8, 8, double> mAverageSubChunkPaletteSize; + ::ll::TypedStorage<8, 8, uint64> mMaxSubChunkPaletteSize; + ::ll::TypedStorage<8, 8, uint64> mMinBiomePaletteSize; + ::ll::TypedStorage<8, 8, double> mAverageBiomePaletteSize; + ::ll::TypedStorage<8, 8, uint64> mMaxBiomePaletteSize; // NOLINTEND - -public: - // prevent constructor by default - LevelChunkMemoryEstimateData& operator=(LevelChunkMemoryEstimateData const&); - LevelChunkMemoryEstimateData(LevelChunkMemoryEstimateData const&); - LevelChunkMemoryEstimateData(); }; diff --git a/src/mc/world/level/chunk/LevelChunkMetaData.h b/src/mc/world/level/chunk/LevelChunkMetaData.h index c16c644e3c..e829bbc614 100644 --- a/src/mc/world/level/chunk/LevelChunkMetaData.h +++ b/src/mc/world/level/chunk/LevelChunkMetaData.h @@ -4,6 +4,7 @@ // auto generated forward declare list // clang-format off +class CompoundTag; class IDataInput; class IDataOutput; // clang-format on @@ -12,16 +13,11 @@ class LevelChunkMetaData { public: // member variables // NOLINTBEGIN - ::ll::UntypedStorage<8, 24> mUnk1e26b3; - ::ll::UntypedStorage<8, 8> mUnk79104c; - ::ll::UntypedStorage<1, 1> mUnk5525bc; + ::ll::TypedStorage<8, 24, ::CompoundTag> mMetaData; + ::ll::TypedStorage<8, 8, uint64> mCurrentHash; + ::ll::TypedStorage<1, 1, bool> mHashNeedsRecomputing; // NOLINTEND -public: - // prevent constructor by default - LevelChunkMetaData& operator=(LevelChunkMetaData const&); - LevelChunkMetaData(); - public: // member functions // NOLINTBEGIN diff --git a/src/mc/world/level/chunk/LevelChunkMetaDataDebug.h b/src/mc/world/level/chunk/LevelChunkMetaDataDebug.h index cbe4f38ebf..2fe26a54fd 100644 --- a/src/mc/world/level/chunk/LevelChunkMetaDataDebug.h +++ b/src/mc/world/level/chunk/LevelChunkMetaDataDebug.h @@ -5,20 +5,20 @@ // auto generated inclusion list #include "mc/deps/core/utility/EnableNonOwnerReferences.h" +// auto generated forward declare list +// clang-format off +class LevelChunk; +class LevelChunkMetaDataDictionary; +// clang-format on + struct LevelChunkMetaDataDebug : public ::Bedrock::EnableNonOwnerReferences { public: // member variables // NOLINTBEGIN - ::ll::UntypedStorage<8, 16> mUnkf640a9; - ::ll::UntypedStorage<8, 16> mUnk6f67a7; + ::ll::TypedStorage<8, 16, ::std::weak_ptr<::LevelChunk>> mActiveLevelChunk; + ::ll::TypedStorage<8, 16, ::std::weak_ptr<::LevelChunkMetaDataDictionary>> mLevelChunkMetaDataDictionary; // NOLINTEND -public: - // prevent constructor by default - LevelChunkMetaDataDebug& operator=(LevelChunkMetaDataDebug const&); - LevelChunkMetaDataDebug(LevelChunkMetaDataDebug const&); - LevelChunkMetaDataDebug(); - public: // virtual functions // NOLINTBEGIN diff --git a/src/mc/world/level/chunk/LevelChunkMetaDataDictionary.h b/src/mc/world/level/chunk/LevelChunkMetaDataDictionary.h index 531168e99e..192e88ead3 100644 --- a/src/mc/world/level/chunk/LevelChunkMetaDataDictionary.h +++ b/src/mc/world/level/chunk/LevelChunkMetaDataDictionary.h @@ -9,20 +9,18 @@ class LevelChunkMetaData; // clang-format on class LevelChunkMetaDataDictionary { +public: + // LevelChunkMetaDataDictionary inner types define + using PostSerializeWriteCallback = ::std::function; + public: // member variables // NOLINTBEGIN - ::ll::UntypedStorage<8, 16> mUnk56a38a; - ::ll::UntypedStorage<1, 1> mUnk2dd3cb; - ::ll::UntypedStorage<8, 8> mUnkfd998b; + ::ll::TypedStorage<8, 16, ::std::map>> mDictionary; + ::ll::TypedStorage<1, 1, bool> mDictionaryDirty; + ::ll::TypedStorage<8, 8, ::std::shared_mutex> mSharedMutex; // NOLINTEND -public: - // prevent constructor by default - LevelChunkMetaDataDictionary& operator=(LevelChunkMetaDataDictionary const&); - LevelChunkMetaDataDictionary(LevelChunkMetaDataDictionary const&); - LevelChunkMetaDataDictionary(); - public: // member functions // NOLINTBEGIN diff --git a/src/mc/world/level/chunk/LevelChunkPhase1Deleter.h b/src/mc/world/level/chunk/LevelChunkPhase1Deleter.h index d5b3cf661b..af934d5b43 100644 --- a/src/mc/world/level/chunk/LevelChunkPhase1Deleter.h +++ b/src/mc/world/level/chunk/LevelChunkPhase1Deleter.h @@ -8,12 +8,6 @@ class LevelChunk; // clang-format on struct LevelChunkPhase1Deleter { -public: - // prevent constructor by default - LevelChunkPhase1Deleter& operator=(LevelChunkPhase1Deleter const&); - LevelChunkPhase1Deleter(LevelChunkPhase1Deleter const&); - LevelChunkPhase1Deleter(); - public: // member functions // NOLINTBEGIN diff --git a/src/mc/world/level/chunk/LevelChunkSaveManager.h b/src/mc/world/level/chunk/LevelChunkSaveManager.h index 086005181a..ac1dca4732 100644 --- a/src/mc/world/level/chunk/LevelChunkSaveManager.h +++ b/src/mc/world/level/chunk/LevelChunkSaveManager.h @@ -3,16 +3,20 @@ #include "mc/_HeaderOutputPredefine.h" // auto generated inclusion list +#include "mc/deps/core/utility/AutomaticID.h" #include "mc/deps/core/utility/NonOwnerPointer.h" // auto generated forward declare list // clang-format off +class ChunkPos; class ChunkSource; +class Dimension; class DimensionManager; class GameplayUserManager; class ILevelChunkEventManagerConnector; class ILevelChunkSaveManagerProxy; class LevelChunk; +namespace Bedrock::PubSub { class Subscription; } // clang-format on class LevelChunkSaveManager { @@ -28,43 +32,33 @@ class LevelChunkSaveManager { public: // member variables // NOLINTBEGIN - ::ll::UntypedStorage<4, 4> mUnk246613; - ::ll::UntypedStorage<8, 8> mUnkc50f27; - ::ll::UntypedStorage<4, 4> mUnk200da2; + ::ll::TypedStorage<4, 4, int> mDist; + ::ll::TypedStorage<8, 8, ::ChunkPos> mPosition; + ::ll::TypedStorage<4, 4, ::DimensionType> mDimensionId; // NOLINTEND - - public: - // prevent constructor by default - LevelChunkQueuedSavingElement& operator=(LevelChunkQueuedSavingElement const&); - LevelChunkQueuedSavingElement(LevelChunkQueuedSavingElement const&); - LevelChunkQueuedSavingElement(); }; - class CompareLevelChunkQueuedSavingElement { - public: - // prevent constructor by default - CompareLevelChunkQueuedSavingElement& operator=(CompareLevelChunkQueuedSavingElement const&); - CompareLevelChunkQueuedSavingElement(CompareLevelChunkQueuedSavingElement const&); - CompareLevelChunkQueuedSavingElement(); - }; + class CompareLevelChunkQueuedSavingElement {}; public: // member variables // NOLINTBEGIN - ::ll::UntypedStorage<8, 8> mUnkd57538; - ::ll::UntypedStorage<8, 32> mUnk950a43; - ::ll::UntypedStorage<1, 1> mUnk11735a; - ::ll::UntypedStorage<8, 24> mUnk684d99; - ::ll::UntypedStorage<8, 24> mUnk7a90a3; - ::ll::UntypedStorage<8, 16> mUnkcb48d3; + ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::ILevelChunkSaveManagerProxy>> const> + mLevelChunkSaveManagerProxy; + ::ll::TypedStorage< + 8, + 32, + ::std::priority_queue< + ::LevelChunkSaveManager::LevelChunkQueuedSavingElement, + ::std::vector<::LevelChunkSaveManager::LevelChunkQueuedSavingElement>, + ::LevelChunkSaveManager::CompareLevelChunkQueuedSavingElement>> + mLevelChunkSaveQueue; + ::ll::TypedStorage<1, 1, bool> mChunkSaveInProgress; + ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::GameplayUserManager> const> mGameplayUserManager; + ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::DimensionManager> const> mDimensionManager; + ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnChunkLoadedSubscription; // NOLINTEND -public: - // prevent constructor by default - LevelChunkSaveManager& operator=(LevelChunkSaveManager const&); - LevelChunkSaveManager(LevelChunkSaveManager const&); - LevelChunkSaveManager(); - public: // member functions // NOLINTBEGIN diff --git a/src/mc/world/level/chunk/LevelChunkSaveManagerProxy.h b/src/mc/world/level/chunk/LevelChunkSaveManagerProxy.h index 9159b4f496..40d1327435 100644 --- a/src/mc/world/level/chunk/LevelChunkSaveManagerProxy.h +++ b/src/mc/world/level/chunk/LevelChunkSaveManagerProxy.h @@ -15,6 +15,7 @@ class DimensionManager; class LevelChunk; class Random; class Scheduler; +class TaskGroup; class TaskResult; // clang-format on @@ -22,16 +23,10 @@ class LevelChunkSaveManagerProxy : public ::ILevelChunkSaveManagerProxy { public: // member variables // NOLINTBEGIN - ::ll::UntypedStorage<8, 8> mUnk34e07c; - ::ll::UntypedStorage<8, 8> mUnkb39bf4; + ::ll::TypedStorage<8, 8, ::Random&> mRandom; + ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::TaskGroup>>> mTaskGroup; // NOLINTEND -public: - // prevent constructor by default - LevelChunkSaveManagerProxy& operator=(LevelChunkSaveManagerProxy const&); - LevelChunkSaveManagerProxy(LevelChunkSaveManagerProxy const&); - LevelChunkSaveManagerProxy(); - public: // virtual functions // NOLINTBEGIN diff --git a/src/mc/world/level/chunk/LevelChunkVolumeData.h b/src/mc/world/level/chunk/LevelChunkVolumeData.h index 28f6eb8c71..f1c6c8d628 100644 --- a/src/mc/world/level/chunk/LevelChunkVolumeData.h +++ b/src/mc/world/level/chunk/LevelChunkVolumeData.h @@ -9,9 +9,12 @@ // auto generated forward declare list // clang-format off class BlockPos; +class ChunkPos; class IDataInput; class IDataOutput; +class StructureSpawnRegistry; class StructureStart; +namespace br { class LevelChunkDataRegistry; } namespace br::worldgen { class StructureInstance; } namespace br::worldgen { struct SpawnerData; } // clang-format on @@ -20,21 +23,16 @@ class LevelChunkVolumeData { public: // member variables // NOLINTBEGIN - ::ll::UntypedStorage<8, 24> mUnk8f23ab; - ::ll::UntypedStorage<8, 24> mUnk7498ed; - ::ll::UntypedStorage<8, 768> mUnk22597b; - ::ll::UntypedStorage<4, 12> mUnk208a3f; - ::ll::UntypedStorage<4, 12> mUnke69cd4; - ::ll::UntypedStorage<8, 8> mUnk6d5f5c; - ::ll::UntypedStorage<8, 8> mUnkf41575; + ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::br::worldgen::StructureInstance const>>> mStructures; + ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::br::worldgen::StructureInstance const>>> + mStructureReferences; + ::ll::TypedStorage<8, 768, ::br::LevelChunkDataRegistry> mDataRegistry; + ::ll::TypedStorage<4, 12, ::BlockPos> mMin; + ::ll::TypedStorage<4, 12, ::BlockPos> mMax; + ::ll::TypedStorage<8, 8, ::ChunkPos> mChunkPos; + ::ll::TypedStorage<8, 8, ::StructureSpawnRegistry const&> mStructureSpawnRegistry; // NOLINTEND -public: - // prevent constructor by default - LevelChunkVolumeData& operator=(LevelChunkVolumeData const&); - LevelChunkVolumeData(LevelChunkVolumeData const&); - LevelChunkVolumeData(); - public: // member functions // NOLINTBEGIN