1
0
Commit Graph

59 Commits

Author SHA1 Message Date
Alexander Harkness
273db55bdf Merge pull request #529 from mc-server/derpstonerefactor
Major refactoring of redstone
2014-01-12 04:38:41 -08:00
Tiger Wang
e7fba08e6c Major refactoring of redstone
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
2014-01-10 20:31:05 +00:00
Bill Derouin
fe48f62575 Include Biome enum in ChunkDef
Can't forward declare an enum
2014-01-10 10:30:56 -06:00
Bill Derouin
cee76f1ace Move biome definition to separate files 2014-01-09 15:21:46 -06:00
madmaxoft
ee15d4e08e Fixed compilation in VC2008.
Also removed an unused inline header file (yuck).
2013-12-30 17:41:59 +01:00
Tycho Bickerstaff
d724241407 converted commneted paramater names to the unused macro 2013-12-22 13:46:55 +00:00
Tycho Bickerstaff
38f808ac3d ChunkSender is now warnings clean 2013-12-21 15:00:31 +00:00
madmaxoft
812375fab1 Attempt at fixing cChunkDef::Height signedness. 2013-12-20 16:15:39 +01:00
Alexander Harkness
675b4aa878 Moved source to src 2013-11-24 14:19:41 +00:00