// ==UserScript==
// @name scratch extesion: misc by rssaromeo
// @version 2
// @description none
// @run-at document-start
// @author rssaromeo
// @tag lib
// @license GPLv3
// @match *://*/*
// @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAABhQTFRFAAAA7e3th4V6h4V+h4eFh4eH////7e3sbLmULQAAAAh0Uk5TAP/////////VylQyAAABsUlEQVR4nI2VS07FMAxFYwkJiVGzBFgJgy67A3ZkFoBU4r/dJoUOnvrq03tTx7Gh+QWb357f8dTvessX3oD0ftGAeTwIA8QAPt7bz1cxgRR/+ZQ/imAC2MDiRogJuMCeV3C4BJhAvO8aLAEqUONKoAIksLfLdagEzAWUQAamAmIyJASYCLCEAHMHkcABLBxMApYODqwc1APWDiIB5kDbEVVCm4cF4P32IuHqQfI4QZagBYkpPnBaBAE7C+D4cWCsfht6RwIo7ZsB5NUdGA7yyABRImB4/Bvg2jCAv6YA9nV+ngrgeewtAeJ63AEJTIFOmeyarpELbAWg9FF6JOPGXQD0Lem6MQngZLNwZyFZSQFshV034gp4LhnAFoAkagrkTPaolj+A3h4B+doKyCoVkAQYEBWVgVRbCqRz4wkwhwb15N2A8wbkmjEgHb0K8Mmqh7cAcnifAe0P4VEA7Q9FIgPWgp4A73LTFuJdbtGExMGAO6F91Hv1zUQ7sXf7K2G9POZFNfFpkCZO1oiBk2dWEBzXfdepZ2Nzt/BibqbLMuqjuc/jAby+5XgUXkz/rJH2/BcDpA4mLRW1igAAAABJRU5ErkJggg==
// @grant none
// @namespace https://greasyfork.org/users/1184528
// ==/UserScript==
;(async () => {
await loadlib("libloader").waitforlib("scratchextesnsionmanager")
const {
newext,
newmenu,
newblock,
bt,
inp,
gettarget,
totype,
scratch_math,
projectid,
canvas,
scratchvar,
scratchlist,
} = loadlib("scratchextesnsionmanager")
var vm
loadlib("libloader")
.waitforlib("scratch")
.then(() => (vm = loadlib("scratch").vm))
newext(
"misc",
"rssaromeo",
class {
setturbomode({ on }) {
on = totype(on, "bool")
vm.emit("TURBO_MODE_" + (on ? "ON" : "OFF"))
}
cursor({ a }) {
a = totype(a, "string")
canvas().style.cursor = a
}
setfullscreen({ on }) {
on = totype(on, "bool")
if (on) canvas().requestFullscreen()
else document.exitFullscreen()
}
getfullscreen() {
return !!document.fullscreenElement
}
},
[
newblock(bt.cmd, "setturbomode", "set turbomode [on]", [
newmenu("setturbomode", {
items: ["true", "false"],
defaultValue: "true",
}),
]),
newblock(bt.cmd, "cursor", "set the cursor image to [a]", [
newmenu("cursor", {
items: ["none", "default"],
defaultValue: "default",
}),
]),
newblock(bt.cmd, "setfullscreen", "set fullscreen to [on]", [
newmenu("setfullscreen", {
items: ["true", "false"],
defaultValue: "true",
}),
]),
newblock(bt.bool, "getfullscreen", "fullscreen"),
],
undefined,
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAABhQTFRFAAAA7e3th4V6h4V+h4eFh4eH////7e3sbLmULQAAAAh0Uk5TAP/////////VylQyAAABsUlEQVR4nI2VS07FMAxFYwkJiVGzBFgJgy67A3ZkFoBU4r/dJoUOnvrq03tTx7Gh+QWb357f8dTvessX3oD0ftGAeTwIA8QAPt7bz1cxgRR/+ZQ/imAC2MDiRogJuMCeV3C4BJhAvO8aLAEqUONKoAIksLfLdagEzAWUQAamAmIyJASYCLCEAHMHkcABLBxMApYODqwc1APWDiIB5kDbEVVCm4cF4P32IuHqQfI4QZagBYkpPnBaBAE7C+D4cWCsfht6RwIo7ZsB5NUdGA7yyABRImB4/Bvg2jCAv6YA9nV+ngrgeewtAeJ63AEJTIFOmeyarpELbAWg9FF6JOPGXQD0Lem6MQngZLNwZyFZSQFshV034gp4LhnAFoAkagrkTPaolj+A3h4B+doKyCoVkAQYEBWVgVRbCqRz4wkwhwb15N2A8wbkmjEgHb0K8Mmqh7cAcnifAe0P4VEA7Q9FIgPWgp4A73LTFuJdbtGExMGAO6F91Hv1zUQ7sXf7K2G9POZFNfFpkCZO1oiBk2dWEBzXfdepZ2Nzt/BibqbLMuqjuc/jAby+5XgUXkz/rJH2/BcDpA4mLRW1igAAAABJRU5ErkJggg=="
)
})()