En Yi
26cc567b7f
Add emitter config to asset file loading
2023-11-06 21:36:23 +08:00
En Yi
e39e549cd0
Add sound in asset info
2023-11-06 20:49:30 +08:00
En Yi
0c540d5053
Move frame counter out of sprite component
...
This allows individual animation
2023-11-04 20:32:29 +08:00
En Yi
97f7afc401
Add more particle effects
...
Changelog:
- Add a dedicated tile destroy function
Similar reason to destroy entity
- Add more sprites for particles
2023-11-04 17:05:54 +08:00
En Yi
ebecc68941
Add better support for particle system
...
Changelog:
- Move sprite to emitter itself to allow better reusing emitter config
- Dedicate a function for destroying entity. This is helpful for dealing
with events that only occurs during entity destruction
2023-11-04 14:36:59 +08:00
En Yi
e4bd3fdcab
Update Cmake files
...
Changelog:
- Add Wextra compilation
- Update libzstd link directory
2023-11-02 23:11:28 +08:00
En Yi
a8b62f5aec
Integrate particle system into scenes
...
Changelog:
- Each scene will have its own particle system to maintain
- Crate destruction now emits particles
- Draw particles during screen renders
- May want to make this configurable
- Should be in general scene render
2023-11-02 22:44:52 +08:00
En Yi
43aa821c18
Refactor particle system
...
Changelog:
- Config should contain constants that determine the spawning of an
emitter.
- Move user_data and update_func to emitter, since these values can
change depending on the scene.
- Assets now load in Emitter Configs
2023-11-02 22:42:18 +08:00
En Yi
7939b8753e
Add particle emitter to assets
2023-11-02 21:44:25 +08:00
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