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
Internal Changelog:
- Add ONEWAY handling in check_collision
- All collision check now requires a prev_position check due to the
one-way tile check. Update relevant function signature
- On ground check now does an edge check instead of using the offset
check
Changelog:
- Add new enums for tile and solidity
- Modify check_collsion_and_move function to account for one way
collision
- Also remove the collision value as it is not used
- Add spawning for oneway tile
Squashed commit of the following:
commit 249fb96c63f68913ef632b8d1006e8a2d1c1b6d3
Author: En Yi <en.yi@tutanota.com>
Date: Sat Apr 15 22:51:08 2023 +0800
Ensure 120 column width limit
Changelog:
- this is just to avoid overly long line of code
commit 4b1ffa8fc89f17418de15f5fc3f0e73040f1d40c
Author: En Yi <en.yi@tutanota.com>
Date: Sat Apr 15 20:05:07 2023 +0800
Ensure style consistency in For loop
commit dcb41960407224592f78278313e97c2cc4bf66a5
Author: En Yi <en.yi@tutanota.com>
Date: Sat Apr 15 17:26:20 2023 +0800
Ensure consistency in code style
Internal Changelog:
- Use char* var instead of char *var. Preference
Changelog:
- Move Sprite struct into components
- Add asset field in engine
- Update scene test code to add engine for assets
- This fixes the crash when q is pressed
- Add sprite component to player
- Update render function to draw the sprite