Commit Graph

41 Commits

Author SHA1 Message Date
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
e6e4eca188 Add Lua 5.4 scripting integration for dynamic game loading
- Integrated Lua 5.4 engine (32-bit mode for embedded ARM)
- Created LuaGame wrapper class implementing Game interface
- Added C++ bindings exposing renderer, game state, and input to Lua
- Implemented SD card loader for automatic .lua game discovery
- Updated GameLauncher to support std::function for lambda captures
- Made Game class members public for Lua bindings access
- Added example Lua games: counter, snake, bouncing ball
- Included comprehensive API documentation

Games can now be written as .lua text files on SD card and loaded
without recompilation. Build size: 747KB UF2, Lua VM uses ~50-80KB RAM.
2026-02-07 11:56:03 -05:00
Adolfo Reyna
c8af4f6638 Update DiceModalGame with a restricted board view and interactive dice challenge 2026-02-06 23:30:37 -05:00
Adolfo Reyna
499b61c9a5 Fix CommunityChestModalGame getting stuck after dismissal by correctly deleting it 2026-02-06 23:19:40 -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
75e17fb26b Add friction to mindless clicking by disabling default action preselection in Monopoly menus 2026-02-06 22:45:16 -05:00
Adolfo Reyna
e2817262b0 Add virtual touch buttons for Monopoly game and centralize configuration in ModalButtonHelper 2026-02-06 22:11:24 -05:00
Adolfo Reyna
eb86c3fc0e Integrate thematic sprites and improve Monopoly UI 2026-02-02 23:14:14 -05:00
Adolfo Reyna
3bdbfb1811 Fix 1-bit bitmap rendering and add player turn modal 2026-02-02 23:14:11 -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
63c4324561 monopoly Main UI Changes 2026-01-31 22:46:33 -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
561f7c5951 interpreting monopoly as multi scree game 2026-01-31 19:05:58 -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
3a1e278c4c Fix font handling: use const Font* for get_current_font and all GUI font save/restore logic 2026-01-31 09:45:29 -05:00
Adolfo Reyna
76a74477a7 emulator working 2026-01-30 23:40:10 -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
Adolfo Reyna
d2fd001e70 Add display color inversion flag and logic for Feather TFT 2026-01-30 23:02:53 -05:00
Adolfo Reyna
45cbcc8384 fix touch 2026-01-30 22:52:25 -05:00
Adolfo Reyna
30c3c2a066 full refresh between game changes 2026-01-30 22:11:12 -05:00
Adolfo Reyna
f860d4f5e6 input manager provides ground of truth on device input choise 2026-01-30 22:07:31 -05:00
Adolfo Reyna
436245a7a2 Fix render issues with fonts 2026-01-30 22:02:15 -05:00
Adolfo Reyna
e3445b545d Initial game launcher 2026-01-30 21:39:09 -05:00
Adolfo Reyna
2a6861fdf5 refactored to multiple games implementation 2026-01-30 21:33:42 -05:00
Adolfo Reyna
d81d547983 plans 2026-01-30 21:10:29 -05:00
Adolfo Reyna
435a5caa56 tic tac toe works on touch and eink 2026-01-29 17:16:59 -05:00
Adolfo Reyna
372895fa08 initial game template 2026-01-29 15:58:58 -05:00
Adolfo Reyna
de566223b9 Add reactive game template refactoring plan 2026-01-29 15:38:20 -05:00
Adolfo Reyna
26e67d13d3 update readme 2026-01-29 15:37:44 -05:00
Adolfo Reyna
95e3f3f32d simple clean 2026-01-29 15:32:45 -05:00
Adolfo Reyna
8d0bca691a hardware button support 2026-01-29 15:23:03 -05:00
Adolfo Reyna
1684eb0198 add build all script 2026-01-29 14:33:54 -05:00
Adolfo Reyna
de6411d2fa improve board config setup 2026-01-29 14:32:36 -05:00
Adolfo Reyna
3a08cb5119 improve touch with pooling 2026-01-29 14:16:19 -05:00
Adolfo Reyna
d19a2ca639 touch with abtraction working, SD is not working 2026-01-28 23:23:49 -05:00
Adolfo Reyna
adfbef7228 abstracting display, touch and sd 2026-01-28 20:12:41 -05:00
Adolfo Reyna
57426c6e7d touch & sd working 2026-01-28 17:22:15 -05:00