Commit Graph

276 Commits

Author SHA1 Message Date
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
9c274de901 feat: setup dying sprites with sprite validation tests 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
b60888219b fix: remove unused BlinkingTexture 2025-09-06 12:15:03 -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
132067c573 feat: re-implement CustomFormatter to clone Full formatterr 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
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
bcd9865430 chore: move BufferedWriter into tracing_buffer.rs 2025-09-06 12:15:00 -05:00
Ryan Walters
ed16da1e8f feat: special formatting with game tick counter, remove date from tracing formatter 2025-09-06 12:14:59 -05:00
Ryan Walters
14882531c9 fix(ci): allow dead code in buffered_writer & tracing_buffer for desktop non-windows checks 2025-09-06 12:14:59 -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
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
b34c63cf9c feat: add aspect ratio demo bin 2025-09-04 11:20:00 -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
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
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
a489bff0d1 chore: add timing demo bin 2025-09-03 17:31:06 -05:00
Ryan Walters
0907b5ebe7 chore: remove unused functions, add 'web' task to Justfile 2025-09-03 16:31:21 -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
24e8b3e3bc fix: retain main SDL & audio contexts for application lifetime 2025-09-03 09:33:03 -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
f2fc60b250 chore: add LICENSE, add missing metadata, clean up dependencies & use dev-dependencies, document choices 2025-09-02 13:23:43 -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
055dc85f2b refactor: improve console handling & logs, scoped mutex lock, fix linux unused imports 2025-09-02 09:09:48 -05:00
Ryan Walters
39a5df1ffd fix: use c-style strings instead of manual termination, cast pointer, use then_some 2025-09-02 08:52:08 -05:00
Ryan Walters
6637691157 feat: setup windows system console output detection for dynamic console attach 2025-09-02 00:31:59 -05:00
Ryan Walters
c79ba0d824 feat: buffer tracing logs before console init 2025-09-01 17:22:22 -05:00
Ryan Walters
b1b03b0e9c refactor: move magic numbers & constants 2025-09-01 15:47:41 -05:00