Commit Graph

439 Commits (979533092ef2edd949675db16eb8a4ae5cf5a361)
 

Author SHA1 Message Date
En Yi c76ceba9bf Add delta time into particle system updates
Only update the callbacks to use it
2024-04-24 21:06:57 +08:00
En Yi 0a3f56f730 Fix out-of-bound access in water check function 2024-04-24 20:58:54 +08:00
En Yi 0a6e7b4ddc Add delta time handling
Internal Changelog:
- Major change: all engine that does counting uses delta time instead of
  frame counting
- Animation runs at 24 FPS
- Water fill is at a constant rate as well
- Particle update will need to be given delta time as well.
- Particle system is not updated to use float, so no delta time handling
  for the system in this commit
2024-04-23 22:44:52 +08:00
En Yi 55ba03f2d6 Add asset enums & texture addition from Images
Enums is to reduce hardcoded indices

Texture can now be added from Images
2024-04-22 23:29:09 +08:00
En Yi 3961366ac4 Add function to get number of free entities 2024-04-22 22:52:59 +08:00
En Yi 6f3f391d8a Rework the offset collision checking
Change the function to check for collision at the specified point.
This is much straightforward to use.
The offset point to check must be computed before passing into the
function.
2024-04-22 22:42:32 +08:00
En Yi fec9ac268d Adjust simple collision function signatures
Remove redundant position argument for the straightforward collision
functions, as the entity would have it alread.

The collision offset check function is not as trivial and requires
some review
2024-04-22 22:31:58 +08:00
En Yi a2c061c5e8 Place position field into Entity
Position is so commonly used that placing it into Entity from the
CTransform components reduces the reference to CTransform.

Void Particle proved that it made development much easier.
2024-04-22 22:15:21 +08:00
En Yi 402d6f658e Attempt to tune up boulder sliding behaviour 2023-11-24 21:45:48 +08:00
En Yi bdbf936c7c Make boulder slide into wooden platform
Internal Changelog:
- Remove speed requirment for platform destruction
- Platform check is now 1 px lower
- Allow sliding if platform is on the lower tile on the sides
2023-11-24 21:24:11 +08:00
En Yi 95dd27974a Update README 2023-11-23 22:52:54 +08:00
En Yi 09da7e8700 Add sprite to tile and entity spawn in editor 2023-11-23 22:26:44 +08:00
En Yi 8a39f85c45 Change key to toggle grid 2023-11-23 21:53:36 +08:00
En Yi f3d48281f5 Adjust bubbles draw position 2023-11-23 20:53:04 +08:00
En Yi d5c6d05558 Add action to set spawn point 2023-11-23 20:52:51 +08:00
En Yi 05e58677a5 Add angle and rotation range for particle system 2023-11-22 23:18:08 +08:00
En Yi 26eeec5638 Hack a method to lock key in game 2023-11-22 22:52:21 +08:00
En Yi d62b862ebe Make player hitbox bigger 2023-11-22 21:41:43 +08:00
En Yi 96d389a69a Fix mistake in ground check 2023-11-22 21:41:06 +08:00
En Yi 21dab8b9a8 Adjust camera base height on crate jumping 2023-11-22 21:40:50 +08:00
En Yi 72235f7522 Play box land sfc for chests as well 2023-11-22 21:13:10 +08:00
En Yi 1311c2f0b7 Fix ground check
Use line check instead of box check
2023-11-22 21:04:00 +08:00
En Yi 09ee7aa4b3 Fix weird air and bubbling behaviour
Changelog:
- Air timer decays on point check instead of water state
- Bubbling is also starts with this point check
- This is so that it is consistent that bubbles == air going down
2023-11-22 20:51:29 +08:00
En Yi 1fa48b2176 Tweak engine config
Internal Changelog:
- Increase max entities
- Increase max active emitters
2023-11-22 00:27:08 +08:00
En Yi f8277b304c Add SFX to main program 2023-11-22 00:13:15 +08:00
En Yi 9a9f77c7b2 Fix issue with web build
Changelog:
- Update SFX
- Draw air meter
2023-11-22 00:13:05 +08:00
En Yi dbf5b30366 Add coin and bubble emitter 2023-11-22 00:12:29 +08:00
En Yi 637319cfd0 Fix one-shot stream emitter 2023-11-22 00:12:09 +08:00
En Yi ec9e21dc8a Update web build
Changelog:
- preload assets
- increase heap and stack memory
2023-11-22 00:11:01 +08:00
En Yi 799941ed80 Draw particles before water 2023-11-21 21:01:47 +08:00
En Yi f94ecedc7d Fix aliveness check for emitter
Emitter aliveness should be checked with its finish state

Also update bubbling to re-activate an still alive handle
2023-11-20 22:47:30 +08:00
En Yi 911663b51f Update game scene system 2023-11-20 22:19:18 +08:00
En Yi 70d52cca5b Tweak bomb horizontal spawn 2023-11-20 22:10:02 +08:00
En Yi c52651ca1b Add bubbling paritcle emitter to player 2023-11-20 22:08:28 +08:00
En Yi b18e072d51 Print free emitters in editor scene 2023-11-20 22:08:05 +08:00
En Yi 73ea7edd07 Update emitter asset loading 2023-11-20 22:07:45 +08:00
En Yi ad789329d1 Add emitter component
Also, add funciton to check if emitter handle is still alive
2023-11-20 22:06:58 +08:00
En Yi 841603a432 Update inital position of stream emitter 2023-11-20 20:53:22 +08:00
En Yi 8165cd41c2 Rework stream handling function
Changelog:
- Add callback function to stop the emitter
    - This is use to automatically stop the emitter when the condition
      is met
- Update particle test program
2023-11-20 20:48:41 +08:00
En Yi 8ae999ccc8 Tweak water rendering
make water rendering in front of all entities
2023-11-18 20:13:02 +08:00
En Yi de5da9a5f2 Increase lifetime for bomb crates 2023-11-18 20:12:39 +08:00
En Yi cb67dcf81f Fix incorrect parsing of emitter config 2023-11-18 20:02:00 +08:00
En Yi be75263c2c Implement stream-type particle emitter 2023-11-18 19:44:20 +08:00
En Yi cb0a93ee70 Implement feature to start and stop emitter 2023-11-18 15:48:43 +08:00
En Yi 5350c2b761 Refactor particle system for future feature
This is to support persistent emitter later on

Also, re-check the update logic
2023-11-18 12:45:57 +08:00
En Yi e1bef49d06 Fix tunneling for wooden tile
Just make the collision bbox to be tile_size.
The 'hitbox' of the tile is too thin.
2023-11-16 20:23:06 +08:00
En Yi 3f5e1648c1 Fix regression in AABB collision 2023-11-16 00:03:26 +08:00
En Yi bfab7df718 Play SFX on destroying wooden tile 2023-11-16 00:02:52 +08:00
En Yi 85e731392a Remove drawing of moveable grid 2023-11-15 23:35:38 +08:00
En Yi a9939200b7 Fix ladder not one-way on destruction 2023-11-15 23:32:10 +08:00