Commit Graph

39 Commits (b51d5058145b35e8a7fb8ffd15341c6498c0e73e)

Author SHA1 Message Date
En Yi ee65e3c974 Extend the render queue to tilemap
This is only applied to the main game
2024-12-21 16:53:47 +08:00
En Yi 04d928c97f Add a rendering queue for sprite
Only applies for editor scene as a test
2024-12-21 14:37:18 +08:00
En Yi c33f6f0df0 Adjust jump speed 2024-11-09 12:56:40 +08:00
En Yi 1382cf1370 Deal with urchin's particle effects 2024-10-05 19:18:42 +08:00
En Yi e52c9445c9 Fix crash when player finish a level
This happens because the player exit entity is removed without checking
with the tilemap, causing it to linger
2024-10-05 19:07:55 +08:00
En Yi 3520715655 Allow urchin to be crushed
LIMITATION
- Urchin can be crushed by wooden crates.
2024-09-29 17:58:07 +08:00
En Yi e00e1ff8d2 Remove player on finish level 2024-08-27 15:49:21 +08:00
En Yi 2be80ea6bf Add sprites for player finishing the stage
Also add cave exit sprite

They are all placeholder for now.
2024-08-20 14:03:41 +08:00
En Yi c3924c862b Adjust player swimming behaviour
Internal Changelog:
- Slightly increase upthrust
- Slightly reduce air time
2024-08-13 18:17:33 +08:00
En Yi 4a54bfe84f Incorporate anchor point in player sprite info
Changelog:
- src anchorpoint is also an enum. The offset needs to be computed
  dynamically due to flip_x
- Re-add back the offset field.
- Add symbol parsing for anchor point.
2024-08-06 21:36:17 +08:00
En Yi 1215746e05 Add x-flipping for anchoring 2024-08-06 20:36:23 +08:00
En Yi 657110a66d Implement sprite rendering anchor 2024-08-05 21:50:01 +08:00
En Yi 2dbc1f19ab Add additional sprites for swimming 2024-08-03 17:50:08 +08:00
En Yi 6bcccf7412 Fix regression in water air timer 2024-04-24 21:30:34 +08:00
En Yi f3d48281f5 Adjust bubbles draw position 2023-11-23 20:53:04 +08:00
En Yi d62b862ebe Make player hitbox bigger 2023-11-22 21:41:43 +08:00
En Yi c52651ca1b Add bubbling paritcle emitter to player 2023-11-20 22:08:28 +08:00
En Yi c78dc50f50 Fix Boulder landing playing on spawning
Done by setting its ground state to 1. For consistency, this is
done to any entity that can 'land'. So far, this has no tangible
gameplay effects.
2023-11-13 11:34:39 +08:00
En Yi 8529a2c934 Use unsigned int for rres Id as per the struct 2023-11-11 13:04:24 +08:00
En Yi ffc890240b Remove asset argument from entity creation 2023-11-11 12:18:45 +08:00
En Yi 359ac0a0ae Implement air meter
Changelog:
- Add air timer component
- Update movement component to keep track of x direction
    - This indicate the facing direction
- Implement air timer update system
- Add air timer component to player
- Render player's air timer
2023-09-27 22:08:16 +08:00
En Yi 5cfa0c0fc0 Add id check for each chunk load 2023-09-02 14:34:24 +08:00
En Yi 20d5bd4ac7 Integrate loading RRES data pack
Changelog:
- Add in rres
    - Split rres header only into two files. Easier to deal with. Sorry
      Raysan...
- Add function to load assets from rres chunk
- Add function to load player sprite info from rres chunk
- Test loading rres in scene test
2023-09-01 20:50:45 +08:00
En Yi 3a4671cecc Add hurtbox to player
Changelog:
- Update player bbox update
- Update hitbox update system to account for player
- Reduce explosion size to allow better chaining behaviour
- Reduce lifetime of destroyed crates
2023-08-17 22:19:01 +08:00
En Yi 8c889690e8 Add null checks when creating new entity
Also, fix player spawn to reuse the player
2023-08-17 21:51:11 +08:00
En Yi 62ecd3c0fa Create simple dead player respawn system
Changelog:
- Add player dead sprite
- Add function to create dead player entity
    - It is easier to create a new entity than to transform an existing
      one
- Update existing respawn system
2023-08-16 23:45:34 +08:00
En Yi f81029b482 Add shape factor to control upthrust and friction 2023-07-25 20:39:42 +08:00
En Yi b70dcc1e98 Add activeness to ctransform
Changelog:
- Activeness determines whether to start moving or not
- Tile collision will skip inactive objects
- Crates are inactive on spawn
2023-06-26 20:42:32 +08:00
En Yi 63930fbe7d Update hitbox-hurtbox system
Changelog:
- Use atk and def values to determine whether a hitbox destroys a
  hurtbox
2023-06-17 13:08:07 +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 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 3580209f71 Refactor out implementation of Player Entity 2023-05-16 21:55:59 +08:00