Plugins: Animator Studio as a mod, on clip editing, docked screens and the cursor

- reskate.animation: play's at and paused, seek, pause and time; info, sample, joints, trim, edit (keys baked onto a clip) and save; clips named "data:<path>" from the plugin's data folder, "clip:<n>" and "edit:<name>".
- reskate.ui.screen's dock and width: a panel down one side, the game showing beside it.
- reskate.input.cursor: the mouse over the game while the plugin's screen is open.
- contrib/plugins/animator-studio: the Animator Studio of PR 297 (22sh, Fourth Studio, Norms) as a plugin: record a trick, key joints on a timeline, save it, and the trick plays it in game.
This commit is contained in:
AyeZeeBB committed 2026-10-20 16:43:46 -05:00
1 parent b12b904c65
commit 5f65bcf690
16 files changed
+1216 -28

No files matched your search

@@ -69,6 +69,7 @@ std::string own_mode(lua_State* L, int index) {
if (id.empty() || id.find('/') != std::string::npos) luaL_argerror(L, index, "a mode id of 1 to 32 characters, without /");
return id;
}
} // namespace
// A path in the plugin's data folder: relative, inside it, and no name Windows keeps for a device.
std::string data_path(lua_State* L, int index, bool folder) {
if (folder && lua_isnoneornil(L, index)) return {};
@@ -88,6 +89,7 @@ std::string data_path(lua_State* L, int index, bool folder) {
}
return path;
}
namespace {
} // namespace
struct KitApi {