En Yi
8529a2c934
Use unsigned int for rres Id as per the struct
2023-11-11 13:04:24 +08:00
En Yi
816608029a
Fix more sign int usage
2023-11-11 12:48:28 +08:00
En Yi
45d9e2a5f6
Use unsigned int for boulder checks
2023-11-11 12:44:57 +08:00
En Yi
d947d95247
Fix signed int comparison
2023-11-11 12:44:37 +08:00
En Yi
97714eccf6
Use unsigned int for UI component count
2023-11-11 12:30:42 +08:00
En Yi
ffc890240b
Remove asset argument from entity creation
2023-11-11 12:18:45 +08:00
En Yi
2968172921
Use signed int for water runners
2023-11-11 12:06:19 +08:00
En Yi
15bb9c84ae
Remove unused prev_pos in box edge checking
2023-11-11 11:56:08 +08:00
En Yi
b150b3ad38
Change to manual init for entity tag map
...
The entity tag mapping is not that used often enough.
So, change it to manual init.
2023-11-11 11:14:22 +08:00
En Yi
029415e19f
Add particles for arrow destruction
2023-11-10 23:15:12 +08:00
En Yi
b17c521dfd
Add emitter loading from RRES
2023-11-07 21:58:20 +08:00
En Yi
d9b69aa09d
Draw air meter in main game scene
2023-11-07 21:53:42 +08:00
En Yi
d660b4e5a5
Add sound loading from rres file
...
Also, fixes mistake in raw data size when loading from RRES file
2023-11-07 21:49:15 +08:00
En Yi
4ede1abcc1
Fix crashes in main application
...
Changelog:
- Fix crash on empty emitter config
- Fix engine de-init order
- Update assets file to load for main application
2023-11-07 20:47:30 +08:00
En Yi
716393e9f4
Replace fmemopen when adding zst from rres
...
Changelog:
- Modify zst load function to accept buffer containing the zst data.
- Manually manage the buffer reading
- Reading from zst file will load entire zst in memory first before
passing into load function.
2023-11-07 20:46:05 +08:00
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