Commit Graph

36 Commits (main)

Author SHA1 Message Date
En Yi f3defcf656 Significantly Update CMakeFile to reduce clutter
This is to reduce repetition and better integrate Tracy.

Some options are added as well.
2024-12-21 18:42:45 +08:00
En Yi b5e31519a6 Add a direct level player for faster playtest 2024-12-08 15:39:22 +08:00
En Yi 3041f5df54 Merge branch 'remove_edge_check' into profiling 2024-09-02 22:02:37 +08:00
En Yi d3ea551024 Tweak engine config to allow web build
Internal Changelog:
- Reduce particles number
- Use webGL2
2024-08-27 15:49:05 +08:00
En Yi ca5c653b9d Test integrate tracy into scenes 2024-08-24 21:44:23 +08:00
En Yi b2beaea248 Experiment with Tracy profiler 2024-08-24 19:14:53 +08:00
En Yi 8645bbd963 Use heaptrack for memory profiling on main 2024-08-24 14:41:10 +08:00
En Yi fb0f16d984 Add addr sanitisation for main game 2024-08-24 00:26:17 +08:00
En Yi 893fc1c73f Add level select scene
Just a render texture with simple scroll
2024-07-02 21:54:54 +08:00
En Yi 921b59d2ab Add scene hierachy feature
This allows scene to have children but can only have one parent

There is only one focused scene to get input

Update and Render order is child first and next
2024-06-27 21:36:55 +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 e4bd3fdcab Update Cmake files
Changelog:
- Add Wextra compilation
- Update libzstd link directory
2023-11-02 23:11:28 +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 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 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 044a5831ff Integrate ZSTD decompression to load level 2023-08-26 22:17:53 +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
En Yi dee5ebd178 Revert to original CMakeLists 2023-08-19 19:42:57 +08:00
En Yi fae37eeecd Test out compilation for the web 2023-08-19 18:21:27 +08:00
En Yi 5de188c503 Implement level pack loading and testing 2023-08-14 12:16:15 +08:00
En Yi 494c9e9e46 Fix incorrect line test
By this project convention, the line extend will start from p1 and
end at p2, but not including p2 [p1, p2). Thus, existing tests are
testing a zero-length line, which should assert no collision.

Add test to properly test AABB edge collision with a line

Also update existing collision function to account for this
2023-08-13 12:34:27 +08:00
En Yi eaf75ec8ae Create test scene for water flow
Changelog:
- Nothing here yet
2023-07-08 21:05:00 +08:00
En Yi ca621bf798 Integrate CMocka to do unit testing 2023-06-16 11:51:22 +08:00
En Yi 0b9637a2db Add RAYLIB_DIR as CMake Cache variable 2023-05-28 14:45:10 +08:00
En Yi 7b3685b792 Refactor for better separation of concern
Changelog:
- Separate out engine-specific stuff vs game-specific stuff
2023-05-16 21:09:38 +08:00
En Yi 340d507f14 Implement assets and assets management
Internal Changelog:
- Use string-int mapping for assets tracking
- static alloc assets (so there is a hard limit for now)
- Add simple assets test code
- Implement functions to load in assets
- Current assets:
    - Texture + Sprites
    - Sound
    - Font
2023-03-11 16:02:47 +08:00
En Yi 8606b595ab Add scene test for 16 pixels size tiles
Changelog:
- Add new compile profile for 16 pixels size tilemap
- Make game scene init less hardcoded
2023-02-04 22:31:28 +08:00
En Yi e2ae30e45e Prepare for menu scene implementation
Changelog:
- Add components:
  - selectable : indicate an entity is selectable
  - selection : indicate an entity has a list of choices
- Add menu scene implementation and test
- Reduce repetition in CMakeLists in specifying libraries
2023-01-31 21:17:11 +08:00
En Yi 9223dcc0e9 Refactor out game systems for scene 2023-01-21 10:44:02 +08:00
En Yi e1cbce2703 Make a directory for ECS
Changelog:
- Move Entity and Component files into a dedicated folder
- This is for clean up
2023-01-21 09:38:14 +08:00
En Yi af080dbdc8 Add compile target without Address Sanitizer
Changelog:
- This is to check static memory usage
2023-01-10 20:22:47 +08:00
En Yi b392e462b7 Implement test scene
Internal Changelog:
- Update BBox component to use Vector2
- Add new CTransform component
- Implement level scene movement system and render system
- Implement scene test procedure
2022-12-05 12:20:00 +08:00
En Yi 6c03078db9 Implement Scene and Level Scene
Changelog:
- Add actions and assets headers, not implemented and not used
- move original main to entManager_test
- Add proper main to create window and display nothing
- Implement scene base class and level scene
- Add a simple level scene test
- Update CMakeLists to compile main and tests
2022-12-03 13:46:24 +08:00
En Yi 4a926f8c53 Implement tag on entities
Internal Changelog:
- Use data store similar to component map
- Add init and free for entities tag
- Use enum instead of char for tag
- Switch to use clang for compilation
- Add -Wall for compilation
2022-11-26 23:27:45 +08:00
En Yi 17aae0617c First Commit of HATPC remake
Internal Changelog:
- Implement Basic ECS
- Tag system not yet implemented
- Use SC for common data structures
2022-11-26 18:11:51 +08:00