summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* Started state machineKelly Rauchenberger2019-02-249-128/+141
| | | | The "--editor" flag can be passed to the program to start it in editor mode, which is currently nothing. The Renderer class was removed here, as each state basically needs to do its own rendering. However, refactoring to make this more elegant will probably occur in the future.
* This should've been in the last commit!Kelly Rauchenberger2019-02-241-1/+2
|
* Refactored how movement is startedKelly Rauchenberger2019-02-241-27/+22
| | | | The systems other than movement add directions to a list, and then movement pops elements off until it can start moving in that direction. This adds some more abstraction, because now only the movement system has to call moveEntityOnGrid.
* active_ | entityView() -> entityRange()Kelly Rauchenberger2019-02-233-18/+18
|
* Entities to be rendered are sorted by render layerKelly Rauchenberger2019-02-232-51/+58
| | | | Partially just for fun.
* 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-228-40/+160
| | | | 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-167-15/+38
|
* Very basic ECSKelly Rauchenberger2019-02-0314-0/+1063