En Yi
0d58ffd79a
Tweak tile collision function logic
...
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
2023-06-04 14:54:53 +08:00
En Yi
0e94e64a6a
Add solid entity check to boulder movement
...
Changelog:
- Prevent Boulder going into grid movement if there is an entity in
the movement when pushed
2023-06-04 14:28:08 +08:00
En Yi
20ec3f6395
Improve on the boulder pushing mechan
...
Changelog:
- Implement point to AABB check function
- Change moveable check to use point-AABB check
- Allow boulder pushing from standing still
2023-06-03 14:01:10 +08:00
En Yi
62dc51d45e
Implement simple systems for pushing boulder
2023-05-30 21:32:04 +08:00
En Yi
b5f026c96b
Refactor Entity Tag out of EC
...
Tags are game-specific things. So, move out of EC
2023-05-29 21:41:17 +08:00
En Yi
29c9b4eec7
Add boulder entity and moveable component
2023-05-29 21:36:06 +08:00
En Yi
332fe33e8e
Prevent crashing when no sprites is supplied
2023-05-27 17:01:20 +08:00
En Yi
542c7cf57c
Add crouch sprite transition
2023-05-27 16:39:17 +08:00
En Yi
937f63b0ca
Add pause feature on sprite animation
...
Ladder animation now pauses on no movement
2023-05-24 21:54:59 +08:00
En Yi
c0aa37886f
Add Player Ladder, Crouch, and Swim transitions
2023-05-24 21:34:50 +08:00
En Yi
9c2e21f4d2
Add jumping and falling player sprites
2023-05-23 21:42:01 +08:00
En Yi
b1a6430eb7
Add horizontal flip to sprites
2023-05-23 21:33:05 +08:00
En Yi
237bee41a9
Add simple player transition logic Stand<->Run
2023-05-23 21:17:36 +08:00
En Yi
bc7f9ef777
Add manager field to an entity
...
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.
2023-05-23 21:00:23 +08:00
En Yi
4478a512a3
Combine Component, Entity + Manager headers
...
It has reached a point where it is much easier to combine these three
than to separate them.
2023-05-23 20:37:55 +08:00
En Yi
e1a7774bfb
Replace component data struct to use array
...
This will use more memory from the get go. I just prefer to statically
allocate memory.
2023-05-22 21:00:50 +08:00
En Yi
b0e1d33ad6
Implement player sprite info loading from file
2023-05-22 20:33:48 +08:00
En Yi
98450d0bba
Rework Entity Sprite Component & Add Tile Sprite
...
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
2023-05-20 18:23:26 +08:00
En Yi
0f485d89f2
Add assets loading from a file
...
Changelog:
- Add assets_loader functions from a file
- Update scene_test to use loader function
2023-05-20 16:14:39 +08:00
En Yi
57c9eb0216
Fix incorrect usage of s64 map
...
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
2023-05-20 16:09:00 +08:00
En Yi
e9d9ffff20
Refactor implementation of Crate Entity
2023-05-16 22:14:54 +08:00
En Yi
3580209f71
Refactor out implementation of Player Entity
2023-05-16 21:55:59 +08:00
En Yi
7b3685b792
Refactor for better separation of concern
...
Changelog:
- Separate out engine-specific stuff vs game-specific stuff
2023-05-16 21:09:38 +08:00