feat(LuaGame): Lua interpreter game engine with audio, 17 FPS, 4.5x ball speed
- Embed Lua 5.4.7 source to avoid missing symbols (clearerr, clock, getenv, etc) - Provide local stubs for missing libc and avoid unexported LVGL cache APIs - Fix float handling in sys.* bindings (checknumber vs checkinteger) - Move Lua init and game loop to dedicated 16K FreeRTOS task to avoid GUI 4K stack overflow - Implement sys API: clear, print (8x8 bitmap font direct FB), rect, circle, line, touch, sfx, tone - Audio via SfxEngine (SfxId mapping, playNote for tone) - Ball speed 2 -> 4.5, FPS counter (~17 FPS after direct FB text optimization) - Supports loading from /sdcard/lua/breakout.lua and embedded fallback - Verified symbols: 0 missing, builds esp32s3, installs on 192.168.68.107
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
|
||||
if (DEFINED ENV{TACTILITY_SDK_PATH})
|
||||
set(TACTILITY_SDK_PATH $ENV{TACTILITY_SDK_PATH})
|
||||
else()
|
||||
set(TACTILITY_SDK_PATH "../../release/TactilitySDK")
|
||||
message(WARNING "⚠️ TACTILITY_SDK_PATH environment variable is not set, defaulting to ${TACTILITY_SDK_PATH}")
|
||||
endif()
|
||||
|
||||
include("${TACTILITY_SDK_PATH}/TactilitySDK.cmake")
|
||||
set(EXTRA_COMPONENT_DIRS ${TACTILITY_SDK_PATH})
|
||||
|
||||
project(LuaGame)
|
||||
tactility_project(LuaGame)
|
||||
Reference in New Issue
Block a user