summaryrefslogtreecommitdiffstats
path: root/src/ChunkDef.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Optimise chunk set (#4260)peterbell102018-07-231-7/+7
| | | | | | | | | | | | | | | | | 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-0/+10
| | | | | * cChunkData: Change interface to use Vector3i * cChunk: Add Vector3i overloads for bounded block get and set functions.
* cChunkInterface GetBlock, GetBlockMeta, GetBlockTypeMeta use vectors (#4050)Bond-0092017-11-201-5/+4
|
* Merge pull request #3489 from cuberite/EntityOwnershipTiger Wang2017-08-181-1/+2
|\ | | | | * Changed entity ownership model to use smart pointers
| * Changed entity ownership model to use smart pointersTiger Wang2017-08-071-1/+2
| |
* | Changed int parameters to vector parameters in cCuboid and simulators (#3874)Lane Kolbly2017-08-171-26/+38
|/
* Remove double includes part 2 (#3890)peterbell102017-08-031-3/+0
|
* Check for intersection between placed blocks and entities. (#3850)Lane Kolbly2017-07-281-0/+3
| | | | | | | | | | | | | * Check for intersection between placed blocks and entities. + Implemented GetPlacementCollisionBox, to permit custom placement collision boxes for blocks. * Factored block-entity placement checking into another function in cPlayer. - Removed vector min/max functions * Use GetWorld to get the world in DoesPlacingBlocksIntersectEntity. + Added block height checks, allow different cEntity subclasses to decide whether they will prevent block placement.
* Store cChunk::m_BlockEntities in a map (#3717)peterbell102017-05-221-2/+2
| | | | | | * Store block entities in a map from block index * Cleanup ForEachBlockEntity * Cleanup DoWithBlockEntityAt
* Bulk clearing of whitespaceLogicParrot2016-02-051-1/+1
|
* Added cChunkDef::IsValidWidth()Julian Laubstein2015-11-231-1/+6
|
* Added cChunkDef::IsValidHeight()Julian Laubstein2015-11-101-0/+6
|
* Fixed a race condition between chunk loader and generator.Mattes D2015-10-041-1/+2
| | | | | | When using ChunkWorx to generate multiple chunks, the server would sometimes fail an assert because it would generate a chunk even when it was successfully loaded. This was caused by chunks queued in cWorld's m_SetChunkDataQueue and thus being marked as "InQueue" although they were already loaded. Solved by adding a new parameter to chunk coord callbacks specifying whether the operation succeeded or failed, and using that instead of the chunk presence flag to decide whether to generate or not.
* Namechange to CuberiteMattes D2015-09-251-2/+2
|
* Unified the doxy-comment format.Mattes D2015-07-311-17/+20
|
* Changed appropriate containers to unordered_mapTiger Wang2015-06-061-29/+0
| | | | | | Thanks to @worktycho for guidance! * Potential speed improvements
* Redstone wire and trapdoor fixesTiger Wang2015-06-061-0/+13
| | | | | | * Fixes #1887 * Fixes #1763 * Fixes #1083
* ComparatorsTiger Wang2015-06-061-0/+6
|
* Fixed a lot of warningstycho2015-05-191-2/+2
|
* Replaced a std::hash specialization with explicit type.Mattes D2014-12-241-7/+3
| | | | std::hash is problematic in gcc / clang, one has a class, the other a struct.
* gcc compilation fix.Mattes D2014-12-241-1/+6
|
* Refactored all player block placing to go through hooks.Mattes D2014-12-241-12/+36
| | | | Fixes #1618.
* Added a cWorld:PrepareChunk function.Mattes D2014-12-101-1/+22
| | | | | It prepares the chunk - loads or generates it and lights it. The spawn prepare process uses this function.
* Merged branch 'master' of git://github.com/sriehl/MCServerMattes D2014-10-211-34/+30
|\
| * convert old style casts to fix warningsSteven Riehl2014-10-121-34/+30
|/
* Merge pull request #1351 from LO1ZB/remove-a_RelYMattes D2014-09-031-8/+23
|\ | | | | remove y-coord from chunks
| * re-add the missing "s" too cChunkCoordsWithBoolListLO1ZB2014-09-031-1/+1
| |
| * hopefully the last commit for removing y-coord from chunks. :)LO1ZB2014-09-031-0/+21
| |
| * remove orphaned comment.LO1ZB2014-08-301-4/+0
| |
| * remove y-coord from chunksLO1ZB2014-08-281-4/+2
| |
* | Fixed off-by-one errors in cChunkDef asserts.madmaxoft2014-09-011-8/+8
|/
* Added initializers for class members.Mattes D2014-08-211-1/+1
| | | | As reported by Coverity, these weren't initialized.
* Style: Normalized to no spaces before closing parenthesis.madmaxoft2014-07-211-4/+4
|
* Fixed spaces around single-line comments.madmaxoft2014-07-171-2/+2
| | | | There should be at least two spaces in front and one space after //-style comments.
* Fixed basic whitespace problems.madmaxoft2014-07-171-13/+13
| | | | Indenting by spaces and alignment by spaces, as well as trailing whitespace on non-empty lines.
* Fixed issue with types not being defined for an unused parameterTycho2014-05-181-40/+0
|
* Merge branch 'master' into chunksparsing/structsTycho2014-05-011-9/+9
|\
| * Hopefully fixed repeated clang warnings.madmaxoft2014-04-281-9/+9
| |
* | Merge branch 'master' into chunksparsing/structsTycho2014-04-271-78/+40
|\| | | | | | | | | | | Conflicts: src/Chunk.cpp src/Chunk.h
| * Implemented commentsTiger Wang2014-04-251-23/+42
| |
| * Implemented suggestionsTiger Wang2014-04-241-67/+10
| |
* | Implemented Chunk Sparsing with segmentsTycho2014-04-261-95/+5
|/
* Attempt to fix errorsTiger Wang2014-04-071-10/+10
|
* Blocklight and skylight now compressedTiger Wang2014-04-071-4/+4
|
* Nibbletypes are compressedTiger Wang2014-04-051-2/+75
| | | | | + Added nibble compression * Fixed an off by one
* Merge branch 'master' into WerrorTycho2014-03-121-1/+1
|\ | | | | | | | | Conflicts: src/Generating/PieceGenerator.cpp
| * Unified Vector classesandrew2014-03-111-1/+1
| |
* | Fixed Chunkdef warningsTycho2014-03-111-2/+2
| |
* | Merge branch 'master' into WerrorTycho2014-03-111-16/+12
|\| | | | | | | | | Conflicts: src/ChunkDef.h
| * ChunkDef: Replaced enums with static const ints.madmaxoft2014-03-091-10/+6
| | | | | | | | This makes them easier to use in std::min et al.
* | Fixed xofts issuesTycho2014-03-101-18/+8
| |
* | Globals.h is now warnings free again.Tycho2014-03-091-8/+24
| | | | | | | | Also turned off Wpadded as it is indicates potental performance issues rather than potential bugs
* | Fixed some warningsTycho2014-03-091-7/+10
|/
* fixed globals.h warningsTycho2014-02-231-0/+1
|
* Initial ChunkStay code.madmaxoft2014-02-081-0/+1
|
* Merge pull request #602 from mc-server/improvementsandfixesMattes D2014-02-031-3/+31
|\ | | | | Redstone crash fix and current console line replace function
| * Split cCoord template into one and two data typesTiger Wang2014-02-011-10/+32
| |
| * Fixed redstone simulator crash found in #570Tiger Wang2014-01-291-5/+11
| |
* | Refactored cBlockHandler::OnUse and dependentsTycho2014-01-261-1/+0
|/
* Merge pull request #529 from mc-server/derpstonerefactorAlexander Harkness2014-01-121-0/+2
|\ | | | | Major refactoring of redstone
| * Major refactoring of redstoneTiger Wang2014-01-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit is a refactoring of the redstone code, mainly the functions handling the removal of invalid blocks from power supplier data structures. Its aim is to improve performance and potentially reduce the memory footprint of the data structures. It works to reduce the amount of GetBlock()s triggered every tick. Before, a GetBlock() was requested for every single item in the data lists, as well as for every single redstone block in a chunk. Following these changes, the AddBlock() event is utilised more effectively to only update the lists when needed (a block is changed), as well as to insert the block type (and update it when needed) alongside the coordinates into the main redstone simulator chunkdata list. In short, a single GetBlock() is now cached, with this cache being updated when the simulator is awoken due to a block change. At least, I *hope* that this is what it does :P
* | Include Biome enum in ChunkDefBill Derouin2014-01-101-2/+1
| | | | | | | | Can't forward declare an enum
* | Move biome definition to separate filesBill Derouin2014-01-091-91/+2
|/
* Fixed compilation in VC2008.madmaxoft2013-12-301-1/+1
| | | | Also removed an unused inline header file (yuck).
* converted commneted paramater names to the unused macroTycho Bickerstaff2013-12-221-1/+2
|
* ChunkSender is now warnings cleanTycho Bickerstaff2013-12-211-1/+1
|
* Attempt at fixing cChunkDef::Height signedness.madmaxoft2013-12-201-12/+12
|
* Moved source to srcAlexander Harkness2013-11-241-0/+617