summaryrefslogtreecommitdiffstats
path: root/src/ChunkData.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Prepare ChunkData for BlockState storage (#5105)Tiger Wang2021-03-051-577/+81
| | | | | | | | | | | | | | | | | | | | | | | * 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>
* Pulled the BlockID and BlockInfo headers from Globals.h. (#4591)Mattes D2020-04-031-0/+1
| | | | | | | | | The BlockID.h file was removed from Globals.h and renamed to BlockType.h (main change) The BlockInfo.h file was removed from Globals.h (main change) The ENUM_BLOCK_ID and ENUM_ITEM_ID enum names were replaced with ENUM_BLOCK_TYPE and ENUM_ITEM_TYPE (cosmetics) The various enums, such as eDimension, eDamageType and eExplosionSource were moved from BlockType.h to Defines.h, together with the helper functions for converting between them and strings (StringToDimension et al.) (minor) Many inline functions were moved from headers to their respective cpp files, so that BlockType.h could be included only into the cpp file, rather than the header. That broke our tests a bit, since they pick bits and pieces out of the main code and provide stubs for the rest; they had to be re-stubbed and re-verified. eMonsterType values are no longer tied to E_ITEM_SPAWN_EGG_META_* values
* CheckBasicStyle: Check number of empty lines between functions (#4267)peterbell102018-07-261-0/+2
| | | | Add check for number of empty lines between functions and fix the corresponding failures
* Optimise chunk set (#4260)peterbell102018-07-231-1/+1
| | | | | | | | | | | | | | | | | 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
* cChunk and cChunkData: Use vectors for block get and set functions (#4172)peterbell102018-02-041-71/+69
| | | | | * cChunkData: Change interface to use Vector3i * cChunk: Add Vector3i overloads for bounded block get and set functions.
* Implement anvil chunk sparsingpeterbell102017-08-261-0/+123
|
* Implement protocol level chunk sparsing (#3864)peterbell102017-08-211-85/+91
|
* Out of world blocks are now always considered air blocksLogicParrot2016-04-231-4/+9
|
* Bulk clearing of whitespaceLogicParrot2016-02-051-17/+17
|
* Silenced and fixed many warning messages across multiple files.Samuel Barney2015-07-291-15/+15
|
* Fixed Bug in cChunkData.worktycho2015-03-101-1/+1
| | | FIxed a bug where if the index was not aligned with the sections empty sections would not be set in the correct location.
* En masse NULL -> nullptr replaceTiger Wang2014-10-231-26/+26
|
* Merge branch 'master' of github.com:mc-server/MCServerTycho2014-06-161-11/+14
|
* Further improvements on redstone speedTiger Wang2014-06-071-1/+1
| | | | | | | Based on suggestions of @worktycho * Repeaters now walk their data structure only when needed * Fixed a bug with cChunkData returning an incorrect value for whether a meta had changed
* Fixed #1057Tiger Wang2014-06-041-1/+1
|
* removed NULL assignment to const valueTycho2014-05-301-1/+0
|
* removed unneded addressofTycho2014-05-301-7/+11
|
* Fixed cChunkData nibble copying.madmaxoft2014-05-301-9/+9
|
* Fixed sign comparison.madmaxoft2014-05-301-1/+1
|
* Fixed wrong copy sizes in cChunkData.madmaxoft2014-05-301-10/+10
|
* Attempt at fixing an unresolved symbol in gcc / clang.madmaxoft2014-05-291-1/+1
|
* Fix bug when a_Idx is not a multiple of SectionBLockCountworktycho2014-05-291-1/+1
|
* Derpworktycho2014-05-291-1/+1
|
* fix underflowworktycho2014-05-291-1/+1
| | | Wish c++ could specify saturating unsigned underflow.
* Fixed wrong block sizes for copying / setting.madmaxoft2014-05-291-40/+35
|
* Fixed Wrong types in nibble sizeofsworktycho2014-05-291-3/+3
|
* Fixed overflow bugworktycho2014-05-291-6/+9
|
* Added comments, reformatted code.madmaxoft2014-05-291-249/+142
|
* Fixed forgotten changes.madmaxoft2014-05-291-3/+3
|
* cChunkData: Normalized code style.madmaxoft2014-05-281-78/+90
|
* Fixed cChunkData formatting.madmaxoft2014-05-281-28/+90
|
* Fixed test globals to work with precompiled headersTycho2014-05-271-4/+0
|
* inject TestGlobals.h correctlyTycho2014-05-241-3/+7
|
* Moved accessors to cpp fileTycho2014-05-241-1/+229
|
* Implemented style changesTycho2014-05-241-33/+28
|
* Fixed if spacesTycho2014-05-211-6/+7
|
* Fixed reversed comparisons to nullTycho2014-05-211-9/+9
|
* Added space to ChunkData.cppTycho2014-05-211-20/+100
|
* Fixed stylistic issuesTycho2014-05-211-9/+9
|
* Renamed cChunkBuffer to cChunkDataTycho2014-05-211-0/+320