Ryan Walters
d86864b6a3
feat: fruit display hud
2025-09-10 22:00:11 -05:00
Ryan Walters
d7a6ee7684
fix: flush world after switching to observer-based item collection
2025-09-10 21:45:10 -05:00
Ryan Walters
d84f0c831e
feat: proper scheduling via SystemSet, non-conditional game systems, better collision handling
2025-09-10 21:36:51 -05:00
Ryan Walters
ae19ca1795
feat: rewrite ghost/item collision eventing into trigger-based observer
2025-09-10 17:15:15 -05:00
Ryan Walters
7b6dad0c74
refactor: remove unused component, simplify visibility check defaulting behavior, reformat STORY.md
2025-09-10 11:17:12 -05:00
Ryan Walters
5563b64044
refactor: replace immutable Hidden component with mutable Visibility component
2025-09-10 00:45:16 -05:00
Ryan Walters
cb691b0907
refactor: move animation components into new systems/animation submodule
2025-09-10 00:26:49 -05:00
Ryan Walters
ce8ea347e1
refactor: reorganize hud-related elements into systems/hud submodule
2025-09-09 17:00:32 -05:00
Ryan Walters
ca006b5073
refactor: remove dead code, tune lints, remove useless tests
2025-09-09 14:22:06 -05:00
Ryan Walters
5d56b31353
feat: fruit spawning mechanism, sprites, pellet counting, fruit trigger observer
2025-09-09 11:26:05 -05:00
Ryan Walters
b4990af109
chore: fix clippy lints part 972
2025-09-08 23:53:30 -05:00
Ryan Walters
088c496ad9
refactor: store common components & bundles in 'common' submodule, move others directly into relevant files, create 'animation' submodule
2025-09-08 23:53:30 -05:00
Ryan Walters
5bdf11dfb6
feat: enhance slow frame timing warning
2025-09-08 19:19:23 -05:00
Ryan Walters
c163171304
refactor: use Single<> for player queries
2025-09-08 16:50:28 -05:00
Ryan Walters
63e1059df8
feat: implement entity-based sprite system for HUD display (lives)
...
- Spawn HUD elements as Renderables with simple change-based entity updates
- Updated rendering systems to accommodate new precise pixel positioning for life sprites.
2025-09-08 16:22:40 -05:00
Ryan Walters
11af44c469
feat: add bottom row HUD, proper life display sprites
2025-09-08 14:30:33 -05:00
Ryan Walters
5aba1862c9
feat: improve tracing logs application-wide
2025-09-08 13:50:38 -05:00
Ryan Walters
49a6a5cc39
feat: implement stage transition for ghost eaten pause and add TimeToLive component
...
- `StageTransition` enum allows for collision system to apply state transition for ghost pausing.
- Added `TimeToLive` component & `time_to_live_system` to provide temporary sprite rendering of bonus sprites.
- Updated `stage_system` to handle the new ghost eaten pause state, including freezing entities and spawning bonus points.
2025-09-08 13:01:40 -05:00
Ryan Walters
e87d458121
fix: set PlayerLives default to 3, use resource for HUD lives count in top left
...
yes I am fully aware that the UP is not the player lives, I'm just
wanting the indicator to be somewhere and I'll make the proper indicator
tomorrow probably
2025-09-08 01:23:26 -05:00
Ryan Walters
823f480916
feat: setup pacman collision, level restart, game over, death sequence, switch to Vec for TileSequence
2025-09-08 01:14:32 -05:00
Ryan Walters
ca17984d98
feat: use cfg-based coverage exclusion to replace 'ignore-filename-regex' option, setup coveralls & nightly-based coverage
2025-09-06 14:51:23 -05:00
Ryan Walters
c8f389b163
feat: add pacman death sound
2025-09-06 12:15:08 -05:00
Ryan Walters
9219c771d7
test: improve input & map_builder test coverage
2025-09-06 12:15:05 -05:00
Ryan Walters
3c50bfeab6
refactor: add ticks to DeltaTime, rewrite Blinking system for tick-based calculations with absolute calculations, rewrite Blinking/Direction tests
2025-09-06 12:15:03 -05:00
Ryan Walters
42e309a46b
feat: enhance profiling with tick-based timing management and zero-padding for skipped frames
2025-09-06 12:15:02 -05:00
Ryan Walters
a38423f006
refactor: use welford's algorithm for one-pass avg/std dev. calculations, input logging tweaks
2025-09-06 12:15:02 -05:00
Ryan Walters
07bd127596
chore: move ttf context out of game.rs, remove unnecessary window event logging
2025-09-06 12:15:01 -05:00
Ryan Walters
2fabd5d7a2
feat: measure total system timings using threading indifferent method, padded formatting
2025-09-06 12:15:00 -05:00
Ryan Walters
2d36d49b13
feat: enumerate and display render driver info, increase node id text opacity
2025-09-06 12:14:59 -05:00
Ryan Walters
0f1e1d4d42
fix: do not use canvas.output_size() for calculations due to browser behavior
2025-09-04 16:06:28 -05:00
Ryan Walters
968eb39b64
feat: fix emscripten browser logging, streamline console initialization and logging
2025-09-04 14:07:24 -05:00
Ryan Walters
57e7f395d7
feat: add drag reference control relaxation with easing, mild refactor
2025-09-04 11:19:48 -05:00
Ryan Walters
1f5af2cd96
feat: touch movement controls
2025-09-04 11:02:51 -05:00
Ryan Walters
b8c7c29376
fix: calculation for rect position scaling in debug_renderer
2025-09-03 23:23:56 -05:00
Ryan Walters
a3c4e5267f
refactor: consolidate rendering systems into a combined render system for improved performance and reduced overhead
2025-09-03 23:09:19 -05:00
Ryan Walters
3e630bcbef
feat: run input_system less, rework profiling system to allow for conditional ticks, prepopulate and simplify locking mechanisms, drop RwLock
2025-09-03 23:09:19 -05:00
Ryan Walters
33775166a7
feat: add batching & merging of lines in debug rendering
2025-09-03 19:45:55 -05:00
Ryan Walters
f2732a7ff7
feat: improve debug rendering performance via batch rendering of rects
2025-09-03 19:15:05 -05:00
Ryan Walters
6771dea02b
fix: avoid padding jitter with constant name padding, minor timing calculation fixes
2025-09-03 19:00:45 -05:00
Ryan Walters
23f43288e1
feat: implement optimized text rendering by caching font characters into special atlas
2025-09-03 17:31:48 -05:00
Ryan Walters
028ee28840
fix: remove redundant double canvas copy
2025-09-03 17:31:06 -05:00
Ryan Walters
4cc5816d1f
refactor: use small_rng for Emscripten only, simplify platform to top-level functions only, no trait/struct
2025-09-03 11:11:04 -05:00
Ryan Walters
d6d0f47483
feat: optimize input system, avoid heap allocations, disable as many events as possible
2025-09-02 14:57:01 -05:00
Ryan Walters
7dfab26898
refactor: drop remaining Box::leak & statics where possible
2025-09-02 13:44:40 -05:00
Ryan Walters
7cdd1b6ad9
refactor: use 'unsafe_textures' sdl2 feature to hide lifetimes & obscure leaks into upstream
2025-09-02 12:59:06 -05:00
Ryan Walters
a62ae8dfe7
fix: energizers don't change dead (eyes) ghosts
2025-09-01 15:39:17 -05:00
Ryan Walters
a21459f337
feat: revamp with better separate directional/linear animations, direction independent ticking
2025-09-01 15:28:57 -05:00
Ryan Walters
b53db3788d
refactor: unify ghost state management and animation handling, use integers for texture animation
2025-09-01 14:27:48 -05:00
Ryan Walters
e1a2e6ab62
fix: avoid switching ghost back to normal during eyes animation
2025-09-01 13:14:16 -05:00
Ryan Walters
0cbd6f1aac
refactor: switch NodeId to u16, use I8Vec2 for grid coordinates
2025-09-01 12:37:44 -05:00