Commit Graph

149 Commits

Author SHA1 Message Date
4f76de7c9f feat: enable vsync & hardware acceleration 2025-08-13 19:49:02 -05:00
db8cd6220a feat: cache dynamicly rendered map texture 2025-08-13 19:48:50 -05:00
ced4e87d41 feat: embed atlas.json via phf instead of runtime parsing 2025-08-13 00:37:37 -05:00
09e3d85821 feat!: dynamic map rendering from tiles 2025-08-13 00:25:34 -05:00
c1e421bbbb test: new graph tests 2025-08-12 19:58:37 -05:00
3a9381a56c chore: use NodeId explicitly in collision.rs types 2025-08-12 19:58:11 -05:00
a230d15ffc test: setup common submodule, add text.rs tests, pattern exclude error.rs 2025-08-12 19:24:06 -05:00
1529a64588 test: add asset path validity tests 2025-08-12 17:24:12 -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
183a432116 test: add tests for collision, items, directional, sprite
enum macros for FruitKind
2025-08-12 09:18:53 -05:00
33672d8d5a feat: implement collision detection system for entities 2025-08-11 23:24:23 -05:00
1dc8aca373 feat: item collection & collisions, pellet & energizer generation 2025-08-11 22:45:36 -05:00
1f8e7c6d71 fix: resolve clippy warnings, inline format vars, use tracing to log warnings 2025-08-11 22:09:08 -05:00
27079e127d feat!: implement proper error handling, drop most expect() & unwrap() usages 2025-08-11 20:23:39 -05:00
250cf2fc89 fix: avoid rendering path lines between far apart cells 2025-08-11 18:39:01 -05:00
57975495a9 fix: calculate more static, stable offsets for path debug rendering 2025-08-11 16:00:23 -05:00
ee6cb0a670 refactor: implement entity trait, common abstraction for movement & rendering 2025-08-11 15:46:04 -05:00
b3df34b405 fix: crash when entering right tunnel due to overflowing pixel position calculation 2025-08-11 15:44:04 -05:00
d9c8f97903 feat: pathfinding for ghosts, add debug rendering of paths 2025-08-11 15:25:39 -05:00
ad2ec35bfb chore: remove unused tracing debug invocations 2025-08-11 15:23:23 -05:00
6331ba0b2f refactor: move graph traversal code into traversal.rs 2025-08-11 14:05:28 -05:00
3d275b8e85 fix: clippy inline format args 2025-08-11 14:05:28 -05:00
27705f1ba2 feat: implement ghost entities, movement & rendering 2025-08-11 11:54:05 -05:00
e964adc818 feat: enhance debug visuals with cursor-based effect 2025-08-11 11:54:05 -05:00
c5213320ac fix(emscripten): string pointer casting, fixup AssetError handling 2025-08-11 11:25:52 -05:00
e0f8443e75 refactor: replace HashMap with fixed-size arrays for textures in DirectionalAnimatedTexture 2025-08-11 11:13:46 -05:00
6702b3723a refactor: move DIRECTIONS constant into direction, add as_u8() const fn for array indexing 2025-08-11 11:03:46 -05:00
f6e7228f75 refactor: platform trait, platform-specific code handling into platform module 2025-08-11 10:49:58 -05:00
b308bc0ef7 refactor: move all tests out of src/ into tests/, remove unnecessary tests 2025-08-08 08:50:52 -05:00
2ae73c3c58 fix: disable app quit on browser build 2025-08-07 23:44:26 -05:00
adfa2cc737 feat: edge traversal permissions system 2025-08-07 23:39:39 -05:00
2a295b1daf test: small test lint fixes 2025-07-28 20:55:45 -05:00
4398ec2936 chore: fix clippy errors, add allow dead_code modifiers 2025-07-28 20:53:01 -05:00
324c358672 refactor: remove StartingPosition MapTile, track pacman start explicitly in parser 2025-07-28 20:49:17 -05:00
cda8c40195 test: allow mute state updates while audio subsystem is disabled 2025-07-28 20:48:13 -05:00
89b4ba125f feat: begin tracking nodes of entity starting positions 2025-07-28 20:41:26 -05:00
fcdbe62f99 feat: allow graceful disabling of audio subsystem in background 2025-07-28 20:38:16 -05:00
04cf8f217f test: add generic tests for coverage 2025-07-28 19:48:31 -05:00
fcc36c8a46 test: add tons of tests for all easy submodules 2025-07-28 19:26:36 -05:00
41affcd7ad test: add tests for centered_with_size 2025-07-28 18:52:34 -05:00
4ecfded4ac refactor: center Rect with centered_with_size helper 2025-07-28 18:47:24 -05:00
c9bcf32381 chore: fix various clippy warnings, disable trivial warnings in some spot 2025-07-28 17:25:18 -05:00
532abd1e45 chore: remove unused params for debug_render_nodes func 2025-07-28 16:22:48 -05:00
70528b0dcc refactor: separate map struct into multiple files for building, rendering & parsing 2025-07-28 16:20:24 -05:00
c5ca7302c2 refactor: separate map parsing into MapTileParser, get tests working 2025-07-28 16:10:50 -05:00
a27f85279e feat: working perfect tunnels with offset house positioning nodes 2025-07-28 14:34:24 -05:00
bea915b5c7 docs: post-creation neighbor edges, no ignore result err 2025-07-28 13:25:51 -05:00
d743aee393 refactor: better graph connection functions & creation method, debug render connections 2025-07-28 13:23:12 -05:00
59aba9f691 fix: remove emscripten main_loop_callback targeted code 2025-07-28 12:48:10 -05:00