summaryrefslogtreecommitdiffstats
path: root/src/Simulator/IncrementalRedstoneSimulator/IncrementalRedstoneSimulator.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Move some redstone implementations into the source fileTiger Wang2021-03-281-17/+112
|
* Fix cmake not adding Werror on clang, and _lots_ of warnings (#4963)peterbell102020-10-051-2/+2
| | | | | | | | | | | | | | | * Fix cmake not adding Werror on clang, and _lots_ of warnings * WIP: Build fixes * Cannot make intermediate blockhandler instance * Tiger's changes * Fix BitIndex check * Handle invalid NextState values in cMultiVersionProtocol Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
* Remove std::make_unique from redstone handler creationTiger Wang2020-08-211-128/+5
|
* Remove the redstone solid block handlerTiger Wang2020-08-081-42/+27
| | | | | | | - Remove cSolidBlockHandler * Functionality now integrated into simulator dispatcher * Fix door double open/close issues, arisen due to the top/bottom halves getting different power + Small migration to block states for redstone wire
* Do not GetBlock individually in simulatorsTiger Wang2020-08-041-49/+36
| | | | | * Have the simulator manager get the block and pass it on + Add new overload for WakeUp, called when the manager wakes face positions
* Always use relative coordinates in AddBlockTiger Wang2020-08-021-13/+5
| | | | | + Pass block, use relatives * Fixes everything immediately converting abs back to rel and getting block, when these data were already available
* Add WakeUp/AddBlock distinctionTiger Wang2020-08-021-40/+53
| | | | | | * WakeUp is for singular changes (block breaking for example). The simulator should check blocks around the position and discover other affected blocks as it sees fit * AddBlock is for when you know a whole area is to be updated; chunk loading, or area wakeups for example + Prepares for correct handling of destroyed blocks after removal of SolidBlockHandler in the redstone simulator
* Replaced cpp14::make_unique<> with std::make_unique<>.Mattes D2020-08-011-22/+22
|
* Remove redundant ErasePowerData callTiger Wang2020-07-261-7/+5
| | | | * Also fix a return that should've been continue
* Use SimulateChunk in redstone simulatorTiger Wang2020-07-261-58/+84
| | | | | | + Improved performance, reduces bottleneck in chunkmap lookup * Stop allocating and throwing away lots of small vectors in Update/GetValidSourcePositions return values - Remove unused GetPowerLevel virtual
* Redstone: check validity of GetBlockTiger Wang2020-07-241-1/+5
|
* ಠ_ಠ (#4660)Tiger Wang2020-04-161-0/+3
| | | + Provisional handling for observers
* Filter blocks to add to redstone sim's wake queue (#4621)peterbell102020-04-051-2/+61
|
* Lock hopper when powered by redstone (#4347)Bond-0092020-03-271-0/+2
| | | | | | | | | * Lock hopper when powered by redstone * Add to manual bindings * Add hopper API documentation Co-authored-by: Mat <mail@mathias.is>
* Force all headers other than "Globals.h" to be included with relative paths (#4269)peterbell102018-08-291-1/+1
| | | | | | | Closes #4236 CMake now creates a header file in the build directory under the path "include/Globals.h" which just includes "src/Globals.h" with an absolute path. Then instead of adding "src/" to the include directories, it adds "include/". #include "Globals.h" still works by including the build generated file and any other src-relative path will not work.
* CheckBasicStyle: Check number of empty lines between functions (#4267)peterbell102018-07-261-1/+0
| | | | Add check for number of empty lines between functions and fix the corresponding failures
* Allocate redstone component handlers upfrontpeterbell102017-07-171-26/+49
|
* Fix fence gates (#3683)Bond-0092017-04-291-0/+5
| | | This commit fixes an issue where a pressureplate would only open oak fence gates
* Revert "Made redstone handlers static"Lukas Pioch2016-07-011-90/+30
|
* - Add a activation flag to droppers and dispensers. Previously droppers and dispensers shot items with every block update.QUSpilPrgm2016-06-151-3/+3
| | | | - Fixes a range check inside cIncrementalRedstoneSimulator::Simulate
* Don't let redstone blocks power adjacent blocks. (#3214)QUSpilPrgm2016-05-281-1/+1
| | | | | * Don't let redstone blocks power adjacent blocks. This fixes issue #2966
* Made redstone handlers staticTiger Wang2016-05-281-30/+90
| | | | * Improvements to performance? Maybe. Can't hurt (he says).
* Update RedstoneSimulator to delete unused cached PowerDataMarvin Kopf2016-02-091-1/+4
| | | | When a new block was placed that has a corresponding RedstoneHandler the PowerData for the position was cached, but never deleted and remained unchanged when the block got destroyed. The RedstoneSimulator now erases all cached PowerData for positions where the block doesn't have a RedstoneHandler (i.e. Air).
* Removed excessive logging in redstone simulator.Mattes D2015-12-281-7/+0
|
* Fixes for clang-3.7Lukas Pioch2015-12-191-2/+2
|
* Reorganised the redstone simulatorTiger Wang2015-12-181-0/+170
-> Many thanks to @worktycho for the idea, and @Haxi52 for the implementation plan! * Uses classes and inheritance now * Speed should be improved