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
Changelog:
- Turns out, the map doesnt make a copy of the string for storage.
Therefore, need to store the name somewhere before inserting into
the map.
- Add struct for each assets to retain the name.
- Update assets functions to maintain interface
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
Internal Changelog:
- Use string-int mapping for assets tracking
- static alloc assets (so there is a hard limit for now)
- Add simple assets test code
- Implement functions to load in assets
- Current assets:
- Texture + Sprites
- Sound
- Font