Changelog:
- Add air timer component
- Update movement component to keep track of x direction
- This indicate the facing direction
- Implement air timer update system
- Add air timer component to player
- Render player's air timer
Changelog:
- Fill only a range of reachable tiles instead
- Tweak fill complete check
- Count tiles filled, if zero: complete
- Allow multiple runner to fill without breaking the game
Changelog:
- Add in scanline filling process
- Use signed integer for calculation
- Generalise BFS to only depend on the current cell
- During the search for the lowest reachable tile, allow a single
tile equal or higher to the starting tile
This is to allow moving upwards when no valid lower tile exists
Changelog:
- Add new state for when runner reaches target position
- Skip movement if already on target position
- Add extra handling for spawning on solid tile
- Fix tile toggling bug on the same tile
Changelog:
- Add new component: water runner component
- specific for such an entity. Not general, but i dont really care
- Implement adding and freeing the water filler entity
- Component involves dynamic memory allocation, so need custom
function to add and free
- May look into custom allocation for this part in the future.
Changelog:
- Defer component updates as iterator invalidation can occur
- Add new struct for this + queue on entity manager
- Add new component: CLifeTimer
- Basically a timer to live for entity
Changelog:
- Add function spawn arrow
- Update game system to handle null components
- enough for the arrow to work
- Render arrow, sort of
- Initial implementation, definitely need more work
Changelog:
- Kinematic mode ignores accelerations, that's all
- Update moveable to use kinematic mode and set accel & velocity to zero
when entering gridmove mode
Changelog:
- Add previous velocity in ctransform component
- Add functions to check if a boulder can move left or right when
landing on a boulder
- Adjust system execution order
Since an entity is essentially tied to a manager, put it as a field in
Entity. This means no need to pass entity manager when getting a
component, which is more intuitive.