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
Changelog:
- Add one more button for testing
- Add up and down actions
- Seperate out mouse mode and keyboard mode
- Enter mouse mode by moving mode
- Enter keyboard mode by keyboard input
- May need an action to detect mouse movement
- Add logic to cycle menu options
Changelog:
- Incorporate raygui
- raygui works but I would prefer to separate out detection logic
and rendering. So, adapt the original code for this
- ECS is not suitable for raygui (at least at this scale)
- It is more trouble than it is worth
- Implement simple menu test scene with two buttons
- They do nothing
Changelog:
- Zero out acceleration when colliding with solid tile or strong entities
- This is to prevent continuous overlap after a single collision
horizontally, similar to the gravity handling
Changelog:
- Check for collision before moving
- Refactor out collision check and move function
- Remove anchor check when shifting bbox as it is unneccesary
- Collision checking will check for tiles and entities
Changelog:
- Check for collision before shifting bbox
- This fix the odd bbox shifting when exiting water
- Hack a way to force crouch when exiting water
Changelog:
- Jump is not recovered when exiting water on ground. Fix by doing a
ground check to recover a jump when exiting water
- Disable crouching when not on ground
- Slightly refactor crouch handling
Changelog:
- Add components:
- selectable : indicate an entity is selectable
- selection : indicate an entity has a list of choices
- Add menu scene implementation and test
- Reduce repetition in CMakeLists in specifying libraries
Changelog:
- Fix edge case where jumps are not recovered consistently when
exitting out of water and immediately landing
- Fix friction not applied to crates (and other entities)