Commit Graph

29 Commits (90bbad09aee5c411532d6122e1add3d552b767e7)

Author SHA1 Message Date
En Yi e762f62f40 Decouple player dead and respawn system 2024-08-15 11:55:22 +08:00
En Yi 979533092e Update main game render 2024-08-13 15:34:31 +08:00
En Yi 65b04523ce Update game rendering
Internal Changelog:
- Port editor scene rendering improvements
- Make game scene ~640x480 for testing
2024-08-12 16:06:36 +08:00
En Yi f20daa9cce Update main game sprite rendering 2024-08-06 21:43:40 +08:00
En Yi 33de816841 Replace hardcoded scene values to enum 2024-07-07 16:48:55 +08:00
En Yi b158bee1e8 Remove unused ActionResult
There is only one focused scene at a time as part of the design
limitation. Thus, it is no longer needed
2024-07-01 20:48:48 +08:00
En Yi 0653cbd0a2 Continue plan data struct for scene management 2024-06-20 21:41:14 +08:00
En Yi 0f09a7b2bd Remove obsolete render function field 2024-05-04 20:40:15 +08:00
En Yi bef2ee2813 Expose initial window size to scene
This is so that each scene does not need to hardcode render layer size
2024-05-04 18:28:53 +08:00
En Yi 75d019aa34 Rework rendering to allow multi-layer render
Internal Changelog:
- A scene now has a maximum amount of render texture. It is to be
  rendered in order of the array by the engine.
- A scene now needs an explicit render system to draw onto the render
  textures. The scene will also init the number of render layers
  needed.
- The change is to allow more separate of concerns when it comes to
  rendering. A scene can also now compartmentalise the rendered items,
  which hopefully make understanding the code easier.
- Update all exisiting code to use the new render system.
2024-05-04 17:57:07 +08:00
En Yi 0d4089d9ce Tweak scene render function
Delegate BeginDrawing and EndDrawing to individual scenes
2024-05-01 19:56:10 +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 799941ed80 Draw particles before water 2023-11-21 21:01:47 +08:00
En Yi 911663b51f Update game scene system 2023-11-20 22:19:18 +08:00
En Yi d947d95247 Fix signed int comparison 2023-11-11 12:44:37 +08:00
En Yi ffc890240b Remove asset argument from entity creation 2023-11-11 12:18:45 +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 d9b69aa09d Draw air meter in main game scene 2023-11-07 21:53:42 +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 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 ad421d724a Add sprite rotation 2023-11-02 21:18:47 +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 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 064341e2eb Initial implementation of camera system
Changelog:
- Implement effectively a PI controller
2023-10-08 12:13:03 +08:00
En Yi 5398c08782 Integrate air timer in game scene 2023-09-28 20:47:10 +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 bba12b9b39 Add Sandbox button in main program
Changelog:
- First button now loads the levelpack
2023-08-14 21:54:25 +08:00
En Yi e670af2519 Fix camera for levels smaller that viewport 2023-08-14 21:22:03 +08:00
En Yi 70d7fda22c Add game scene
This is slightly different from the sandbox
- No editting tiles and spawnning
- Can switch levels
2023-08-14 18:37:29 +08:00