Commit Graph

308 Commits (ad421d724a5aa207bb9d22b23c43f675dce69f0c)
 

Author SHA1 Message Date
En Yi ad421d724a Add sprite rotation 2023-11-02 21:18:47 +08:00
En Yi b01edded42 Add chest sprite 2023-11-02 20:37:55 +08:00
En Yi dc0fcc381c Add size support for particle 2023-11-01 22:36:44 +08:00
En Yi edf78412dc Improve particle system
Add support for texture and rotation
2023-11-01 22:18:40 +08:00
En Yi 7c86e0b3c5 Implement initial particle system
Changelog:
- Can only to one-shot burst emitter
- Add test for it
2023-10-21 14:37:54 +08:00
En Yi 290dafdf86 Rework scene rendering function
Split off- and on-screen rendering. Off-screen rendering would be a
system now
2023-10-21 10:48:21 +08:00
En Yi 7b2c48524d Add skeleton for particle system 2023-10-18 21:45:19 +08:00
En Yi b7a6c11b77 Improve scene drawing
Changelog:
- Add entity draw culling
- Tweak culling range
- Remove unnecessary draws for game scene, those are debug anyways
- Reorder draw in game scene for entity
2023-10-18 21:44:23 +08:00
En Yi 7dc66945da Add in engine configuration
All engine constants now sits in a single header file for easy tweaking
Also, SFX list fields is now an array rather than a pointer instead.
2023-10-13 21:55:30 +08:00
En Yi b9b0c11524 Separate out engine from scenes
This creates stronger separation the engine stuff from game
implementations.

way overdue tbh
2023-10-13 21:26:42 +08:00
En Yi b3de60b4bc Merge EC into engine directly
There is not much gained separating EC from engine. Merge it.
sc is still separated though.
2023-10-13 21:21:22 +08:00
En Yi 92555708d7 Put more boilerplate inits into engine init 2023-10-13 21:08:48 +08:00
En Yi e318c65135 Add some more sfx 2023-10-10 21:57:45 +08:00
En Yi 2b79b5e6bc implement simple sfx playback for jumping 2023-10-09 21:28:30 +08:00
En Yi 0a4c700bf6 Add camera lookahead when falling 2023-10-08 12:34:35 +08:00
En Yi ae730ce029 Finish initial camera behaviour
x follows a mass-spring-damper system
y is simple lerp. Doesnt follow player when jumping
2023-10-08 12:13:03 +08:00
En Yi b56e0e7f10 Clamp target position and revert to old behaviour
Need to figure out the y direction update. Should not be
the same way as x
2023-10-08 12:13:03 +08:00
En Yi d1d8033b77 Only apply new behaviour to x direction only 2023-10-08 12:13:03 +08:00
En Yi f8eab8acec Adjust parameters for camera 2023-10-08 12:13:03 +08:00
En Yi 835b88f1f4 Fix coyote jump issue
Changelog:
- Add check for coyote timer when jumping
- Set ladder state AFTER the jump check
2023-10-08 12:13:03 +08:00
En Yi 064341e2eb Initial implementation of camera system
Changelog:
- Implement effectively a PI controller
2023-10-08 12:13:03 +08:00
En Yi 533e2998bc Include missing headers in rres packer 2023-10-08 12:07:17 +08:00
En Yi de29201a41 Fix uninitialised overlap value 2023-10-08 12:07:04 +08:00
En Yi 9f3061bae3 Implement coyote time 2023-09-29 21:18:08 +08:00
En Yi c2c00cfa51 Add quake-style jump buffering 2023-09-28 21:31:52 +08:00
En Yi 5398c08782 Integrate air timer in game scene 2023-09-28 20:47:10 +08:00
En Yi d4d3b317e2 Complete level data packing and loading 2023-09-28 16:10:20 +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 26fa9af6b8 Allow null input for overlap for AABB check 2023-09-25 22:08:31 +08:00
En Yi ce8284ab39 Implement level ending
Internal Changelog:
- Activate on collected chest == all chest
- Add spawning level end entity
- Level ending in sandbox will just reset the scene
2023-09-25 22:04:13 +08:00
En Yi d54fee8935 Fix main game collision issue
Changelog:
- Add the refactored system to main game
- Reset coin counter to zero on (re-)start
2023-09-23 14:16:57 +08:00
En Yi e6784a4d71 Fix crates hitbox collision with player 2023-09-23 13:39:18 +08:00
En Yi e8ebe0f89c Improve player collision to chests vs crates
Internal Changelog:
- Delay zeroing velocity on edge check to after hitbox update
- Update player velocity on hitting a crate explicitly
    - This is due to the zeroing velocity changes above
    - This essentially allow 'phasing' through chest but not wooden
      crates
- Render crates using material instead of fragile flag
2023-09-23 00:28:03 +08:00
En Yi a8e0d99870 Implement collecting chests
Internal Changelog:
- Set chest limit to 65535
- Handle (de-)spawning chest on coin counter
- Add coin increment to chest collision with player
2023-09-21 22:08:02 +08:00
En Yi e1a0c6e4e0 Implement Chest Entity
Internal Changelog:
- chest entity: Basically crates, but high def, and fragile
- Add new spawn type for chest
- Add atk modifier for player->chest
- Make crate non-fragile
- Ignore chest for collision check and move with player
2023-09-21 21:48:32 +08:00
En Yi 57f6a154b0 Add missing CMakeLists in res 2023-09-16 20:49:11 +08:00
En Yi 6d1dbc0084 Replace level data will compressed version 2023-09-02 19:58:46 +08:00
En Yi 9134fde7dc Add in rres packer
Packer will pack a rres file based on assets.info
It will also pack in player_spr.info

Will need to figure a way to incorporate sprite info for entities
2023-09-02 19:55:08 +08:00
En Yi 51618cadc6 Reset ZSTD context before starting 2023-09-02 19:54:17 +08:00
En Yi 789d1b2577 Fix incorrect check for invalid assets 2023-09-02 19:51:36 +08:00
En Yi e32fd0fc55 Modify main to use rres loading 2023-09-02 14:34:43 +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 044a5831ff Integrate ZSTD decompression to load level 2023-08-26 22:17:53 +08:00
En Yi 3ab442169a Update README 2023-08-22 20:41:18 +08:00
En Yi c283071eff Update README 2023-08-20 19:23:36 +08:00
En Yi 62de96609b Fix (hopefully) one way collision 2023-08-20 16:40:51 +08:00
En Yi 8dde1d5344 Fix quitting from game scene quits the game 2023-08-20 16:40:19 +08:00
En Yi 5cbacf8516 Change keybinds to be more convenient
Also, remove asan compile flag for web build
2023-08-20 11:47:51 +08:00
En Yi 3df97bce95 Merge web build and pc build 2023-08-19 20:47:24 +08:00