Changelog:
- Fix incomplete line-AABB collision check
- Add line-AABB check for grid
- Change len_reduction to 0
- Set tiles to check once during edge checking
Changelog:
- Figure out why the previous AABB behaviour was correct: continuum
[0, 5) does not collide with [5, 10)
For tile check however, need to subtract one to avoid extra tile
check. Exception is the tile collision
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:
- Ladder transition occurs only at falling
- Add tile snapping when going up and down
- Going down ladder from ground state no longer shift player's y
position significantly
Changelog:
- Revert tile collision checking to extend one pixel out rightwards
and downwards
- Fix off-by-one error in complete overlap handling
- Remove check for empty space before moving as it causes more issue
than solving them.
Changelog:
- Add handling for complete overlap
- It will attempt to move into an empty space near the checked
entity. If no free space, it will move up. Ripe for exploit!
- Move boundary collision check into movement update
- AABB check now returns overlap mode:
- 0: no overlap
- 1: partial overlap
- 2: complete overlap
Changelog:
- Update collision functions to omit entity_manager
- Change tile entity set to use map 64v to store entity pointer
- For complete overlap, return the smaller magnitude
- Still incorrect though
- Add a check for empty space before moving the entity during collision
check
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
Changelog:
- Remove check for same tag, seems to be the cause for unaligned crates
- Remove dead code: collision event collection
- Will rethink this if necessary
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.