Skip to content
LeviLamina
Loading...
Searching...
No Matches
RegionFile.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/file/File.h"
7#include "mc/deps/core/file/PathBuffer.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace Core { class Path; }
12namespace RakNet { class BitStream; }
13// clang-format on
14
15class RegionFile {
16public:
17 // RegionFile inner types define
18 using FreeSectorMap = ::std::map<int, bool>;
19
20public:
21 // member variables
22 // NOLINTBEGIN
23 ::ll::TypedStorage<8, 16, ::Core::File> mFile;
24 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mFileName;
25 ::ll::TypedStorage<4, 4096, ::std::array<int, 1024>> mOffsets;
26 ::ll::TypedStorage<4, 4096, ::std::array<int, 1024>> mEmptyChunk;
27 ::ll::TypedStorage<8, 16, ::std::map<int, bool>> mSectorFree;
28 // NOLINTEND
29
30public:
31 // prevent constructor by default
32 RegionFile();
33
34public:
35 // virtual functions
36 // NOLINTBEGIN
37 virtual ~RegionFile() = default;
38 // NOLINTEND
39
40public:
41 // member functions
42 // NOLINTBEGIN
43 MCAPI explicit RegionFile(::Core::Path const& basePath);
44
45 MCAPI bool open();
46
47 MCAPI bool readChunk(int x, int z, ::RakNet::BitStream** destChunkData);
48 // NOLINTEND
49
50public:
51 // constructor thunks
52 // NOLINTBEGIN
53 MCAPI void* $ctor(::Core::Path const& basePath);
54 // NOLINTEND
55};
Definition Path.h:11
Definition BitStream.h:7