Ryan Walters
5563b64044
refactor: replace immutable Hidden component with mutable Visibility component
2025-09-10 00:45:16 -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
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
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
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
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
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
07bd127596
chore: move ttf context out of game.rs, remove unnecessary window event logging
2025-09-06 12:15:01 -05:00
Ryan Walters
da42d017e7
refactor: reorganize game.rs new() into separate functions
2025-09-06 12:15:01 -05:00
Ryan Walters
8b623ffabe
feat: sprite enums for avoiding hardcoded string paths
2025-09-06 12:15:01 -05:00
Ryan Walters
af81390e30
fix: use LARGE_SCALE for BatchedLineResource calculations
2025-09-06 12:15:00 -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
0f1e1d4d42
fix: do not use canvas.output_size() for calculations due to browser behavior
2025-09-04 16:06:28 -05:00
Ryan Walters
0759019c8b
fix: allow Window events, allows proper logical canvas resizing
...
You have no idea how much pain this has been causing me.
2025-09-04 13:26:08 -05:00
Ryan Walters
1f5af2cd96
feat: touch movement controls
2025-09-04 11:02:51 -05:00
Ryan Walters
36a2f00d8c
chore: set explicit ARGB8888 pixel format for transparency support, 'web' task with caddy fs
2025-09-04 00:13:48 -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
23f43288e1
feat: implement optimized text rendering by caching font characters into special atlas
2025-09-03 17:31:48 -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
b1b03b0e9c
refactor: move magic numbers & constants
2025-09-01 15:47:41 -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
0cbd6f1aac
refactor: switch NodeId to u16, use I8Vec2 for grid coordinates
2025-09-01 12:37:44 -05:00
Ryan Walters
98196f3e07
feat: ghost animation states, frightened/eaten behaviors, smallvec animation arrays
2025-09-01 11:46:18 -05:00
Ryan Walters
a8e62aec56
fix: force dirty render using resource_change conditions, hide ghosts & player on initial spawn
2025-08-28 20:20:38 -05:00
Ryan Walters
cde1ea5394
feat: allow freezing of blinking entities, lightly refactor game.rs structure
2025-08-28 20:02:27 -05:00
Ryan Walters
d0628ef70b
feat: use backbuffer fully, proper 'present' system, debug texture draws with transparency
2025-08-28 19:40:31 -05:00
Ryan Walters
2da8a312f3
chore: remove PlayerLifecycle, move MovementModifiers directly into PlayerBundle
2025-08-28 18:32:19 -05:00
Ryan Walters
2bdd4f0d04
feat: re-implement visbility via 'Hidden' tag component, move stage visibility logic into stage system
2025-08-28 18:24:47 -05:00
Ryan Walters
633d467f2c
chore: remove LevelTiming resource
2025-08-28 13:21:21 -05:00
Ryan Walters
d3e83262db
feat: better 'Vulnerable' tag for ghosts, fix movement issues
2025-08-28 13:18:47 -05:00
Ryan Walters
f31b4952e4
chore: remove wildcard/prelude imports, remove unused functions
2025-08-28 13:14:40 -05:00
Ryan Walters
ad3f896f82
chore: reorganize component definitions into relevant system files
2025-08-28 12:54:52 -05:00
Ryan Walters
80ebf08dd3
feat: stage sequence, ghost collisions & energizer logic, text color method, scheduler ordering
2025-08-28 12:40:02 -05:00
Ryan Walters
f14b3d38a4
feat: create hud rendering system
2025-08-27 22:55:26 -05:00
Ryan Walters
bf65c34b28
chore: remove unused code
2025-08-27 22:43:21 -05:00
Ryan Walters
89b0790f19
chore: fix clippy lints
2025-08-27 22:28:14 -05:00
Ryan Walters
8b5e66f514
refactor: update debug state management and rendering systems
2025-08-19 11:31:31 -05:00
12ee16faab
docs: document many major functions, types, enums for important functionality
2025-08-17 23:29:43 -05:00
d47d70ff5b
refactor: remove dead code, move direction & graph into 'map' module
2025-08-16 15:14:16 -05:00
c1c5dae6f2
refactor: restructure game logic and state management into separate modules
...
- Moved game logic from `game.rs` to `game/mod.rs` and `game/state.rs` for better organization.
- Updated `App` to utilize the new `Game` struct and its state management.
- Refactored error handling
- Removed unused audio subsystem references
2025-08-12 14:40:48 -05:00
c489f32908
fix: audio and other subsystems being dropped in App::new(), use Box::leak to ensure static ownership
2025-08-12 13:08:08 -05:00
33672d8d5a
feat: implement collision detection system for entities
2025-08-11 23:24:23 -05:00