Remove redundant position argument for the straightforward collision
functions, as the entity would have it alread.
The collision offset check function is not as trivial and requires
some review
Position is so commonly used that placing it into Entity from the
CTransform components reduces the reference to CTransform.
Void Particle proved that it made development much easier.
Changelog:
- Add callback function to stop the emitter
- This is use to automatically stop the emitter when the condition
is met
- Update particle test program
Changelog:
- Modify zst load function to accept buffer containing the zst data.
- Manually manage the buffer reading
- Reading from zst file will load entire zst in memory first before
passing into load function.
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:
- Config should contain constants that determine the spawning of an
emitter.
- Move user_data and update_func to emitter, since these values can
change depending on the scene.
- Assets now load in Emitter Configs
Changelog:
- Use CONTAINER_OF macros to get scene specific data
- Remove unnecessary scene_data from Scene_t
- Still use pointer to scene specific data as these data could be
quite heavy on memory
Changelog:
- Add 2D camera to level scene
- Add camera update system to level systems
- Add viewport to draw the level
- This allows larger level to fit inside the window
- Update mouse handling to account for camera and viewport
Changelog:
- Draw calls are now in rendering function of a scene
- This is to allow flexibility on how a scene is rendered
- Modify level scene to render level using RenderTexture
- This is to prepare for camera implementation later
- CloseWindow is called after all de-init functions is called
Changelog:
- Change ladder to be in player state component
- Add ladder state transition
- Hold up or down to enter ladder when overlap with ladder
- On ground, ladder has to be on foot
- Either jump or exit a ladder to exit ladder state
- Ignore external forces during ladder state
- Ladder uses velocity instead of acceleration to move player
- Reduce jump speed if not on ground (such as on ladder)
- Make water transparent, finally
Changelog:
- Add checks for ladder's solidity when spawning/despawning ladders
- Move crouch state check into player movement system
- Add ladder state for later implementation