Changelog:
- Move sprite to emitter itself to allow better reusing emitter config
- Dedicate a function for destroying entity. This is helpful for dealing
with events that only occurs during entity destruction
Changelog:
- Each scene will have its own particle system to maintain
- Crate destruction now emits particles
- Draw particles during screen renders
- May want to make this configurable
- Should be in general scene render
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
Internal Changelog:
- Delay zeroing velocity on edge check to after hitbox update
- Update player velocity on hitting a crate explicitly
- This is due to the zeroing velocity changes above
- This essentially allow 'phasing' through chest but not wooden
crates
- Render crates using material instead of fragile flag
Internal Changelog:
- chest entity: Basically crates, but high def, and fragile
- Add new spawn type for chest
- Add atk modifier for player->chest
- Make crate non-fragile
- Ignore chest for collision check and move with player
Changelog:
- Increase ground friction generally.
- Reduce friction when the player is moving on the ground. To compensate,
reduce player acceleration as well. Now, the player stops faster
without losing too much max speed.
Changelog:
- Update player bbox update
- Update hitbox update system to account for player
- Reduce explosion size to allow better chaining behaviour
- Reduce lifetime of destroyed crates
Changelog:
- Add player dead sprite
- Add function to create dead player entity
- It is easier to create a new entity than to transform an existing
one
- Update existing respawn system
Changelog:
- water runner needs ctransform + ctilecoord at least to be in the tile
update system
- Update the tilemap update system as well
- Update rendering function for water runner
- Update water runner creation to handle failure to create
- Add a tag for water runner (pending proper tag)
Changelog:
- Move tilemap update to be at the start
- This is to account for new entities being created
- The post tile collision is not used for now
- Change auto-crouch collision check to check for entities as well
Changelog:
- Add Lifetimer and remove hurtbox on hit
- Still insta-remove on player hit
- Fix adding a component to an entity that already has that component
- Reorder lifetimer update system
Changelog:
- Refactor function to change a tile type
- Destroy entities without bbox when OOB
- Add hitbox collision checking with tiles
- Add defense point on tiles
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:
- Spike collision is now checked against all bboxes
- Non player will destroy it
- Add moveable flag for each tile to determine whether a boulder can
move into it
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:
- 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.
Changelog:
- Add tile sprites as part of Level Data
- Render tile sprite if loaded in
- CSprite now stores array of sprite rendering info
- use current idx to keep track