Commit Graph

16 Commits

Author SHA1 Message Date
Adolfo Reyna
b722b8b9c5 Clean up build artifacts and improve .gitignore
- Remove tracked CMakeFiles/ directory
- Remove .DS_Store files
- Add proper .gitignore patterns for:
  - *.o, *.o.d (object files and dependency files)
  - *.a, *.so, *.dylib (static/dynamic libraries)
  - CMakeFiles/ (CMake build directory)
  - emulator/build/ (build output)
  - .DS_Store (macOS metadata)
2026-02-12 20:42:56 -05:00
Adolfo Reyna
38ffdac749 Add pagination to game launcher - 4 games per page
- GameLauncher now displays only 4 games per page to keep menu in bounds
- Added page navigation with page indicator (Page X/Y)
- KEY0 navigates between pages and within page
- KEY1 selects the highlighted game
- Touch selection works on current page only
- Helper methods: get_total_pages(), get_page_start_index(), get_page_end_index()
- Updated both lib/ and emulator/ versions for consistency
2026-02-12 20:39:38 -05:00
Adolfo Reyna
47fc02f05c Fix frame update logic and emulator support
- Fix basic1.cpp loop to handle set_frame_updates(true) correctly with sleep
- Update emulator loop for concurrent input and frame updates
- Update emulator for SFML 3.0 compatibility
- Add INPUT.FRAME_TICK constant to Lua bindings
- Enable frame updates in snake.lua example
2026-02-10 23:27:31 -05:00
Adolfo Reyna
b16211f148 Fix SD card integration and Lua game loading
- Fix SD card MISO pin (was using display MISO instead of SD MISO)
- Add FatFS mounting after SD card initialization
- Restore SPI baudrate on all SD init failure paths
- Add case-insensitive .lua file extension check
- Filter out hidden 8.3 filename entries
- Add SPI speed management functions for shared SPI bus
- Wrap all FatFS operations with SPI speed switching
- Restore display SPI speed (32 MHz) after SD operations
- Add debug output to Lua game loader

This fixes slow display refresh when SD card is present and enables
reliable Lua game loading from SD card /games directory.
2026-02-07 19:31:38 -05:00
Adolfo Reyna
2a472fc29f Add frame tick system for continuous animation
- Added INPUT_FRAME_TICK event type to input_event.h
- Added wants_frame_updates() virtual method to Game base class
- Implemented frame tick logic in main loop (basic1.cpp and emulator/main.cpp)
- Added Lua bindings: game.set_frame_updates(bool) and INPUT.FRAME_TICK
- Updated LuaGame to support frame updates via registry flag
- Updated ball.lua to use continuous frame updates for smooth animation
- Both hardware and emulator now support continuous animation for physics/games
2026-02-07 13:20:10 -05:00
Adolfo Reyna
22f5f1f5b2 Fix garbage characters in emulator game names
Store game names and descriptions in persistent LuaGameFactoryData
structure instead of local stack variables to prevent dangling pointers
2026-02-07 13:08:22 -05:00
Adolfo Reyna
285dffc32e Add Lua scripting support to desktop emulator
- Created emulator-specific lua_game_emulator.cpp using filesystem instead of FatFS
- Created lua_game_loader_emulator.cpp to scan games/lua_examples directory
- Updated CMakeLists.txt to include Lua 5.4 engine and bindings
- Updated to SFML 3.0 API compatibility (event handling, sprite initialization)
- Updated Game class to use public members for Lua bindings
- Updated GameLauncher to use std::function for lambda captures
- Added continuous 60 FPS rendering for smooth display
- Emulator now loads and runs all three example Lua games
2026-02-07 12:14:33 -05:00
Adolfo Reyna
64f61759d7 Fix emulator compilation and crash, and implement Monopoly payment modal 2026-02-06 23:13:32 -05:00
Adolfo Reyna
d5a80235b4 improve board view with visual cues of the properties owned 2026-01-31 23:02:25 -05:00
Adolfo Reyna
c6d7bd6c8c monopoly Main UI Changes 2026-01-31 22:46:26 -05:00
Adolfo Reyna
78b376ad5d fix rent calculation 2026-01-31 22:23:49 -05:00
Adolfo Reyna
fa4c6f00ca monopoly board 2026-01-31 22:00:46 -05:00
Adolfo Reyna
2165186b6b interpreting monopoly as multi scree game 2026-01-31 19:05:49 -05:00
Adolfo Reyna
ab75dbd322 monopoly 2026-01-31 18:50:50 -05:00
Adolfo Reyna
cad1aad2c8 initial monopoly test 2026-01-31 09:45:40 -05:00
Adolfo Reyna
c1423b66aa First working version of desktop emulator with game launcher support. Includes local stubs and launcher logic. 2026-01-30 23:35:43 -05:00