1
0
Commit Graph

30 Commits

Author SHA1 Message Date
Tiger Wang
868cd94ee9
Prepare ChunkData for BlockState storage (#5105)
* Rename ChunkData Creatable test

* Add missing Y-check in RedstoneWireHandler

* Remove ChunkDef.h dependency in Scoreboard

* Prepare ChunkData for BlockState storage

+ Split chunk block, meta, block & sky light storage
+ Load the height map from disk
- Reduce duplicated code in ChunkData
- Remove saving MCSBiomes, there aren't any
- Remove the allocation pool, ref #4315, #3864

* fixed build

* fixed test

* fixed the debug compile

Co-authored-by: 12xx12 <44411062+12xx12@users.noreply.github.com>
2021-03-05 14:03:55 +01:00
Tiger Wang
a145980795
Fix Android builds (#4998)
Construct paths relative to the Cuberite sources with PROJECT_SOURCE_DIR, instead of wherever the first CMakeLists.txt file happened to be with CMAKE_SOURCE_DIR.

In Android's case, the latter was in a folder called android/ but that's not the root of the source tree, so any file path built off that root was wrong. This caused file-specific warnings exclusions to fail to apply.
2020-10-15 09:35:44 +00:00
Tiger Wang
9e8598fb1c
Upgrade to C++17 [CMake] (#4717)
* Make our CMake slightly less insane
2020-05-16 20:59:10 +01:00
peterbell10
154df6b09d
Cleanup unneeded globals (#4736) 2020-05-10 16:16:38 +00:00
Mattes D
74579fbadf
Improved testing framework. (#4376) 2019-08-26 21:38:34 +02:00
peterbell10
31a11a6df4
Optimise chunk set (#4260)
Closes #1244

Initially I was just going to add the cChunkData to cSetChunkData but profiling revealed 
that the copying wasn't even the biggest slowdown. Much more time was being spent in 
cChunk::CreateBlockEntities and cChunk::WakeUpSimulators than was in memcpy so I've made 
those significantly faster as well.

Optimisations performed:
 * cSetChunkData now stores blocks in a cChunkData object
 * cChunkData objects can now perform moves even if they are using different pools
 * cChunk::CreateBlockEntities now iterates in the correct order and only over present chunk sections
 * Similarly for cChunk::WakeUpSimulators
 * cSetChunkData::CalculateHeightMap now shortcuts to the highest present chunk section before checking blocks directly
2018-07-23 19:12:51 +01:00
peterbell10
2df14a0496
cChunk and cChunkData: Use vectors for block get and set functions (#4172)
* cChunkData: Change interface to use Vector3i
* cChunk: Add Vector3i overloads for bounded block get and set functions.
2018-02-04 22:15:31 +00:00
peterbell10
757231cc6e
Add the fmt library (#4065)
* Replaces AppendVPrintf with fmt::sprintf
* fmt::ArgList now used as a type safe alternative to varargs.
* Removed SIZE_T_FMT compatibility macros. fmt::sprintf is fully portable and supports %zu.
* Adds FLOG functions to log with fmt's native formatting style.
2018-01-03 17:41:16 +00:00
peterbell10
096cdac80d Implement protocol level chunk sparsing (#3864) 2017-08-21 17:56:53 +01:00
Mattes D
d2e8643607 Fixed type-casting-related warnings. 2016-08-24 22:26:53 +02:00
Mattes D
8eaa8613da CMake: Remove needless minimum version specifications. 2016-07-18 22:11:42 +02:00
Mattes D
ea47247dc7 SelfTests: Print a quick message on test start. 2016-06-18 13:12:10 +02:00
Mattes D
3d164a77cb SelfTests: Organized into solution folders. 2016-06-18 13:12:07 +02:00
LogicParrot
77bf00a599 Out of world blocks are now always considered air blocks 2016-04-23 09:54:34 +03:00
tycho
95b81b3ef1 Disable -Werror for warnings in tests. 2015-05-24 14:16:05 +01:00
tycho
7f35671b21 Fix tests 2015-05-19 19:53:16 +01:00
madmaxoft
d9f6c691cc CopyBlocks test: decreased the test size.
It just needlessly ate up test time; there's no need for such rigorous testing once the test started succeeding.
2014-09-01 21:31:27 +02:00
Tycho
ee50790398 Merge branch 'master' of github.com:mc-server/MCServer 2014-06-16 15:12:50 +01:00
Mattes D
f2470ff7c1 Reduced the number of cChunkData::CopyBlockTypes() tests, added progress. 2014-05-30 18:32:15 +02:00
Tycho
cbb9e15257 Fix bugs in test 2014-05-30 17:13:36 +01:00
Mattes D
76c07b1ec7 Added a cChunkData::CopyBlockTypes() unit test. 2014-05-30 17:44:24 +02:00
madmaxoft
e136f6e0f5 Fixed cChunkData nibble copying. 2014-05-30 11:35:29 +02:00
madmaxoft
0b60caac4a Test failures are reported verbosely and into the debug console on Win. 2014-05-30 10:56:12 +02:00
madmaxoft
0b49529e42 Fixed test return values. 2014-05-30 09:17:50 +02:00
madmaxoft
59068b77b7 Fixed wrong block sizes for copying / setting. 2014-05-29 20:21:39 +02:00
madmaxoft
c5763f3af7 Fixed test compilation. 2014-05-29 19:43:01 +02:00
Tycho
19df18c461 Fixed test globals to work with precompiled headers 2014-05-27 12:46:22 +01:00
Tycho
944d29c0ae inject TestGlobals.h correctly 2014-05-24 14:09:51 +01:00
Tycho
8f964886e0 Implemented style changes 2014-05-24 13:33:40 +01:00
Tycho
024027db89 Renamed cChunkBuffer to cChunkData 2014-05-21 19:58:48 +01:00