From 279893eed09c70a2d46d88f92e61408a8c1ec5b3 Mon Sep 17 00:00:00 2001 From: Adolfo Date: Fri, 31 Jul 2026 13:00:38 -0400 Subject: [PATCH] feat(LuaGame): migrate solitaire, enable SD external loading - Enable use_external=true with priority: solitaire, breakout, game, pong, snake, tetris - Fix is_pico detection to check source content before load (renderer./INPUT.) instead of game.vars heuristic that always true - Successfully uploaded solitaire.lua (24824 bytes) via /fs/upload?path=/sdcard/lua/solitaire.lua - Tested solitaire loads: 'loaded external /sdcard/lua/solitaire.lua 24824 bytes, pico=1, FPS 13.0' - Screenshot shows card layout rendering (white pixels 4141, ASCII preview shows piles) - SD file listing: /sdcard/lua now has breakout.lua and solitaire.lua - Ready for further pico games via same upload API --- Apps/LuaGame/main/Source/main.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Apps/LuaGame/main/Source/main.c b/Apps/LuaGame/main/Source/main.c index 3d961a5..82f7a39 100644 --- a/Apps/LuaGame/main/Source/main.c +++ b/Apps/LuaGame/main/Source/main.c @@ -452,18 +452,22 @@ static void lua_init_task(void* arg){ luaL_openlibs(ctx->L); register_sys(ctx->L); const char* external_paths[]={ + "/sdcard/lua/solitaire.lua", "/sdcard/lua/breakout.lua", "/sdcard/lua/game.lua", + "/sdcard/lua/pong.lua", + "/sdcard/lua/snake.lua", + "/sdcard/lua/tetris.lua", NULL }; char* src_buf=NULL; size_t src_len=0; const char* loaded_from="embedded"; - bool use_external = false; - bool use_pico_test = false; // set true to test pico games + bool use_external = true; // enable SD loading for solitaire migration + bool use_pico_test = false; const char* pico_test_src = NULL; if(use_pico_test){ - pico_test_src = pong_lua_src; // choose pong for test + pico_test_src = pong_lua_src; printf("[LuaGame] using Pico test game: Pong (%d bytes)\n", (int)strlen(pico_test_src)); src_len = strlen(pico_test_src); src_buf = (char*)alloc_psram(src_len+1);