Internal Changelog:
- A scene now has a maximum amount of render texture. It is to be
rendered in order of the array by the engine.
- A scene now needs an explicit render system to draw onto the render
textures. The scene will also init the number of render layers
needed.
- The change is to allow more separate of concerns when it comes to
rendering. A scene can also now compartmentalise the rendered items,
which hopefully make understanding the code easier.
- Update all exisiting code to use the new render system.
Internal Changelog:
- Major change: all engine that does counting uses delta time instead of
frame counting
- Animation runs at 24 FPS
- Water fill is at a constant rate as well
- Particle update will need to be given delta time as well.
- Particle system is not updated to use float, so no delta time handling
for the system in this commit
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:
- 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
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
Changelog:
- Add confirm and exit actions
- Exit action used in editor scene
- Confirm action for menu scene
- Hardcode scene switching in editor and menu scene
- Implement scene change function
- Scene is not resetted on switch
- Incorporate scene switchin into main function
Changelog:
- Rename scene.* to engine.* as the game engine is tied to the
base scene struct
- Combine *_impl.h into a single header
- Rename scene implementation source code file
- Add GameEngine struct and SceneState enum