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
054a89dd9e
Clarify cClientHandle, cPlayer ownership semantics
...
+ A cPlayer, once created, has a strong pointer to the cClientHandle. The player ticks the clienthandle. If he finds the handle destroyed, he destroys himself in turn. Nothing else can kill the player.
* The client handle has a pointer to the player. Once a player is created, the client handle never outlasts the player, nor does it manage the player's lifetime. The pointer is always safe to use after FinishAuthenticate, which is also the point where cProtocol is put into the Game state that allows player manipulation.
+ Entities are once again never lost by constructing a chunk when they try to move into one that doesn't exist.
* Fixed a forgotten Super invocation in cPlayer::OnRemoveFromWorld.
* Fix SaveToDisk usage in destructor by only saving things cPlayer owns, instead of accessing cWorld.
2021-01-12 12:34:34 +00:00
Tiger Wang
198407807f
Reverse order of ChunkSender priorities ( #4858 )
...
* Reduces confusion when using overloaded operator< and priority_queue
Co-authored-by: peterbell10 <peterbell10@live.co.uk>
2020-09-12 19:43:18 +00:00
Tiger Wang
a473e8ba52
ChunkDataSerializer: don't repeatedly mallocate
...
+ Store an instance of the class, the way it seems it is meant to be used.
2020-08-21 18:22:04 +01:00
Tiger Wang
3f712ca9cf
Precompile unordered_map/set
...
+ Add inclusions to Globals.h
* Sort Globals.h
- Remove sys/stat.h from Globals.h
2020-07-19 19:58:53 +01:00
Mat
e0a361de2a
Send entities in cChunkSender ( #4532 )
...
Confer issue #3696
2020-06-24 12:48:50 +01:00
Mattes D
9ee47e5999
Using Super.
2020-04-16 20:07:48 +00:00
peterbell10
c94d7184eb
Broadcast refactor ( #4264 )
...
* Move Broadcast functions from cChunkMap to cBroadcaster
- Remove cBroadcastInterface in favour of cBroadcaster.
- cChunk: Remove broadcast functions.
* resurect broadcast interface
* Absorb cBroadcaster into cWorld.
Removes the need for forwarding the function calls.
* Improve const-correctness
* Use Int8 instead of char
+ Comment `ForClients` functions
* Improve comments
* Broadcaster: Rename ForClients functions
2018-07-24 22:30:49 +01:00
peterbell10
7b431bed51
cIsThread: Reset m_ShouldTerminate after the thread has stopped ( #4258 )
...
This allows threads to be restarted after stopping.
Fixes #4257
2018-07-22 22:35:58 +01:00
Lukas Pioch
c5f590d460
Removed UTF-8 BOM ( #4033 )
2017-09-19 10:34:08 +02:00
peterbell10
096cdac80d
Implement protocol level chunk sparsing ( #3864 )
2017-08-21 17:56:53 +01:00
peterbell10
759618b035
Remove double includes part 2 ( #3890 )
2017-08-03 15:34:19 +02:00
Lukas Pioch
e35ac1bfb9
Clang 5.0 fixes
...
- Added override keyword
- Removed inherited member variables
2017-05-21 12:19:06 +02:00
LogicParrot
ca6ef58b1e
Bulk clearing of whitespace
2016-02-05 23:50:18 +02:00
Mattes D
6e4122e551
Unified the doxy-comment format.
2015-07-31 16:49:10 +02:00
Tiger Wang
33fc1474d9
Fixed minor errors in Tycho's code
...
Everything should work now :)
2015-06-22 21:27:13 +01:00
Tiger Wang
dd4b415051
Reinstate "Chunk queue collapsing"
...
This reinstates commit f36acb6835
and reverts commit adfbc42c02
.
2015-06-10 15:16:05 +01:00
worktycho
adfbc42c02
Revert "Chunk queue collapsing"
2015-06-07 20:45:47 +01:00
tycho
bfe52277b4
Rewrote ChunkSending queue for significantly improved performance
2015-06-05 22:31:21 +01:00
tycho
19c95ee564
Moved Chunk Broadcasts over to the regular queue
2015-06-05 22:31:21 +01:00
tycho
06a74e45e2
Made cLightingThread own its callbacks
2015-05-30 11:11:17 +01:00
Mattes D
846d16315a
CheckBasicStyle: checks spaces around * and &.
2015-05-09 12:58:55 +02:00
Howaner
9af58a81d6
Use 3 priorities.
2014-10-23 21:19:43 +02:00
Howaner
72bb299a4a
Merge branch 'master' into ChunkLoader
...
Conflicts:
src/ChunkSender.cpp
src/ClientHandle.cpp
src/World.h
2014-10-23 14:59:42 +02:00
Tiger Wang
a26541a7c3
En masse NULL -> nullptr replace
2014-10-22 20:12:49 -07:00
Howaner
b0988e65aa
Use two lists and 2 chunk send prioritys.
2014-10-21 17:35:23 +02:00
Howaner
b493beb3bb
Stream 4 chunks per tick. Added priority.
2014-10-06 21:27:53 +02:00
LO1ZB
3c1c073714
remove y-coord from chunks
2014-08-28 11:36:35 +02:00
madmaxoft
93d29555e5
Style: Normalized to no spaces before closing parenthesis.
2014-07-21 17:40:43 +02:00
madmaxoft
993fd14ddf
Fixed basic whitespace problems.
...
Indenting by spaces and alignment by spaces, as well as trailing whitespace on non-empty lines.
2014-07-17 16:33:09 +02:00
Tycho
8a0d3f7921
Fixed issue with types not being defined for an unused parameter
2014-05-18 15:37:17 +01:00
Tycho
e40f9d6e5b
Implemented Chunk Sparsing with segments
2014-04-26 10:50:23 -07:00
Alexander Harkness
675b4aa878
Moved source to src
2013-11-24 14:19:41 +00:00