summary refs log tree commit diff stats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Removed position cachesKelly Rauchenberger2019-02-235-77/+27
| | | | There aren't going to be enough entities at once for position checking to ever really be a bottleneck, I don't think. Removing the caches makes the range logic a bit more intuitive, and it removes the possibility of accidentally not updating a cache when it needs to be.
* More ranges stuff! Now with custom viewsKelly Rauchenberger2019-02-235-127/+200
|
* Trains move on tracks to the beatKelly Rauchenberger2019-02-227-40/+159
| | | | Small implementation changes in various places, biggest thing is now we're using ranges, which is experimental and will be included for real in C++20.
* Started implementing scheduleKelly Rauchenberger2019-02-207-63/+213
| | | | | | | | | | Scheduled entities move downward every beat, although they have a speed that is twice the bpm, so essentially they move every other beat? Broke the simulation loop such that different parts run independently -- made it horizontal rather than vertical. Encapsulated the grid cache so that more than one position field could be cached. This is used to make sure that an entity can't move into a space that something else is already moving into. Fixed issue where an entity could move perpendicularly into the space an entity was moving out of.
* Restrictions for moving into a space a block is moving out ofKelly Rauchenberger2019-02-195-30/+59
| | | | | | An entity can only move into a space a block is moving out of if the time it would take the entity to move into the tile is at least the time remaining for the other block to finish moving out of the space. Also, crates can push each other now.
* Shift-pushingKelly Rauchenberger2019-02-163-44/+78
|
* Pushing works nowKelly Rauchenberger2019-02-163-27/+160
|
* Started implementing pushing, but not reallyKelly Rauchenberger2019-02-166-15/+37
|
* Very basic ECSKelly Rauchenberger2019-02-0310-0/+680