Super Mario World Recomp v0.12.0 - opt-in Lua playground
Optional Lua playground
This release adds opt-in Lua scripting over a localhost TCP server and a bundled 100-fireballs-per-second example. Hold A or S on the default keyboard layout (SNES Y/X) to produce the stream; release to stop firing. Movement and jumping still work.
Normal play is unchanged until you explicitly enable the server and load a script. The framework build option defaults OFF; these Windows/Linux packages include support, activated only by SNESRECOMP_LUA_PORT.
The lua/ folder contains 100_fireballs.lua, the Python TCP client, SMW helpers, instructions, and Lua's MIT license. On Linux, first launch copies writable examples beside the AppImage and preserves existing scripts.
Try it
On Windows, start the extracted game from PowerShell:
$env:SNESRECOMP_LUA_PORT = '4380'
Start-Process -FilePath .\SuperMarioWorldSNESRecomp.exeAfter starting the game through the launcher, use Python 3:
python lua/lua_tcp.py load lua/100_fireballs.luaFull Windows/Linux instructions: lua/README.md. TCP reset disables the script. To return to ordinary play, close the game and launch without SNESRECOMP_LUA_PORT.
Integration and validation
- SMW is pinned to snesrecomp
266804e860560ff7084ed74258d803204b7d7bd0, merged in framework PR #71. Game integration: SMW PR #14. - Framework CI passed on Windows, Linux and macOS, including Lua build opt-out and real TCP tests.
- Full gameplay tests passed from the extracted Windows ZIP and Linux AppImage: entity spawning/hits, exactly 100 projectiles in 60 frames, hold/release, standalone example, and reset.
- Packaged launchers were visually checked. Windows also passed with the 16:9 mod enabled. AppImage state relocation and preservation of user Lua/config edits passed. Both binaries ran with Lua inactive.
Scope
The experimental stream uses a separate 256-projectile pool with native SMW movement/collisions. Extra shots use the native 256-pixel camera bounds and draw above the finished frame; SNES foreground priority/windows/color math are not reproduced for them. Lua and extra projectile state are not included in savestates. Stock USA single-player only; Lua is not enabled for co-op.
Supply your own Super Mario World (USA) ROM; no ROM is included. Linux users should mark the AppImage executable with chmod +x.