Commit Graph
13 Commits
Author SHA1 Message Date
phillip d30c0d0330 fix: resolve CodeChecker findings and add CodeChecker ignore rules
- Refactor cause in draw_game_over_screen to an immediately invoked lambda, eliminating dead store warning
- Rename sound effect files to standard-compliant names without double underscores to prevent reserved macro warnings in soundbank.h
- Update source/game_audio.cpp to use clean SFX_* macro identifiers
- Add codechecker_skip.txt to ignore external devkitPro toolchain headers
- Ignore .codechecker/ output artifacts directory in .gitignore
- Update AGENTS.md file tree and sound asset references
2026-10-04 01:51:10 +02:00
phillipandAntigravity 496de1a31f fix: decouple VBlank ISR and main loop to prevent IRQ stack overflow
- Make handle_vblank strictly increment frame counter (frame++)
- Move heavy frame logic (background updates, OAM updates, palette animations, and console stats) to update_frame() on the main thread synchronized with swiWaitForVBlank()
- Eliminate 256-byte ARM9 IRQ stack (sp_irq) overflow caused by bg_update and iprintf that was corrupting DTCM stack and causing data aborts
- Preserve all playfield entities on game over with top-screen defeat summary and smooth background deceleration

Co-authored-by: Antigravity <antigravity@google.com>
2026-10-04 00:21:09 +02:00
phillip 91908d1f15 feat: add handcrafted 8x8 sprite art and VBlank bioluminescent animation for rotten apples 2026-10-03 23:49:24 +02:00
phillip 8559159fc0 refactor: remove blinking expiration animations from rotten and cursed apples 2026-10-03 22:26:46 +02:00
phillip adda5db2f4 feat: add finite lifetimes and despawn mechanics for rotten and cursed apples 2026-10-03 21:57:13 +02:00
phillip 9a3a0bd9fd feat: add temporary hazardous barriers in hard mode 2026-10-03 21:32:02 +02:00
phillip 08a4b41280 feat: overhaul cursed apple sprite with custom tile data, vibrant palette, and dynamic pulsing glow 2026-10-03 21:02:59 +02:00
phillip 60bf111400 feat: add custom background rendering and speed scaling features for snake gameplay 2026-10-03 20:58:33 +02:00
phillip d2fce9c0eb feat: display player score on game over screen 2026-10-01 22:14:57 +02:00
phillip 60740a53c2 refactor: optimize snake sprite rendering using preloaded directional assets and implement HUD caching 2026-10-01 22:00:55 +02:00
phillip 8bf999c33b Add a main menu scene with Start/Hard Mode/Music options
The game now boots into a menu (Start Game, Hard Mode toggle, Music
toggle) navigated with Up/Down and A/Start, instead of dropping
straight into a match. B returns to the menu from a paused or
game-over state.
2026-09-03 22:27:49 +02:00
phillip 0e7477031f Add cursed apple: a status-effect apple that inverts controls
Eating a cursed apple inverts the snake's steering for
CURSE_DURATION_TICKS ticks, shown on the top screen while active. The
sprite is a recolored copy of the rotten-apple tile since all existing
sprite tiles are already in use.
2026-09-03 22:27:22 +02:00
phillip b873ac24ca Let AI refactor everything and see if it breaks. 2026-03-29 00:59:27 +01:00