pxt-arcade/pxtarget.json

757 строки
26 KiB
JSON

{
"id": "arcade",
"name": "arcade",
"nickname": "arcade",
"thumbnailName": "MakeCode Arcade",
"title": "Microsoft MakeCode Arcade",
"description": "Develop your programming skills by quickly creating and modding retro arcade games with Blocks and JavaScript in the MakeCode editor",
"corepkg": "device",
"cloud": {
"workspace": false,
"sharing": true,
"thumbnails": true,
"importing": true,
"packages": true,
"publishing": true,
"githubPackages": true,
"showBadges": true,
"cloudProviders": {
"github": {
"id": "github",
"name": "GitHub",
"icon": "/static/providers/github-mark.png",
"identity": false,
"order": 4
},
"microsoft": {
"id": "microsoft",
"name": "Microsoft",
"icon": "/static/providers/microsoft-logo.svg",
"identity": true,
"redirect": true,
"order": 1
},
"google": {
"id": "google",
"name": "Google",
"icon": "/static/providers/google-logo.svg",
"identity": true,
"redirect": true,
"order": 2
},
"clever": {
"id": "clever",
"name": "Clever",
"icon": "/static/providers/clever-logo.png",
"identity": true,
"redirect": true,
"order": 3
}
}
},
"bundleddirs": [
"libs/animation",
"libs/accelerometer",
"libs/azureiot",
"libs/base",
"libs/buttons",
"libs/color",
"libs/color-coded-tilemap",
"libs/controller",
"libs/controller---none",
"libs/core",
"libs/core---linux",
"libs/core---nrf52",
"libs/core---samd",
"libs/core---stm32",
"libs/core---rp2040",
"libs/core---vm",
"libs/corgio",
"libs/d5prj",
"libs/darts",
"libs/device",
"libs/edge-connector",
"libs/esp32",
"libs/f4prj",
"libs/feather",
"libs/game",
"libs/game---light",
"libs/hw",
"libs/hw---n3",
"libs/hw---n4",
"libs/hw---rpi",
"libs/hw---samd51",
"libs/hw---stm32f401",
"libs/hw---rp2040",
"libs/hw---vm",
"libs/keyboard",
"libs/light",
"libs/lightsensor",
"libs/microphone",
"libs/mixer",
"libs/mixer---ext",
"libs/mixer---linux",
"libs/mixer---none",
"libs/mixer---nrf52",
"libs/mixer---samd",
"libs/mixer---stm32",
"libs/mixer---rp2040",
"libs/mouse",
"libs/mqtt",
"libs/multiplayer",
"libs/net",
"libs/net-game",
"libs/palette",
"libs/power",
"libs/radio",
"libs/radio-broadcast",
"libs/rotary-encoder",
"libs/rpiprj",
"libs/screen",
"libs/screen---ext",
"libs/screen---linux",
"libs/screen---st7735",
"libs/serial",
"libs/serial---linux",
"libs/servo",
"libs/settings",
"libs/settings---files",
"libs/sevenseg",
"libs/shader",
"libs/sprite-scaling",
"libs/storyboard",
"libs/template",
"libs/thermometer",
"libs/browser-events"
],
"staticpkgdirs": {
"base": [
"libs/hw",
"libs/hw---n3",
"libs/hw---n4",
"libs/hw---samd51",
"libs/hw---stm32f401",
"libs/hw---rp2040"
],
"extensions": [
"libs/accelerometer",
"libs/color",
"libs/edge-connector",
"libs/esp32",
"libs/feather",
"libs/light",
"libs/lightsensor",
"libs/mqtt",
"libs/net",
"libs/net-game",
"libs/palette",
"libs/radio",
"libs/radio-broadcast",
"libs/serial",
"libs/servo",
"libs/settings",
"libs/sevenseg",
"libs/shader",
"libs/thermometer"
]
},
"cacheusedblocksdirs": [
"skillmap/space",
"skillmap/platformer"
],
"compile": {
"useUF2": true,
"deployDrives": "(ARCADE|PY|FTHR840BOOT|ARCD|RPI-RP2)",
"deployFileMarker": "INFO_UF2.TXT",
"driveName": "ARCADE",
"floatingPoint": true,
"taggedInts": true,
"nativeType": "thumb",
"gc": true,
"upgrades": [],
"webUSB": true,
"saveAsPNG": true,
"patches": {
"0.0.0 - *": [
{
"type": "missingPackage",
"map": {
"(DigitalPin|AnalogPin|pins)\\.P\\d\\d?": "edge-connector",
"serial\\.": "serial"
}
}
],
"0.0.0 - 0.1.1": [
{
"type": "api",
"map": {
"controller\\.controlSprite": "controller.moveSprite",
"controller\\.controlPlayer": "controller.movePlayer"
}
}
],
"0.0.0 - 0.3.23": [
{
"type": "package",
"map": {
"local-multiplayer": ""
}
}
],
"0.0.0 - 0.3.24": [
{
"type": "api",
"map": {
"sprites\\.createEmptySprite\\(([^)]+)\\)": "sprites.create(img`.`, $1)"
}
},
{
"type": "blockId",
"map": {
"keysdx": "keydx",
"keysdy": "keydy"
}
}
],
"0.0.0 - 0.11.20": [
{
"type": "api",
"map": {
"SpriteKind": "SpriteKindLegacy"
}
}
],
"0.0.0 - 0.14.57": [
{
"type": "missingPackage",
"map": {
"scene\\.setTileMap": "color-coded-tilemap",
"scene\\.setTile": "color-coded-tilemap",
"scene\\.getTile": "color-coded-tilemap",
"scene\\.getTilesByType": "color-coded-tilemap",
"scene\\.placeOnRandomTile": "color-coded-tilemap",
"scene\\.setTileAt": "color-coded-tilemap",
"scene\\.onHitTile": "color-coded-tilemap",
"\\.tileHitFrom": "color-coded-tilemap"
}
}
],
"0.0.0 - 0.18.9": [
{
"type": "api",
"map": {
"tilemap\\s*\\.\\s*createTileSprite": "tiles.createTileSprite",
"tilemap\\s*\\.\\s*coverAllTiles": "tiles.coverAllTiles",
"tilemap\\s*\\.\\s*createSpritesOnTiles": "tiles.createSpritesOnTiles",
"tilemap\\s*\\.\\s*destorySpritesOfKind": "tiles.destroySpritesOfKind",
"tilemap\\s*\\.\\s*tileIs": "tiles.tileIs",
"tilemap\\s*\\.\\s*tileIsWall": "tiles.tileIsWall",
"tilemap\\s*\\.\\s*forEachTileOfKind": "tiles.forEachTileOfKind",
"tilemap\\s*\\.\\s*forEachTileOfMap": "tiles.forEachTileOfMap",
"tilemap\\s*\\.\\s*replaceAllTiles": "tiles.replaceAllTiles",
"tilemap\\s*\\.\\s*columnInDirection": "tiles.columnInDirection",
"tilemap\\s*\\.\\s*rowInDirection": "tiles.rowInDirection",
"tilemap\\s*\\.\\s*forEachDirection": "tiles.forEachDirection",
"tilemap\\s*\\.\\s*centerCameraOnTile": "tiles.centerCameraOnTile",
"tilemap\\s*\\.\\s*locationOfSprite": "tiles.locationOfSprite",
"tilemap\\s*\\.\\s*RowCol": "tiles.RowCol",
"tilemap\\s*\\.\\s*spriteRowCol": "tiles.spriteRowCol",
"tilemap\\s*\\.\\s*locationColumn": "tiles.locationColumn",
"tilemap\\s*\\.\\s*locationRow": "tiles.locationRow",
"tilemap\\s*\\.\\s*XY": "tiles.XY",
"tilemap\\s*\\.\\s*locationXY": "tiles.locationXY",
"tilemap\\s*\\.\\s*locationInDirection": "tiles.locationInDirection",
"tilemap\\s*\\.\\s*_directionEditor": "tiles._directionEditor",
"tilemap\\s*\\.\\s*tileWidth": "tiles.tileWidth",
"tilemap\\s*\\.\\s*tilemapColumns": "tiles.tilemapColumns",
"tilemap\\s*\\.\\s*tilemapRows": "tiles.tilemapRows",
"tilemap\\s*\\.\\s*screenCoordinateToTile": "tiles.screenCoordinateToTile",
"tilemap\\s*\\.\\s*tileCoordinateToScreen": "tiles.tileCoordinateToScreen",
"tilemap\\s*\\.\\s*centeredTileCoordinateToScreen": "tiles.centeredTileCoordinateToScreen",
"tilemap\\s*\\.\\s*OVERWORLD_MAP_ID": "tiles.OVERWORLD_MAP_ID",
"tilemap\\s*\\.\\s*MAP_LOADED_EVENT": "tiles.MAP_LOADED_EVENT",
"tilemap\\s*\\.\\s*WorldMap": "tiles.WorldMap",
"tilemap\\s*\\.\\s*WorldMapConnection": "tiles.WorldMapConnection",
"tilemap\\s*\\.\\s*createMap": "tiles.createMap",
"tilemap\\s*\\.\\s*copyMap": "tiles.copyMap",
"tilemap\\s*\\.\\s*loadMap": "tiles.loadMap",
"tilemap\\s*\\.\\s*getLoadedMap": "tiles.getLoadedMap",
"tilemap\\s*\\.\\s*onMapLoaded": "tiles.onMapLoaded",
"tilemap\\s*\\.\\s*onMapUnloaded": "tiles.onMapUnloaded",
"tilemap\\s*\\.\\s*connectMapById": "tiles.connectMapById",
"tilemap\\s*\\.\\s*loadConnectedMap": "tiles.loadConnectedMap",
"tilemap\\s*\\.\\s*getConnectedMap": "tiles.getConnectedMap",
"tilemap\\s*\\.\\s*setWorldLocationToMap": "tiles.setWorldLocationToMap",
"tilemap\\s*\\.\\s*loadMapAt": "tiles.loadMapAt",
"tilemap\\s*\\.\\s*getMapAtWorldLocation": "tiles.getMapAtWorldLocation",
"tilemap\\s*\\.\\s*loadMapInDirection": "tiles.loadMapInDirection",
"tilemap\\s*\\.\\s*loadedWorldColumn": "tiles.loadedWorldColumn",
"tilemap\\s*\\.\\s*loadedWorldRow": "tiles.loadedWorldRow"
}
}
],
"0.0.0 - 1.9.0": [
{
"type": "api",
"map": {
"myCorg\\s*\\.\\s*follow": "myCorg.cameraFollow"
}
}
]
}
},
"compileService": {
"buildEngine": "codal",
"githubCorePackage": "lancaster-university/codal",
"gittag": "v0.8.0",
"dockerImage": "pext/yotta:latest",
"codalTarget": {
"branches": {}
}
},
"variants": {
"stm32f401": {
"compile": {
"hasHex": true,
"openocdScript": "source [find interface/stlink-v2.cfg]; source [find target/stm32f4x.cfg]",
"flashEnd": 524288,
"uf2Family": "0x57755a57"
},
"compileService": {
"codalTarget": {
"name": "codal-big-brainpad",
"url": "https://github.com/lancaster-university/codal-big-brainpad",
"branch": "v1.3.1",
"type": "git"
},
"codalBinary": "STM32",
"serviceId": "codal2stm32",
"dockerImage": "pext/yotta:latest"
}
},
"samd51": {
"compile": {
"hasHex": true,
"openocdScript": "source [find interface/cmsis-dap.cfg]; set CHIPNAME at91samd51g19; source [find target/atsame5x.cfg]",
"openocdScriptAlt": "source [find interface/stlink-v2.cfg]; set CPUTAPID 0x2ba01477; set CHIPNAME at91samd51g19; source [find target/at91samdXX.cfg]",
"ramSize": 196608,
"flashEnd": 524288,
"uf2Family": "0x55114460"
},
"compileService": {
"codalTarget": {
"name": "codal-itsybitsy-m4",
"url": "https://github.com/lancaster-university/codal-itsybitsy-m4",
"branch": "v0.2.7",
"type": "git"
},
"codalBinary": "ITSYBITSY_M4",
"serviceId": "codal2samd51",
"dockerImage": "pext/yotta:latest"
}
},
"nrf52840": {
"compile": {
"hasHex": true,
"openocdScript": "source [find interface/cmsis-dap.cfg]; source [find target/nrf52.cfg]",
"webUSB": false,
"flashEnd": 1007616,
"uf2Family": "0xada52840"
},
"compileService": {
"codalTarget": {
"name": "codal-nrf52840-dk",
"url": "https://github.com/mmoskal/codal-nrf52840-dk",
"branch": "v1.1.7",
"type": "git"
},
"codalBinary": "NRF52840_DK",
"serviceId": "codal2nrf52840",
"dockerImage": "pext/yotta:latest",
"yottaConfig": {
"pxt": {
"board": {
"id": "BOARD_ID_NRF52840"
}
}
}
}
},
"nrf52833": {
"compile": {
"hasHex": true,
"openocdScript": "source [find interface/cmsis-dap.cfg]; source [find target/nrf52.cfg]",
"webUSB": false,
"useUF2": false,
"flashEnd": 524288,
"deployDrives": ".*",
"deployFileMarker": "DETAILS.TXT"
},
"compileService": {
"codalTarget": {
"name": "codal-nrf52833-dk",
"url": "https://github.com/mmoskal/codal-nrf52833-dk",
"branch": "v2.0.2",
"type": "git"
},
"codalBinary": "NRF52840_DK",
"serviceId": "codal2nrf52840",
"dockerImage": "pext/yotta:latest",
"yottaConfig": {
"pxt": {
"board": {
"id": "BOARD_ID_NRF52833"
}
}
}
}
},
"rp2040": {
"compile": {
"hasHex": true,
"openocdScript": "???",
"flashChecksumAddr": 0,
"flashEnd": 2097152,
"uf2Family": "0xe48bff56"
},
"compileService": {
"codalTarget": {
"name": "codal-pi-pico",
"url": "https://github.com/lancaster-university/codal-pi-pico",
"branch": "v0.0.13",
"type": "git"
},
"gittag": "v0.9.0",
"codalBinary": "PI-PICO",
"serviceId": "codal2pico",
"dockerImage": "pext/arm:gcc9"
}
},
"rpi": {
"compile": {
"hasHex": true,
"useELF": true,
"runtimeIsARM": true,
"flashCodeAlign": 256,
"webUSB": false,
"stackAlign": 2
},
"compileService": {
"buildEngine": "dockermake",
"dockerImage": "pext/rpi:alsa",
"serviceId": "rpi"
}
},
"vm": {
"compile": {
"hasHex": true,
"useELF": true,
"flashCodeAlign": 256,
"webUSB": false,
"nativeType": "vm",
"stackAlign": 2
},
"compileService": {
"buildEngine": "dockercross",
"dockerImage": "pext/crossbuild",
"serviceId": "crossbuild",
"skipCloudBuild": true
}
}
},
"serial": {
"useEditor": true,
"log": true,
"editorTheme": {
"graphBackground": "#d9d9d9",
"lineColors": [
"#009DDC",
"#FB48C7",
"#40bf4a",
"#8073E5",
"#d25b33"
]
}
},
"runtime": {
"mathBlocks": true,
"loopsBlocks": true,
"logicBlocks": true,
"variablesBlocks": true,
"textBlocks": true,
"functionBlocks": true,
"breakBlock": true,
"continueBlock": true,
"pauseUntilBlock": {
"category": "loops"
},
"functionsOptions": {
"useNewFunctions": true,
"extraFunctionEditorTypes": [
{
"typeName": "Sprite",
"icon": "send",
"defaultName": "mySprite"
},
{
"typeName": "Image",
"icon": "image outline",
"defaultName": "myImage"
}
]
},
"listsBlocks": true,
"tilesetFieldEditorIdentity": "images._tile",
"bannedCategories": [
"pins",
"control",
"input",
"serial",
"power"
]
},
"simulator": {
"autoRun": true,
"autoRunLight": false,
"emptyRunCode": "pxsim.pxtcore.updateScreen(new pxsim.RefImage(160, 120, 4))",
"aspectRatio": 0.85,
"dynamicBoardDefinition": true,
"keymap": true,
"messageSimulators": {
"jacdac": {
"url": "https://microsoft.github.io/jacdac-docs/tools/makecode-sim?webusb=0&parentOrigin=$PARENT_ORIGIN$",
"localHostUrl": "http://localhost:8000/tools/makecode-sim?webusb=0&parentOrigin=$PARENT_ORIGIN$",
"aspectRatio": "0.89",
"permanent": true
}
}
},
"appTheme": {
"logoUrl": "https://makecode.com/org",
"logo": "/static/logo.svg",
"docsLogo": "/static/logo.svg",
"cardLogo": "/static/logo.png",
"appLogo": "/static/icons/favicon.ico",
"portraitLogo": "/static/logo.svg",
"footerLogo": "/static/logo.svg",
"organization": "Microsoft MakeCode",
"organizationText": "MakeCode Arcade",
"organizationShortText": "MakeCode",
"organizationUrl": "https://makecode.com/org",
"organizationLogo": "/static/Micorsoft_logo_rgb_W-white_D-square.png",
"organizationWideLogo": "/static/Micorsoft_logo_rgb_W-white_D.png",
"homeUrl": "https://arcade.makecode.com/",
"embedUrl": "https://arcade.makecode.com/",
"privacyUrl": "https://go.microsoft.com/fwlink/?LinkId=521839",
"termsOfUseUrl": "https://go.microsoft.com/fwlink/?LinkID=206977",
"githubUrl": "https://github.com/microsoft/pxt-arcade",
"boardName": "Arcade",
"addNewTypeScriptFile": true,
"docMenu": [
{
"name": "Docs",
"path": "/docs",
"popout": true
},
{
"name": "Hardware",
"path": "/hardware",
"popout": true
},
{
"name": "Forum",
"path": "https://forum.makecode.com"
}
],
"coloredToolbox": true,
"monacoToolbox": true,
"selectLanguage": true,
"availableLocales": [
"en",
"ar",
"zh-CN",
"zh-TW",
"de",
"fr",
"it",
"ja",
"ko",
"es-ES",
"es-MX",
"ru"
],
"invertedMenu": true,
"showHomeScreen": true,
"useTextLogo": true,
"highContrast": true,
"greenScreen": true,
"print": true,
"hasAudio": true,
"allowPackageExtensions": true,
"homeScreenHero": {
"imageUrl": "/static/hero-gallery/multiplayer-banner.png",
"name": "Multiplayer Games!",
"url": "/--multiplayer",
"buttonLabel": "Try Now",
"description": "Multiplayer Games!",
"cardType": "link"
},
"homeScreenHeroGallery": "/hero-banner",
"socialOptions": {
"orgTwitterHandle": "MSMakeCode",
"hashtags": "MakeCode",
"discourse": "https://forum.makecode.com/",
"discourseCategory": "Arcade"
},
"blocklyOptions": {
"grid": {
"spacing": 30,
"length": 1,
"colour": "rgb(189, 195, 199)",
"snap": false
}
},
"blockColors": {
"loops": "#20BF6B",
"logic": "#45AAF2",
"math": "#A55EEA",
"variables": "#EC3B59",
"text": "#F5D547",
"arrays": "#FF8F08",
"functions": "#1446A0"
},
"simAnimationEnter": "fly right in",
"simAnimationExit": "fly right out",
"crowdinProject": "makecode",
"monacoColors": {
"editor.background": "#F8FAFC"
},
"monacoFieldEditors": [
"image-editor",
"tilemap-editor",
"soundeffect-editor",
"music-editor"
],
"scriptManager": true,
"saveInMenu": false,
"debugger": true,
"importExtensionFiles": true,
"experiments": [
"debugExtensionCode",
"snippetBuilder",
"experimentalHw",
"recipes",
"tutorialBlocksDiff",
"blocksErrorList",
"identity",
"accessibleBlocks",
"palettePicker"
],
"blocksCollapsing": true,
"errorList": true,
"workspaceSearch": true,
"extendEditor": true,
"simScreenshot": true,
"simScreenshotKey": "P",
"simScreenshotMaxUriLength": 300000,
"simGif": true,
"simGifKey": "R",
"qrCode": true,
"shareFinishedTutorials": true,
"nameProjectFirst": true,
"githubEditor": true,
"githubCompiledJs": true,
"chooseLanguageRestrictionOnNewProject": true,
"openProjectNewTab": true,
"hasReferenceDocs": true,
"python": true,
"assetEditor": true,
"immersiveReader": true,
"tutorialCodeValidation": true,
"multiplayer": true,
"songEditor": true,
"shareToKiosk": true,
"tours": {
"editor": "/tours/editor-tour"
},
"showOpenInVscode": true,
"hideReplaceMyCode": true,
"timeMachine": true,
"timeMachineDiffInterval": 600000,
"timeMachineSnapshotInterval": 1800000
},
"queryVariants": {
"skillsMap=1": {
"appTheme": {
"embeddedTutorial": true,
"allowParentController": true,
"shareFinishedTutorials": false,
"hideReplaceMyCode": false
}
},
"teachertool=1": {
"appTheme": {
"hideMenuBar": true,
"workspaceSearch": true
}
}
},
"unsupportedBrowsers": [
{
"id": "ie"
}
],
"uploadDocs": true,
"noSimShims": true,
"defaultBadges": [
{
"id": "skillmap-completion-save the forest",
"type": "skillmap-completion",
"image": "/static/badges/badge-forest.png",
"lockedImage": "/static/badges/badge-forest-locked.png",
"sourceURL": "https://www.makecode.com/api/md/arcade/skillmap/forest",
"title": "Save the Forest"
},
{
"id": "skillmap-completion-zookeeper",
"type": "skillmap-completion",
"image": "/static/badges/badge-zoo.png",
"lockedImage": "/static/badges/badge-zoo-locked.png",
"sourceURL": "https://www.makecode.com/api/md/arcade/skillmap/zoo",
"title": "Zookeeper"
},
{
"id": "skillmap-completion-rockstar",
"image": "/static/badges/badge-rockstar.png",
"lockedImage": "/static/badges/badge-rockstar-locked.png",
"sourceURL": "https://www.makecode.com/api/md/arcade/skillmap/rockstar",
"type": "skillmap-completion",
"title": "80's Rockstar"
},
{
"id": "skillmap-completion-build a platformer game!",
"image": "/static/badges/badge-jungle.png",
"lockedImage": "/static/badges/badge-jungle-locked.png",
"sourceURL": "https://www.makecode.com/api/md/arcade/skillmap/jungle",
"type": "skillmap-completion",
"title": "Jungle Monkey"
},
{
"id": "skillmap-completion-space",
"image": "/static/badges/badge-space.png",
"lockedImage": "/static/badges/badge-space-locked.png",
"sourceURL": "https://www.makecode.com/api/md/arcade/skillmap/space",
"type": "skillmap-completion",
"title": "Space Explorer"
},
{
"id": "skillmap-completion-shark",
"image": "/static/badges/badge-shark.png",
"lockedImage": "/static/badges/badge-shark-locked.png",
"sourceURL": "https://www.makecode.com/api/md/arcade/skillmap/shark",
"type": "skillmap-completion",
"title": "Shark Splash"
}
]
}