diff options
Diffstat (limited to 'assets')
-rw-r--r-- | assets/opensb/scripts/opensb/assets/postload.lua | 22 | ||||
-rw-r--r-- | assets/opensb/scripts/opensb/player/commands.lua | 11 | ||||
-rw-r--r-- | assets/opensb/scripts/opensb/player/copy_paste.lua | 18 |
3 files changed, 47 insertions, 4 deletions
diff --git a/assets/opensb/scripts/opensb/assets/postload.lua b/assets/opensb/scripts/opensb/assets/postload.lua index 256e199..0110bc1 100644 --- a/assets/opensb/scripts/opensb/assets/postload.lua +++ b/assets/opensb/scripts/opensb/assets/postload.lua @@ -29,4 +29,24 @@ end assets.patch( "/interface/windowconfig/songbook.config", "/interface/windowconfig/songbook_search_patch.lua" -)
\ No newline at end of file +) + + +-- Relocate songs to the /songs/ folder + +local songs = assets.byExtension("abc") +local count = 0 + +for i = 1, #songs do + local song = songs[i] + if song:sub(1, 7) ~= "/songs/" then + local data = assets.bytes(song) + assets.erase(song) + assets.add("/songs" .. song, data) + count = count + 1 + end +end + +if count > 0 then + sb.logInfo("Moved %s misplaced songs to /songs/", count) +end
\ No newline at end of file diff --git a/assets/opensb/scripts/opensb/player/commands.lua b/assets/opensb/scripts/opensb/player/commands.lua index 9696e0d..2d83106 100644 --- a/assets/opensb/scripts/opensb/player/commands.lua +++ b/assets/opensb/scripts/opensb/player/commands.lua @@ -36,4 +36,15 @@ register("run", function(src) end end) +register("headrotation", function(arg) + local key = "disableHeadRotation" + if status.statusProperty(key) == true then + status.setStatusProperty(key, nil) + return "Head rotation is now enabled for this character" + else + status.setStatusProperty(key, true) + return "Head rotation is now disabled for this character" + end +end) + module.register = register
\ No newline at end of file diff --git a/assets/opensb/scripts/opensb/player/copy_paste.lua b/assets/opensb/scripts/opensb/player/copy_paste.lua index 2a15af4..f301427 100644 --- a/assets/opensb/scripts/opensb/player/copy_paste.lua +++ b/assets/opensb/scripts/opensb/player/copy_paste.lua @@ -24,13 +24,18 @@ local function copyItem() local item = player.swapSlotItem() or player.primaryHandItem() or player.altHandItem() if not item then return end - clipboard.setText(sb.printJson(item, 2)) - local message = string.format("Copied ^cyan;%s^reset; to clipboard", getItemName(item)) + local message = "^#f00;Failed to write to clipboard^reset;" + if clipboard.setText(sb.printJson(item, 2)) then + message = string.format("Copied ^cyan;%s^reset; to clipboard", getItemName(item)) + end interface.queueMessage(message, 4, 0.5) end local function pasteItem() - if player.swapSlotItem() then return end + if not clipboard.available() then + return interface.queueMessage("^#f00;Clipboard unavailable^reset;", 4, 0.5) + end + local swap = player.swapSlotItem() local data = getClipboardText() if not data then return end @@ -38,6 +43,13 @@ local function pasteItem() if not success then popupError("Error parsing clipboard item", result) else + if swap then + if swap.name == result.name and sb.jsonEqual(swap.parameters, result.parameters) then + result.count = (tonumber(result.count) or 1) + (tonumber(swap.count) or 1) + else + return interface.queueMessage("^#f00;Cursor is occupied^reset;", 4, 0.5) + end + end local success, err = pcall(player.setSwapSlotItem, result) if not success then popupError("Error loading clipboard item", err) else |