Releases: Fla-man-Max/LuaSlice
Releases · Fla-man-Max/LuaSlice
Release list
V0.0.4
[0.0.4] - 2026-06-27
Added
- Added
configureLuaPauseMenu({...})so Lua can edit built-in pause items, hide items, add custom entries, and change item positions. - Added
setLuaPauseMenuItem(matchOrId, label, position, target, hidden)for simple base/custom pause menu edits. - Added pause menu targets for
resume,restartSong,changeDifficulty,practiceMode,exitToMenu,options,callback, and custom.hx/.hxcstate classes. - Added pause-opened Options support so Lua can hide the Options
EXITitem and control where exiting Options goes. - Added a configurable Lua pause menu shortcut example.
- Added
initLuaShader(name)for loading a shader by name. - Added
setShaderOnSprite(sprite, tag)for simple sprite shader assignment. - Added
getLuaSave(key, fallback)andsetLuaSave(key, value)for persistent Lua data. - Added Freeplay, Story Menu, and Results Lua hooks.
- Added
-DFEATURE_LOGGERfor cleaner live Lua script/error/variable logging during dev builds. - Added
-DNO_LUAas a simple way to build LuaSlice without Lua support. - Added
setLuaPauseOptions(howExit)so pause-opened Options return behavior is set through a clear API instead of item config fields. - Added pause item config so targets like Options can have pause-only behavior without changing the normal menus.
- Added timestamped build logs under
BuildLogs/<target>/so new logs do not overwrite older ones. - Added one naming pattern for build logs:
BuildLogs/<target>/log-<target>build-YYYY-MM-DD-HH-MM-SS[-label].txt. - Added a Save Data Options page for clearing all data, song data, options, or controls separately.
- Added an Android Unlimited FPS option for displays that report support above 60 Hz.
Changed
- Updated the main menu version text to
V-slice: v0.8.5 | LuaSlice: v0.0.4. - Reworked Lua shader helpers so simple scripts can use
initLuaShader,makeLuaShader,setLuaShader, orsetShaderOnSprite. - Reworked Lua error popups so useful suggestions show in the popup, not only in the report file.
- Made the Lua API default for normal native builds, so
lime build windowsandlime test windowsinclude it without extra defines. - Changed
-DFEATURE_LOGGERbuilds to output underexport/logger. - Updated the pause menu example so custom item ids can target actions like
practiceMode,restartSong, oroptions. - Updated the example Modifiers options page with health drain and watermark controls.
- Replaced the old pause add/hide example with a config-based
.luagexample. - Reworked pause menu config so scripts can define it once and LuaSlice applies it whenever the pause menu opens.
- Added an isolated
.luapause shortcut example beside the.luagcopy so global hook conflicts cannot hide the Options entry. - Added the missing example script folders to
mod-example. - Added simple menu and shader example scripts to
mod-example. - Updated the health drain example so it stops draining while the player is singing.
- Updated example scripts to use the simpler pause/menu/shader helper functions.
- Replaced the old Options-only pause example with a target-based pause menu example.
- Organized engine changelogs into
changelogs/. - Organized build logs into
BuildLogs/<target>/. - Organized extra/source packaging files into
other/. - Organized icon and art files under
art/andart/icons/. - Organized setup docs under
docs/setup/. - Kept the example mod package at
example_mods/mod-example.zipand removed the old RAR package. - Restored Android as a playtest target after fixing the startup and orientation problems.
- Made the Android forced-landscape patch run from the project postbuild step, so it survives clean Android exports.
Fixed
- Fixed returning from Main Menu targets resetting selection back to Story Mode.
- Changed Android package/save branding from Funkin defaults to LuaSlice branding, using Fla-man-OFFICIAL for save path and LuaSlice for company/app metadata.
- Fixed Lua table conversion so reading mixed/sparse tables does not corrupt Lua iteration or drop numeric entries.
- Fixed Lua-created objects not being destroyed outside PlayState during reload/cleanup.
- Fixed F5 hot reload being able to run twice in the same frame.
- Fixed duplicate Lua main menu items leaving old sprites behind.
- Fixed Lua option pages being able to collide with built-in Options pages.
- Fixed Lua shader camera filters stacking when reapplied.
- Fixed Lua note payload fields turning null values into the string "null".
- Hardened Lua number argument reads so non-number values fall back safely.
- Fixed Lua pause menu config positions so very low values clamp to the top and very high values clamp to the bottom.
- Cleaned up PlayState Lua folder reload rules so F5 keeps
scripts/lua,scripts/luag, menu, and options behavior consistent. - Fixed pause menu config only working during the pause hook instead of from normal script setup.
- Hardened the pause shortcut example so it reapplies config from
onCreate,onReload, andonPauseMenuCreate. - Fixed pause-opened Options leaving keyboard input disabled, which broke retry and back controls after returning or dying.
- Updated Lua error-window suggestions for v0.0.3-v0.0.4 APIs, including pause menu, options, menus, shaders, reload, and event APIs.
- Fixed Lua error suggestions being hidden from the popup even when the report had one.
- Fixed missing direct API bindings for the simple shader helper names.
- Improved Lua error popups so FPS/memory warnings only show for hooks that can spam errors, while reports still use
Nonewhen no useful suggestion exists. - Moved Android build/runtime logs into
BuildLogs/androidand kept the clean log split into# Infoand# Error/s. - Updated project paths for organized
other,changelogs, andart/iconsfolders. - Fixed hold-cover cleanup/reuse so recycled sustain notes do not keep stale cover links or crash when a cover ends without a valid hold note.
- Fixed pause-opened Options hiding
EXITleaking into normal Main Menu Options. - Removed noisy per-frame perf spam from the Lua logger.
- Simplified the pause Options example so it only adds the Lua Options shortcut instead of replacing the whole pause menu.
- Updated the pause Options example to configure the pause-opened Options screen directly with
hideExitandhowExit. - Verified the Windows Lua-enabled build still compiles after the latest fixes.
- Verified the Windows build after removing the Android export folders.
- Fixed Android startup crashes caused by early mobile rendering and asset loading paths.
- Fixed Android main menu rendering so late or missing menu graphics do not crash the app.
- Fixed Android Freeplay backcard loading so missing bitmap data does not kill the state.
- Fixed Android packaging so the APK uses fixed landscape orientation.
- Verified the Android APK installs, opens, plays music, and reaches the main menu in landscape.
- Fixed Android/emulator menu input being blocked when an external input device is detected.
- Hardened Android song audio loading so failed instrumental or vocal loads log cleanly instead of breaking PlayState.
- Fixed Stage Editor
.fnfszip loading for asset names with dots in the filename. - Fixed Stage Editor animated object exports saving stale animation data after replacing or failing to add an animation.
- Fixed Stage Editor animated object JSON ordering so saved animations follow the real animation list.
- Fixed Stage Editor animation editing so graphic/frame/animation changes mark the stage as unsaved.
- Hardened Stage Editor object loading against missing animation fields, missing bitmap entries, and null offsets.
- Fixed the Android x86_64 Lime/SDL Java mismatch that caused an immediate startup crash in the emulator.
- Reduced Android-only menu and Freeplay rendering costs without changing desktop visuals.
- Fixed Android Unlimited FPS freezing the app by replacing the invalid zero-rate path with a safe high software ceiling.
- Removed the unintended built-in Options entry from the pause menu; Lua scripts can still add one when requested.
- Made the pause Options example opt-in so installing
mod-exampledoes not change the pause menu by default. - Fixed Android Open Data Folder to open LuaSlice's external data directory through the system file picker.
- Updated Android Unlimited FPS detection to check all refresh rates supported by the display and hide the option on 60 Hz-only devices.
- Hardened Stage Editor stage and animated-object loading against missing props, scroll values, and animation arrays.
- Verified the Android title screen, main menu, Options, Freeplay, gameplay, and improved FPS in the emulator.
- Verified the Windows Stage Editor build after the latest fixes.
- Verified final Android and Windows builds with Save Data Options, refresh-rate detection, ZIP-only examples, and the Open Data Folder fix.
- Fixed Clear Songs Data leaving Story Mode level and Tutorial scores behind while only clearing Freeplay scores.
- Fixed Main Menu input remaining active during item transitions, which allowed another item to be selected before the first transition finished.
- Fixed Android launcher icons so builds use
art/icons/builds/android/IconAndroid.pnginstead of expecting a missing adaptive-icon resource pack.