diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index f502d934ada49b0e0b094b03b7b33c37244cd2d3..9a75ac19a468a50b9a51d887cdd7fd9e3d369498 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -2,6 +2,8 @@ _What Github issue does this resolve (please include link)?_ +- Resolves # + ### Proposed Changes _Describe what this Pull Request does_ diff --git a/TRADEMARK b/TRADEMARK index 3e1ec5bf483d5fa5ce5fbd0140569d60e165ddb0..17b5d4c919c9336be6f546ff5d958e38685380af 100644 --- a/TRADEMARK +++ b/TRADEMARK @@ -1,7 +1 @@ -The Scratch trademarks, including the Scratch name, logo, the Scratch Cat, Gobo, Pico, Nano, Tera and Giga graphics (the "Marks"), are property of the Massachusetts Institute of Technology (MIT), and the use of the Marks is governed by this policy. - -You may use the Marks to refer to Scratch in Substantially Unmodified form. - -"Substantially Unmodified" means the source code provided by MIT, possibly with minor modifications including but not limited to: bug fixes (including security), changing the locations of files for better integration with the host operating system, adding documentation, and changes to the dynamic linking of libraries. - -A version is not "Substantially Unmodified" if it incorporates features not present in a release of Scratch by MIT. If you do make a substantial modification, to avoid confusion with versions of Scratch produced by MIT you must remove all Marks from your version of the software and refrain from using any of the Marks to refer to your version. +The Scratch trademarks, including the Scratch name, logo, the Scratch Cat, Gobo, Pico, Nano, Tera and Giga graphics (the "Marks"), are property of the Massachusetts Institute of Technology (MIT). Marks may not be used to endorse or promote products derived from this software without specific prior written permission. diff --git a/package.json b/package.json index a5875e0f7bc893903cafafe6348b03209b57ffde..8a4d41e094c0a86494cf0b1a3edec22e3ec1a3cc 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,6 @@ "react-draggable": "3.0.5", "react-ga": "2.5.3", "react-intl": "2.4.0", - "react-intl-redux": "0.7.0", "react-modal": "3.4.4", "react-popover": "0.5.7", "react-redux": "5.0.7", @@ -93,14 +92,14 @@ "redux-mock-store": "^1.2.3", "redux-throttle": "0.1.1", "rimraf": "^2.6.1", - "scratch-audio": "0.1.0-prerelease.1528996828", - "scratch-blocks": "0.1.0-prerelease.1529016587", + "scratch-audio": "0.1.0-prerelease.20180618171838", + "scratch-blocks": "0.1.0-prerelease.1529616842", "scratch-l10n": "3.0.20180611175036", - "scratch-paint": "0.2.0-prerelease.20180614161221", - "scratch-render": "0.1.0-prerelease.20180615131212", + "scratch-paint": "0.2.0-prerelease.20180621213404", + "scratch-render": "0.1.0-prerelease.20180618173030", "scratch-storage": "0.5.1", - "scratch-svg-renderer": "0.2.0-prerelease.20180613184320", - "scratch-vm": "0.1.0-prerelease.1529017807", + "scratch-svg-renderer": "0.2.0-prerelease.20180618172917", + "scratch-vm": "0.1.0-prerelease.1529422910", "selenium-webdriver": "3.6.0", "startaudiocontext": "1.2.1", "style-loader": "^0.21.0", diff --git a/src/components/action-menu/icon--search.svg b/src/components/action-menu/icon--search.svg new file mode 100644 index 0000000000000000000000000000000000000000..fbd17b46c4c9169624eb95f08eb0d2b0cea6bc71 Binary files /dev/null and b/src/components/action-menu/icon--search.svg differ diff --git a/src/components/asset-panel/selector.jsx b/src/components/asset-panel/selector.jsx index a9f69134ba43a1c3e79c1467f11875acbb8b535a..88d609723afc6765576eeb4433786778fffee51d 100644 --- a/src/components/asset-panel/selector.jsx +++ b/src/components/asset-panel/selector.jsx @@ -13,6 +13,7 @@ import styles from './selector.css'; const Selector = props => { const { buttons, + containerRef, dragType, items, selectedItemIndex, @@ -46,7 +47,10 @@ const Selector = props => { } return ( - <Box className={styles.wrapper}> + <Box + className={styles.wrapper} + componentRef={containerRef} + > <Box className={styles.listArea}> {items.map((item, index) => ( <SortableAsset @@ -87,6 +91,7 @@ Selector.propTypes = { img: PropTypes.string.isRequired, onClick: PropTypes.func })), + containerRef: PropTypes.func, dragType: PropTypes.oneOf(Object.keys(DragConstants)), draggingIndex: PropTypes.number, draggingType: PropTypes.oneOf(Object.keys(DragConstants)), diff --git a/src/components/backpack/backpack.css b/src/components/backpack/backpack.css index fc50063869622ab5934f947dcbeace7e1c456c34..229344a2d269c90f32a94afc956191827fe479cd 100644 --- a/src/components/backpack/backpack.css +++ b/src/components/backpack/backpack.css @@ -26,12 +26,31 @@ flex-direction: row; align-items: center; border-right: 1px solid $ui-black-transparent; - min-height: 6rem; + min-height: 5.5rem; } -.empty-message { +/* Absolute position the inner list to allow scrolling inside flex sized container */ +.backpack-list-inner { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: flex; + flex-direction: row; + align-items: center; + overflow-x: auto; +} + +.status-message { width: 100%; text-align: center; font-size: 0.85rem; color: $text-primary; } + +.backpack-item { + min-width: 4rem; + margin: 0 0.25rem; + mix-blend-mode: multiply; /* Make white transparent for thumnbnails */ +} diff --git a/src/components/backpack/backpack.jsx b/src/components/backpack/backpack.jsx index 74798b8a7a07d038e5d62dcac2fb2e0a2f2df703..563ec84a3dc7bcb7d85bd9fdf1a105451a17ee9c 100644 --- a/src/components/backpack/backpack.jsx +++ b/src/components/backpack/backpack.jsx @@ -1,11 +1,22 @@ import React from 'react'; import PropTypes from 'prop-types'; import {FormattedMessage} from 'react-intl'; +import DragConstants from '../../lib/drag-constants'; import {ComingSoonTooltip} from '../coming-soon/coming-soon.jsx'; - +import SpriteSelectorItem from '../../containers/sprite-selector-item.jsx'; import styles from './backpack.css'; -const Backpack = ({expanded, onToggle}) => ( +// TODO make sprite selector item not require onClick +const noop = () => {}; + +const dragTypeMap = { + costume: DragConstants.BACKPACK_COSTUME, + sound: DragConstants.BACKPACK_SOUND, + code: DragConstants.BACKPACK_CODE, + sprite: DragConstants.BACKPACK_SPRITE +}; + +const Backpack = ({contents, error, expanded, loading, onToggle}) => ( <div className={styles.backpackContainer}> <div className={styles.backpackHeader} @@ -32,25 +43,73 @@ const Backpack = ({expanded, onToggle}) => ( </div> {expanded ? ( <div className={styles.backpackList}> - <div className={styles.emptyMessage}> - <FormattedMessage - defaultMessage="Backpack is empty" - description="Empty backpack message" - id="gui.backpack.emptyBackpack" - /> - </div> + {error ? ( + <div className={styles.statusMessage}> + <FormattedMessage + defaultMessage="Error loading backpack" + description="Error backpack message" + id="gui.backpack.errorBackpack" + /> + </div> + ) : ( + loading ? ( + <div className={styles.statusMessage}> + <FormattedMessage + defaultMessage="Loading..." + description="Loading backpack message" + id="gui.backpack.loadingBackpack" + /> + </div> + ) : ( + contents.length > 0 ? ( + <div className={styles.backpackListInner}> + {contents.map(item => ( + <SpriteSelectorItem + className={styles.backpackItem} + costumeURL={item.thumbnailUrl} + details={item.name} + dragPayload={item} + dragType={dragTypeMap[item.type]} + key={item.id} + name={item.type} + selected={false} + onClick={noop} + /> + ))} + </div> + ) : ( + <div className={styles.statusMessage}> + <FormattedMessage + defaultMessage="Backpack is empty" + description="Empty backpack message" + id="gui.backpack.emptyBackpack" + /> + </div> + ) + ) + )} </div> ) : null} </div> ); Backpack.propTypes = { + contents: PropTypes.arrayOf(PropTypes.shape({ + id: PropTypes.string, + thumbnailUrl: PropTypes.string, + type: PropTypes.string, + name: PropTypes.string + })), + error: PropTypes.bool, expanded: PropTypes.bool, + loading: PropTypes.bool, onToggle: PropTypes.func }; Backpack.defaultProps = { + contents: [], expanded: false, + loading: false, onToggle: null }; diff --git a/src/components/menu-bar/menu-bar.jsx b/src/components/menu-bar/menu-bar.jsx index e4de61ffded598b2c3f60db74d61457aab486009..164e9c78e7160686b988084d6fddfabf003e0ffc 100644 --- a/src/components/menu-bar/menu-bar.jsx +++ b/src/components/menu-bar/menu-bar.jsx @@ -226,7 +226,7 @@ const MenuBar = props => ( {...loadProps} > <FormattedMessage - defaultMessage="Upload from your computer" + defaultMessage="Load from your computer" description="Menu bar item for uploading a project from your computer" id="gui.menuBar.uploadFromComputer" /> @@ -239,8 +239,8 @@ const MenuBar = props => ( {...saveProps} > <FormattedMessage - defaultMessage="Download to your computer" - description="Menu bar item for downloading a project" + defaultMessage="Save to your computer" + description="Menu bar item for downloading a project to your computer" id="gui.menuBar.downloadToComputer" /> </MenuItem> diff --git a/src/components/sprite-selector-item/sprite-selector-item.css b/src/components/sprite-selector-item/sprite-selector-item.css index b54e8f720743d4559b1b4e0bb4604233835a7dc4..32a5339a75c27c6157a9cbfb1885e299b09d77cc 100644 --- a/src/components/sprite-selector-item/sprite-selector-item.css +++ b/src/components/sprite-selector-item/sprite-selector-item.css @@ -21,6 +21,7 @@ transition: 0.25s ease-out; user-select: none; + touch-action: none; } .sprite-selector-item.is-selected { diff --git a/src/components/sprite-selector/sprite-list.jsx b/src/components/sprite-selector/sprite-list.jsx index f36a2f1f5ac07a0f5b30cf65d9338281b389faa0..6195b0c9c8cb706589f73268d4e300432cfc0d98 100644 --- a/src/components/sprite-selector/sprite-list.jsx +++ b/src/components/sprite-selector/sprite-list.jsx @@ -13,6 +13,7 @@ import styles from './sprite-selector.css'; const SpriteList = function (props) { const { + containerRef, editingTarget, draggingIndex, draggingType, @@ -31,7 +32,10 @@ const SpriteList = function (props) { const isSpriteDrag = draggingType === DragConstants.SPRITE; return ( - <Box className={styles.itemsWrapper}> + <Box + className={styles.itemsWrapper} + componentRef={containerRef} + > {items.map((sprite, index) => { // If the sprite has just received a block drop, used for green highlight @@ -42,7 +46,14 @@ const SpriteList = function (props) { ); // If the sprite is indicating it can receive block dropping, used for blue highlight - const isRaised = !receivedBlocks && raised && sprite.id !== editingTarget; + let isRaised = !receivedBlocks && raised && sprite.id !== editingTarget; + + // A sprite is also raised if a costume or sound is being dragged. + // Note the absence of the self-sharing check: a sprite can share assets with itself. + // This is a quirk of 2.0, but seems worth leaving possible, it + // allows quick (albeit unusual) duplication of assets. + isRaised = isRaised || draggingType === DragConstants.COSTUME || + draggingType === DragConstants.SOUND; return ( <SortableAsset @@ -77,6 +88,7 @@ const SpriteList = function (props) { }; SpriteList.propTypes = { + containerRef: PropTypes.func, draggingIndex: PropTypes.number, draggingType: PropTypes.oneOf(Object.keys(DragConstants)), editingTarget: PropTypes.string, diff --git a/src/components/sprite-selector/sprite-selector.jsx b/src/components/sprite-selector/sprite-selector.jsx index 9907dffce3a78d58c056ce74ab33a0c59e2b4c10..30c42cbf1241d50d2bece3ea941df96d53fb0742 100644 --- a/src/components/sprite-selector/sprite-selector.jsx +++ b/src/components/sprite-selector/sprite-selector.jsx @@ -15,6 +15,7 @@ import fileUploadIcon from '../action-menu/icon--file-upload.svg'; import paintIcon from '../action-menu/icon--paint.svg'; import spriteIcon from '../action-menu/icon--sprite.svg'; import surpriseIcon from '../action-menu/icon--surprise.svg'; +import searchIcon from '../action-menu/icon--search.svg'; const messages = defineMessages({ addSpriteFromLibrary: { @@ -127,6 +128,10 @@ const SpriteSelectorComponent = function (props) { title: intl.formatMessage(messages.addSpriteFromPaint), img: paintIcon, onClick: onPaintSpriteClick // TODO need real function for this + }, { + title: intl.formatMessage(messages.addSpriteFromLibrary), + img: searchIcon, + onClick: onNewSpriteClick } ]} title={intl.formatMessage(messages.addSpriteFromLibrary)} diff --git a/src/components/stage-selector/stage-selector.jsx b/src/components/stage-selector/stage-selector.jsx index 5399057c9cf754de376a58e9cbceb30af5b1d258..9d40d3c249e9d413a89bbfdc9d8f15e82b6ebf98 100644 --- a/src/components/stage-selector/stage-selector.jsx +++ b/src/components/stage-selector/stage-selector.jsx @@ -12,6 +12,7 @@ import backdropIcon from '../action-menu/icon--backdrop.svg'; import fileUploadIcon from '../action-menu/icon--file-upload.svg'; import paintIcon from '../action-menu/icon--paint.svg'; import surpriseIcon from '../action-menu/icon--surprise.svg'; +import searchIcon from '../action-menu/icon--search.svg'; const messages = defineMessages({ addBackdropFromLibrary: { @@ -112,6 +113,10 @@ const StageSelector = props => { title: intl.formatMessage(messages.addBackdropFromPaint), img: paintIcon, onClick: onEmptyBackdropClick + }, { + title: intl.formatMessage(messages.addBackdropFromLibrary), + img: searchIcon, + onClick: onNewBackdropClick } ]} title={intl.formatMessage(messages.addBackdropFromLibrary)} diff --git a/src/components/stage/stage.css b/src/components/stage/stage.css index 15ac8bcc1d0267d12903ebf472b4273a75401b9d..003947533cafe82ff22178ce1aaa35d1e3a2e88c 100644 --- a/src/components/stage/stage.css +++ b/src/components/stage/stage.css @@ -18,6 +18,9 @@ /* Allow custom touch handling to prevent scrolling on Edge */ touch-action: none; + + /* Make sure border is not included in size calculation */ + box-sizing: content-box !important; } .with-color-picker { diff --git a/src/containers/backpack.jsx b/src/containers/backpack.jsx index 3af28f9e13325a764012bb4b100f401cbffc7655..b6068cb5d5a12fd5dc3c321d3bc235ca9886c70b 100644 --- a/src/containers/backpack.jsx +++ b/src/containers/backpack.jsx @@ -2,26 +2,68 @@ import React from 'react'; import PropTypes from 'prop-types'; import bindAll from 'lodash.bindall'; import BackpackComponent from '../components/backpack/backpack.jsx'; +import {getBackpackContents} from '../lib/backpack-api'; +import {connect} from 'react-redux'; +import storage from '../lib/storage'; class Backpack extends React.Component { constructor (props) { super(props); bindAll(this, [ - 'handleToggle' + 'handleToggle', + 'refreshContents' ]); this.state = { + error: false, + offset: 0, + itemsPerPage: 20, + loading: false, expanded: false, contents: [] }; + + // If a host is given, add it as a web source to the storage module + // TODO remove the hacky flag that prevents double adding + if (props.host && !storage._hasAddedBackpackSource) { + storage.addWebSource( + [storage.AssetType.ImageVector, storage.AssetType.ImageBitmap, storage.AssetType.Sound], + asset => `${props.host}/${asset.assetId}.${asset.dataFormat}` + ); + storage._hasAddedBackpackSource = true; + } } handleToggle () { - this.setState({expanded: !this.state.expanded}); + const newState = !this.state.expanded; + this.setState({expanded: newState, offset: 0}); + if (newState) { + this.refreshContents(); + } + } + refreshContents () { + if (this.props.token && this.props.username) { + this.setState({loading: true, error: false}); + getBackpackContents({ + host: this.props.host, + token: this.props.token, + username: this.props.username, + offset: this.state.offset, + limit: this.state.itemsPerPage + }) + .then(contents => { + this.setState({contents, loading: false}); + }) + .catch(() => { + this.setState({error: true, loading: false}); + }); + } } render () { return ( <BackpackComponent contents={this.state.contents} + error={this.state.error} expanded={this.state.expanded} + loading={this.state.loading} onToggle={this.props.host ? this.handleToggle : null} /> ); @@ -29,7 +71,27 @@ class Backpack extends React.Component { } Backpack.propTypes = { - host: PropTypes.string + host: PropTypes.string, + token: PropTypes.string, + username: PropTypes.string +}; + +const mapStateToProps = state => { + // Look for the session state provided by scratch-www + if (state.session && state.session.session) { + return { + token: state.session.session.token, + username: state.session.session.username + }; + } + // Otherwise try to pull testing params out of the URL, or return nulls + // TODO a hack for testing the backpack + const tokenMatches = window.location.href.match(/[?&]token=([^&]*)&?/); + const usernameMatches = window.location.href.match(/[?&]username=([^&]*)&?/); + return { + token: tokenMatches ? tokenMatches[1] : null, + username: usernameMatches ? usernameMatches[1] : null + }; }; -export default Backpack; +export default connect(mapStateToProps)(Backpack); diff --git a/src/containers/blocks.jsx b/src/containers/blocks.jsx index 5f1ec793e63b7a153ce6a628480a56b04bfbeca0..1b411d6336e9291efabdbca2959ef0f85a7f1d96 100644 --- a/src/containers/blocks.jsx +++ b/src/containers/blocks.jsx @@ -52,7 +52,8 @@ class Blocks extends React.Component { 'onVisualReport', 'onWorkspaceUpdate', 'onWorkspaceMetricsChange', - 'setBlocks' + 'setBlocks', + 'setLocale' ]); this.ScratchBlocks.prompt = this.handlePromptStart; this.state = { @@ -86,7 +87,7 @@ class Blocks extends React.Component { addFunctionListener(this.workspace, 'zoom', this.onWorkspaceMetricsChange); this.attachVM(); - this.props.vm.setLocale(this.props.locale, this.props.messages); + this.setLocale(); analytics.pageview('/editors/blocks'); } @@ -109,7 +110,7 @@ class Blocks extends React.Component { } if (prevProps.locale !== this.props.locale) { - this.props.vm.setLocale(this.props.locale, this.props.messages); + this.setLocale(); } if (prevProps.toolboxXML !== this.props.toolboxXML) { @@ -144,6 +145,16 @@ class Blocks extends React.Component { clearTimeout(this.toolboxUpdateTimeout); } + setLocale () { + this.workspace.getFlyout().setRecyclingEnabled(false); + this.ScratchBlocks.ScratchMsgs.setLocale(this.props.locale); + this.props.vm.setLocale(this.props.locale, this.props.messages); + + this.workspace.updateToolbox(this.props.toolboxXML); + this.props.vm.refreshWorkspace(); + this.workspace.getFlyout().setRecyclingEnabled(true); + } + updateToolbox () { this.toolboxUpdateTimeout = false; @@ -445,7 +456,7 @@ Blocks.defaultOptions = { fieldShadow: 'rgba(255, 255, 255, 0.3)', dragShadowOpacity: 0.6 }, - comments: false, + comments: true, collapse: false, sounds: false }; @@ -461,8 +472,8 @@ const mapStateToProps = state => ({ state.scratchGui.mode.isFullScreen ), extensionLibraryVisible: state.scratchGui.modals.extensionLibrary, - locale: state.intl.locale, - messages: state.intl.messages, + locale: state.locales.locale, + messages: state.locales.messages, toolboxXML: state.scratchGui.toolbox.toolboxXML, customProceduresVisible: state.scratchGui.customProcedures.active }); diff --git a/src/containers/costume-tab.jsx b/src/containers/costume-tab.jsx index 965f81abef7b99417f7f521d932cd6460dbd80c9..cde662f08f2684bf468fe47c02e49226dd5a2b23 100644 --- a/src/containers/costume-tab.jsx +++ b/src/containers/costume-tab.jsx @@ -19,12 +19,18 @@ import { openBackdropLibrary } from '../reducers/modals'; +import { + activateTab, + SOUNDS_TAB_INDEX +} from '../reducers/editor-tab'; + import addLibraryBackdropIcon from '../components/asset-panel/icon--add-backdrop-lib.svg'; import addLibraryCostumeIcon from '../components/asset-panel/icon--add-costume-lib.svg'; import fileUploadIcon from '../components/action-menu/icon--file-upload.svg'; import paintIcon from '../components/action-menu/icon--paint.svg'; import cameraIcon from '../components/action-menu/icon--camera.svg'; import surpriseIcon from '../components/action-menu/icon--surprise.svg'; +import searchIcon from '../components/action-menu/icon--search.svg'; import costumeLibraryContent from '../lib/libraries/costumes.json'; import backdropLibraryContent from '../lib/libraries/backdrops.json'; @@ -191,14 +197,22 @@ class CostumeTab extends React.Component { this.fileInput.click(); } handleDrop (dropInfo) { - // Eventually will handle other kinds of drop events, right now just - // the reordering events. if (dropInfo.dragType === DragConstants.COSTUME) { const sprite = this.props.vm.editingTarget.sprite; const activeCostume = sprite.costumes[this.state.selectedCostumeIndex]; this.props.vm.reorderCostume(this.props.vm.editingTarget.id, dropInfo.index, dropInfo.newIndex); this.setState({selectedCostumeIndex: sprite.costumes.indexOf(activeCostume)}); + } else if (dropInfo.dragType === DragConstants.BACKPACK_COSTUME) { + this.props.vm.addCostume(dropInfo.payload.body, { + name: dropInfo.payload.name + }); + } else if (dropInfo.dragType === DragConstants.BACKPACK_SOUND) { + this.props.onActivateSoundsTab(); + this.props.vm.addSound({ + md5: dropInfo.payload.body, + name: dropInfo.payload.name + }); } } setFileInput (input) { @@ -271,6 +285,11 @@ class CostumeTab extends React.Component { title: intl.formatMessage(messages.addBlankCostumeMsg), img: paintIcon, onClick: this.handleNewBlankCostume + }, + { + title: intl.formatMessage(addLibraryMessage), + img: searchIcon, + onClick: addLibraryFunc } ]} dragType={DragConstants.COSTUME} @@ -303,6 +322,7 @@ CostumeTab.propTypes = { cameraModalVisible: PropTypes.bool, editingTarget: PropTypes.string, intl: intlShape, + onActivateSoundsTab: PropTypes.func.isRequired, onNewCostumeFromCameraClick: PropTypes.func.isRequired, onNewLibraryBackdropClick: PropTypes.func.isRequired, onNewLibraryCostumeClick: PropTypes.func.isRequired, @@ -333,6 +353,7 @@ const mapStateToProps = state => ({ }); const mapDispatchToProps = dispatch => ({ + onActivateSoundsTab: () => dispatch(activateTab(SOUNDS_TAB_INDEX)), onNewLibraryBackdropClick: e => { e.preventDefault(); dispatch(openBackdropLibrary()); diff --git a/src/containers/language-selector.jsx b/src/containers/language-selector.jsx index 49fb60943ada6bdefa77f95548dc40e2b3080d79..c3f108efbe3315dd732a3b450479efddc7bec00d 100644 --- a/src/containers/language-selector.jsx +++ b/src/containers/language-selector.jsx @@ -2,7 +2,7 @@ import bindAll from 'lodash.bindall'; import PropTypes from 'prop-types'; import React from 'react'; import {connect} from 'react-redux'; -import {updateIntl} from 'react-intl-redux'; +import {selectLocale} from '../reducers/locales'; import {closeLanguageMenu} from '../reducers/menus'; import LanguageSelectorComponent from '../components/language-selector/language-selector.jsx'; @@ -15,11 +15,15 @@ class LanguageSelector extends React.Component { ]); } handleChange (e) { - this.props.onChangeLanguage(e.target.value); + const newLocale = e.target.value; + if (this.props.supportedLocales.includes(newLocale)) { + this.props.onChangeLanguage(newLocale); + } } render () { const { onChangeLanguage, // eslint-disable-line no-unused-vars + supportedLocales, // eslint-disable-line no-unused-vars children, ...props } = this.props; @@ -36,16 +40,19 @@ class LanguageSelector extends React.Component { LanguageSelector.propTypes = { children: PropTypes.node, - onChangeLanguage: PropTypes.func.isRequired + currentLocale: PropTypes.string.isRequired, + onChangeLanguage: PropTypes.func.isRequired, + supportedLocales: PropTypes.arrayOf(PropTypes.string) }; const mapStateToProps = state => ({ - currentLocale: state.intl.locale + currentLocale: state.locales.locale, + supportedLocales: Object.keys(state.locales.messagesByLocale) }); const mapDispatchToProps = dispatch => ({ onChangeLanguage: locale => { - dispatch(updateIntl({locale: locale, messages: {}})); + dispatch(selectLocale(locale)); dispatch(closeLanguageMenu()); } }); diff --git a/src/containers/list-monitor.jsx b/src/containers/list-monitor.jsx index c4b40584eb0cba9cecb479f9b7bf01ab9528fecb..f20fd61480057da42d35a6d2dbc2f3b2d4645eb2 100644 --- a/src/containers/list-monitor.jsx +++ b/src/containers/list-monitor.jsx @@ -107,7 +107,11 @@ class ListMonitor extends React.Component { const newListValue = listValue.slice(0, this.state.activeIndex) .concat(listValue.slice(this.state.activeIndex + 1)); setVariableValue(vm, targetId, variableId, newListValue); - this.handleActivate(Math.min(newListValue.length - 1, this.state.activeIndex)); + const newActiveIndex = Math.min(newListValue.length - 1, this.state.activeIndex); + this.setState({ + activeIndex: newActiveIndex, + activeValue: newListValue[newActiveIndex] + }); } handleAdd () { diff --git a/src/containers/menu.jsx b/src/containers/menu.jsx index 865ad19d3d1181b62c0125a7efbc7ca8c7302b57..e9a51cd4ced969134675d81635388e16c0d5507a 100644 --- a/src/containers/menu.jsx +++ b/src/containers/menu.jsx @@ -13,12 +13,17 @@ class Menu extends React.Component { 'handleClick', 'ref' ]); - if (props.open) this.addListeners(); + } + componentDidMount () { + if (this.props.open) this.addListeners(); } componentDidUpdate (prevProps) { if (this.props.open && !prevProps.open) this.addListeners(); if (!this.props.open && prevProps.open) this.removeListeners(); } + componentWillUnmount () { + this.removeListeners(); + } addListeners () { document.addEventListener('mouseup', this.handleClick); } diff --git a/src/containers/sound-tab.jsx b/src/containers/sound-tab.jsx index 097457d8a45a0e0b28ce5eaf26712f2da1a8becb..04d871d5cf7e0a7143ec1f59232fc69142b61fb4 100644 --- a/src/containers/sound-tab.jsx +++ b/src/containers/sound-tab.jsx @@ -10,6 +10,7 @@ import addSoundFromLibraryIcon from '../components/asset-panel/icon--add-sound-l import addSoundFromRecordingIcon from '../components/asset-panel/icon--add-sound-record.svg'; import fileUploadIcon from '../components/action-menu/icon--file-upload.svg'; import surpriseIcon from '../components/action-menu/icon--surprise.svg'; +import searchIcon from '../components/action-menu/icon--search.svg'; import RecordModal from './record-modal.jsx'; import SoundEditor from './sound-editor.jsx'; @@ -28,6 +29,11 @@ import { openSoundRecorder } from '../reducers/modals'; +import { + activateTab, + COSTUMES_TAB_INDEX +} from '../reducers/editor-tab'; + class SoundTab extends React.Component { constructor (props) { super(props); @@ -120,8 +126,6 @@ class SoundTab extends React.Component { } handleDrop (dropInfo) { - // Eventually will handle other kinds of drop events, right now just - // the reordering events. if (dropInfo.dragType === DragConstants.SOUND) { const sprite = this.props.vm.editingTarget.sprite; const activeSound = sprite.sounds[this.state.selectedSoundIndex]; @@ -130,6 +134,16 @@ class SoundTab extends React.Component { dropInfo.index, dropInfo.newIndex); this.setState({selectedSoundIndex: sprite.sounds.indexOf(activeSound)}); + } else if (dropInfo.dragType === DragConstants.BACKPACK_COSTUME) { + this.props.onActivateCostumesTab(); + this.props.vm.addCostume(dropInfo.payload.body, { + name: dropInfo.payload.name + }); + } else if (dropInfo.dragType === DragConstants.BACKPACK_SOUND) { + this.props.vm.addSound({ + md5: dropInfo.payload.body, + name: dropInfo.payload.name + }).then(this.handleNewSound); } } @@ -203,6 +217,10 @@ class SoundTab extends React.Component { title: intl.formatMessage(messages.recordSound), img: addSoundFromRecordingIcon, onClick: onNewSoundFromRecordingClick + }, { + title: intl.formatMessage(messages.addSound), + img: searchIcon, + onClick: onNewSoundFromLibraryClick }]} dragType={DragConstants.SOUND} items={sounds} @@ -235,6 +253,7 @@ class SoundTab extends React.Component { SoundTab.propTypes = { editingTarget: PropTypes.string, intl: intlShape, + onActivateCostumesTab: PropTypes.func.isRequired, onNewSoundFromLibraryClick: PropTypes.func.isRequired, onNewSoundFromRecordingClick: PropTypes.func.isRequired, onRequestCloseSoundLibrary: PropTypes.func.isRequired, @@ -264,6 +283,7 @@ const mapStateToProps = state => ({ }); const mapDispatchToProps = dispatch => ({ + onActivateCostumesTab: () => dispatch(activateTab(COSTUMES_TAB_INDEX)), onNewSoundFromLibraryClick: e => { e.preventDefault(); dispatch(openSoundLibrary()); diff --git a/src/containers/sprite-selector-item.jsx b/src/containers/sprite-selector-item.jsx index 5efe494280f1fa004b55a4502f5027a37634e238..4c968f82731222227f9c5cbf6cdb2b15beed4287 100644 --- a/src/containers/sprite-selector-item.jsx +++ b/src/containers/sprite-selector-item.jsx @@ -52,7 +52,8 @@ class SpriteSelectorItem extends React.Component { currentOffset: currentOffset, dragging: true, dragType: this.props.dragType, - index: this.props.index + index: this.props.index, + payload: this.props.dragPayload }); this.noClick = true; } @@ -98,6 +99,7 @@ class SpriteSelectorItem extends React.Component { onClick, onDeleteButtonClick, onDuplicateButtonClick, + dragPayload, receivedBlocks, /* eslint-enable no-unused-vars */ ...props @@ -120,6 +122,10 @@ SpriteSelectorItem.propTypes = { assetId: PropTypes.string, costumeURL: PropTypes.string, dispatchSetHoveredSprite: PropTypes.func.isRequired, + dragPayload: PropTypes.shape({ + name: PropTypes.string, + body: PropTypes.string + }), dragType: PropTypes.string, id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), index: PropTypes.number, diff --git a/src/containers/target-pane.jsx b/src/containers/target-pane.jsx index 994f923bb4c5b7af34153f6232d02da2d04373d7..e3c7688ddc3e4257d45ae661254b5a50521440ee 100644 --- a/src/containers/target-pane.jsx +++ b/src/containers/target-pane.jsx @@ -107,14 +107,25 @@ class TargetPane extends React.Component { this.props.onReceivedBlocks(true); } } - handleDrop (dragInfo) { + const {sprite: targetId} = this.props.hoveredTarget; if (dragInfo.dragType === DragConstants.SPRITE) { // Add one to both new and target index because we are not counting/moving the stage this.props.vm.reorderTarget(dragInfo.index + 1, dragInfo.newIndex + 1); + } else if (targetId) { + // Something is being dragged over one of the sprite tiles or the backdrop. + // Dropping assets like sounds and costumes duplicate the asset on the + // hovered target. Shared costumes also become the current costume on that target. + // However, dropping does not switch the editing target or activate that editor tab. + // This is based on 2.0 behavior, but seems like it keeps confusing switching to a minimum. + // it allows the user to share multiple things without switching back and forth. + if (dragInfo.dragType === DragConstants.COSTUME) { + this.props.vm.shareCostumeToTarget(dragInfo.index, targetId); + } else if (targetId && dragInfo.dragType === DragConstants.SOUND) { + this.props.vm.shareSoundToTarget(dragInfo.index, targetId); + } } } - render () { const { onActivateTab, // eslint-disable-line no-unused-vars diff --git a/src/index.js b/src/index.js index 3bfa737f52db778b0196009bcfecb83c96f94795..dfd32a399de9c132135e2cb0f0596bd8eecc74a2 100644 --- a/src/index.js +++ b/src/index.js @@ -1,12 +1,12 @@ import GUI from './containers/gui.jsx'; import GuiReducer, {guiInitialState, guiMiddleware, initFullScreen, initPlayer} from './reducers/gui'; +import LocalesReducer, {localesInitialState, initLocale} from './reducers/locales'; import {ScratchPaintReducer} from 'scratch-paint'; -import IntlReducer from './reducers/intl'; import {setFullScreen, setPlayer} from './reducers/mode'; import {setAppElement} from 'react-modal'; const guiReducers = { - intl: IntlReducer, + locales: LocalesReducer, scratchGui: GuiReducer, scratchPaint: ScratchPaintReducer }; @@ -19,6 +19,8 @@ export { guiMiddleware, initPlayer, initFullScreen, + initLocale, + localesInitialState, setFullScreen, setPlayer }; diff --git a/src/lib/app-state-hoc.jsx b/src/lib/app-state-hoc.jsx index dc62aa31bca70f8a05ea90cc698d8050c811ea7c..20e2852a131c5ad70a878d4d0d4b3038df6c8548 100644 --- a/src/lib/app-state-hoc.jsx +++ b/src/lib/app-state-hoc.jsx @@ -2,12 +2,10 @@ import React from 'react'; import PropTypes from 'prop-types'; import {Provider} from 'react-redux'; import {createStore, combineReducers, compose} from 'redux'; - -import {intlShape} from 'react-intl'; -import {IntlProvider, updateIntl} from 'react-intl-redux'; -import intlReducer from '../reducers/intl.js'; +import ConnectedIntlProvider from './connected-intl-provider.jsx'; import guiReducer, {guiInitialState, guiMiddleware, initFullScreen, initPlayer} from '../reducers/gui'; +import localesReducer, {initLocale, localesInitialState} from '../reducers/locales'; import {setPlayer, setFullScreen} from '../reducers/mode.js'; @@ -33,21 +31,28 @@ const AppStateHOC = function (WrappedComponent) { if (props.isPlayerOnly) { initializedGui = initPlayer(initializedGui); } + + let initializedLocales = localesInitialState; + if (window.location.search.indexOf('locale=') !== -1 || + window.location.search.indexOf('lang=') !== -1) { + const locale = window.location.search.match(/(?:locale|lang)=([\w]+)/)[1]; + initializedLocales = initLocale(initializedLocales, locale); + } + const reducer = combineReducers({ - intl: intlReducer, + locales: localesReducer, scratchGui: guiReducer, scratchPaint: ScratchPaintReducer }); - this.store = createStore( reducer, - {scratchGui: initializedGui}, + { + locales: initializedLocales, + scratchGui: initializedGui + }, enhancer); } componentDidUpdate (prevProps) { - if (prevProps.intl !== this.props.intl) { - this.store.dispatch(updateIntl(this.props.intl)); - } if (prevProps.isPlayerOnly !== this.props.isPlayerOnly) { this.store.dispatch(setPlayer(this.props.isPlayerOnly)); } @@ -57,22 +62,20 @@ const AppStateHOC = function (WrappedComponent) { } render () { const { - intl, // eslint-disable-line no-unused-vars isFullScreen, // eslint-disable-line no-unused-vars isPlayerOnly, // eslint-disable-line no-unused-vars ...componentProps } = this.props; return ( <Provider store={this.store}> - <IntlProvider> + <ConnectedIntlProvider> <WrappedComponent {...componentProps} /> - </IntlProvider> + </ConnectedIntlProvider> </Provider> ); } } AppStateWrapper.propTypes = { - intl: intlShape, isFullScreen: PropTypes.bool, isPlayerOnly: PropTypes.bool }; diff --git a/src/lib/backpack-api.js b/src/lib/backpack-api.js new file mode 100644 index 0000000000000000000000000000000000000000..0ec46260ac315d9592e7b7e0abfe432eb8e1a08e --- /dev/null +++ b/src/lib/backpack-api.js @@ -0,0 +1,29 @@ +import xhr from 'xhr'; + +const getBackpackContents = ({ + host, + username, + token, + limit, + offset +}) => new Promise((resolve, reject) => { + xhr({ + method: 'GET', + uri: `${host}${username}?limit=${limit}&offset=${offset}`, + headers: {'x-token': token}, + json: true + }, (error, response) => { + if (error || response.statusCode !== 200) { + return reject(); + } + // Add a new property for the full thumbnail url, which includes the host. + // TODO retreiving the images through storage would allow us to remove this. + return resolve(response.body.map(item => ( + Object.assign({}, item, {thumbnailUrl: `${host}/${item.thumbnail}`}) + ))); + }); +}); + +export { + getBackpackContents +}; diff --git a/src/lib/connected-intl-provider.jsx b/src/lib/connected-intl-provider.jsx new file mode 100644 index 0000000000000000000000000000000000000000..e4150ef1b39fe73dd1e5db92c1ab427cb16298d5 --- /dev/null +++ b/src/lib/connected-intl-provider.jsx @@ -0,0 +1,10 @@ +import {IntlProvider as ReactIntlProvider} from 'react-intl'; +import {connect} from 'react-redux'; + +const mapStateToProps = state => ({ + key: state.locales.locale, + locale: state.locales.locale, + messages: state.locales.messages +}); + +export default connect(mapStateToProps)(ReactIntlProvider); diff --git a/src/lib/drag-constants.js b/src/lib/drag-constants.js index 86f064da90e556b50b5653be17aa8d9f17708811..ce4da5af2a8d362feb8ddc81ff171331e3487e63 100644 --- a/src/lib/drag-constants.js +++ b/src/lib/drag-constants.js @@ -1,5 +1,10 @@ export default { SOUND: 'SOUND', COSTUME: 'COSTUME', - SPRITE: 'SPRITE' + SPRITE: 'SPRITE', + + BACKPACK_SOUND: 'BACKPACK_SOUND', + BACKPACK_COSTUME: 'BACKPACK_COSTUME', + BACKPACK_SPRITE: 'BACKPACK_SPRITE', + BACKPACK_CODE: 'BACKPACK_CODE' }; diff --git a/src/lib/hash-parser-hoc.jsx b/src/lib/hash-parser-hoc.jsx index 04250aa6e9f1297f662574d649469e3bb610c333..f3ac92542808f2e6e7ee1f9acbdf3978c3b4e7c8 100644 --- a/src/lib/hash-parser-hoc.jsx +++ b/src/lib/hash-parser-hoc.jsx @@ -24,9 +24,9 @@ const HashParserHOC = function (WrappedComponent) { window.removeEventListener('hashchange', this.handleHashChange); } handleHashChange () { - let projectId = window.location.hash.substring(1); + const hashMatch = window.location.hash.match(/#(\d+)/); + const projectId = hashMatch === null ? 0 : hashMatch[1]; if (projectId !== this.state.projectId) { - if (projectId.length < 1) projectId = 0; this.setState({projectId: projectId}); } } diff --git a/src/lib/libraries/backdrops.json b/src/lib/libraries/backdrops.json index ba11c44627444fe4eca8192fb870e7fea86d8224..014568cf446d5d3742cbabc12faddccacd943575 100644 --- a/src/lib/libraries/backdrops.json +++ b/src/lib/libraries/backdrops.json @@ -1,4 +1,36 @@ [ + { + "name": "Baseball", + "md5": "5d3a62635eacfbbe264fbba043207afe.svg", + "type": "backdrop", + "tags": [ + "baseball", + "sports", + "outdoors", + "alex eben meyer" + ], + "info": [ + 480, + 360, + 1 + ] + }, + { + "name": "Baseball 2", + "md5": "069f8901194ff75609689b4a0de10b4e.svg", + "type": "backdrop", + "tags": [ + "baseball", + "sports", + "outdoors", + "alex eben meyer" + ], + "info": [ + 480, + 360, + 1 + ] + }, { "name": "Basketball", "md5": "e494c4f44897d94e0541f7036a302449.svg", @@ -174,7 +206,7 @@ }, { "name": "Hearts1", - "md5": "4bfd6a761ff985e342acbf2e07f63526.svg", + "md5": "26d3418b2fbc1af2c5fea82e1c3df1db.svg", "type": "backdrop", "tags": [ "patterns" @@ -187,7 +219,7 @@ }, { "name": "Hearts2", - "md5": "b6602e32d55ed75eaea1b646f61b6c17.svg", + "md5": "83745a26bbe0801312dfb553b422bf69.svg", "type": "backdrop", "tags": [ "patterns" @@ -214,8 +246,8 @@ ] }, { - "name": "Jurassic ", - "md5": "73fd0531a1aaca5dff2d1c67202ff5bd.svg", + "name": "Jurassic", + "md5": "ad5bd6c10d2afb79d298817ec24a47fd.svg", "type": "backdrop", "tags": [ "outdoors", @@ -519,7 +551,7 @@ ] }, { - "name": "Theatre", + "name": "Theater", "md5": "c2b097bc5cdb6a14ef5485202bc5ee76.png", "type": "backdrop", "tags": [ @@ -563,5 +595,24 @@ 360, 1 ] + }, + { + "name": "Woods", + "md5": "3f3005b76e278b66dbeb9a982d68c555.svg", + "type": "backdrop", + "tags": [ + "fantasy", + "spooky", + "halloween", + "outdoors", + "haunted", + "forest", + "alex eben meyer" + ], + "info": [ + 480, + 360, + 1 + ] } ] \ No newline at end of file diff --git a/src/lib/libraries/costumes.json b/src/lib/libraries/costumes.json index abc519db869dc3c94a306e253c1e7a83998b5fe7..37dcce45636c93023d50222481a9870e2c076f2f 100644 --- a/src/lib/libraries/costumes.json +++ b/src/lib/libraries/costumes.json @@ -432,17 +432,17 @@ }, { "name": "Baseball", - "md5": "6e13ef53885d2cfca9a54cc5c3f6c20f.svg", + "md5": "ae05a2a1fc22ce5929b8a67f695bfc9c.svg", "type": "costume", "tags": [ + "baseball", "sports", - "round", - "summer", - "things" + "ball", + "alex eben meyer" ], "info": [ - 34, - 31, + 28, + 28, 1 ] }, @@ -462,70 +462,138 @@ ] }, { - "name": "Bat1-a", - "md5": "7ad915f8e0884f497a24d5bb61ea8a4a.svg", + "name": "Bat-a", + "md5": "a68f7a0b2af7514c729bb083d04dbbde.svg", "type": "costume", "tags": [ + "fantasy", + "spooky", + "halloween", + "bat", "animals", - "flying", - "holiday", - "nature", - "castle" + "alex eben meyer" ], "info": [ - 75, - 75, + 51, + 47, 1 ] }, { - "name": "Bat1-b", - "md5": "f127434672b872a902346ef3c1af45f2.svg", + "name": "Bat-b", + "md5": "4ea5bb61370e189d2eba763312680201.svg", "type": "costume", "tags": [ + "fantasy", + "spooky", + "halloween", + "bat", "animals", - "flying", - "holiday", - "nature", - "castle" + "alex eben meyer" ], "info": [ - 75, - 75, + 51, + 47, 1 ] }, { - "name": "Bat2-a", - "md5": "647d4bd53163f94a7dabf623ccab7fd3.svg", + "name": "Bat-c", + "md5": "9ed4deead22db511202f38abadf508c4.svg", "type": "costume", "tags": [ + "fantasy", + "spooky", + "halloween", + "bat", "animals", - "flying", - "holiday", - "nature", - "castle" + "alex eben meyer" ], "info": [ - 75, - 75, + 51, + 47, 1 ] }, { - "name": "Bat2-b", - "md5": "8aa1d20e4f7761becbe9bafa75290465.svg", + "name": "Bat-d", + "md5": "293a7b03badd2f3b49e50acfb9c242ec.svg", "type": "costume", "tags": [ + "fantasy", + "spooky", + "halloween", + "bat", "animals", - "flying", - "holiday", - "nature", - "castle" + "alex eben meyer" ], "info": [ - 75, - 75, + 51, + 47, + 1 + ] + }, + { + "name": "Batter-a", + "md5": "cc7510ea0a0e2f6eaf232f8ca73e3b53.svg", + "type": "costume", + "tags": [ + "baseball", + "sports", + "people", + "alex eben meyer" + ], + "info": [ + 44, + 71, + 1 + ] + }, + { + "name": "Batter-b", + "md5": "7e7f9ce18fd84e0e95a96ad30fb58c8c.svg", + "type": "costume", + "tags": [ + "baseball", + "sports", + "people", + "alex eben meyer" + ], + "info": [ + 14, + 58, + 1 + ] + }, + { + "name": "Batter-c", + "md5": "05cc730290919069b8d08447214c7293.svg", + "type": "costume", + "tags": [ + "baseball", + "sports", + "people", + "alex eben meyer" + ], + "info": [ + 92, + 57, + 1 + ] + }, + { + "name": "Batter-d", + "md5": "24c32bf9bf066e36e49beb03ccd3db8f.svg", + "type": "costume", + "tags": [ + "baseball", + "sports", + "people", + "alex eben meyer" + ], + "info": [ + 64, + 95, 1 ] }, @@ -1446,20 +1514,81 @@ }, { "name": "Cat2", - "md5": "3696356a03a8d938318876a593572843.svg", + "md5": "01ae57fd339529445cb890978ef8a054.svg", "type": "costume", "tags": [ - "animals", - "cat", - "kitten", "kitty", - "mammal", - "orange", - "scratch cat" + "kitten", + "animals", + "mammal" ], "info": [ - 47, - 55, + 87, + 39, + 1 + ] + }, + { + "name": "Catcher-a", + "md5": "6700cf1d4d653283161d2bad20f74d39.svg", + "type": "costume", + "tags": [ + "baseball", + "sports", + "people", + "alex eben meyer" + ], + "info": [ + 34, + 33, + 1 + ] + }, + { + "name": "Catcher-b", + "md5": "d59c293e6fb4e15aa6bcfca5b1d0f2a6.svg", + "type": "costume", + "tags": [ + "baseball", + "sports", + "people", + "alex eben meyer" + ], + "info": [ + 34, + 29, + 1 + ] + }, + { + "name": "Catcher-c", + "md5": "55a2b54e5e414c9e2a17caf73ad06b87.svg", + "type": "costume", + "tags": [ + "baseball", + "sports", + "people", + "alex eben meyer" + ], + "info": [ + 53, + 69, + 1 + ] + }, + { + "name": "Catcher-d", + "md5": "d8943c5c2700e49f26f77826b9a3c238.svg", + "type": "costume", + "tags": [ + "baseball", + "sports", + "people", + "alex eben meyer" + ], + "info": [ + 79, + 28, 1 ] }, @@ -3117,6 +3246,78 @@ 1 ] }, + { + "name": "Frank-a", + "md5": "19a09a005d7199d2e681e53a761bfe11.svg", + "type": "costume", + "tags": [ + "fantasy", + "spooky", + "halloween", + "frankenstein", + "monster", + "alex eben meyer" + ], + "info": [ + 154, + 107, + 1 + ] + }, + { + "name": "Frank-b", + "md5": "a03102442ee197a39083fba24e852792.svg", + "type": "costume", + "tags": [ + "fantasy", + "spooky", + "halloween", + "frankenstein", + "monster", + "alex eben meyer" + ], + "info": [ + 154, + 107, + 1 + ] + }, + { + "name": "Frank-c", + "md5": "b456d8dc4b7895d61c90dbc909d8a4c6.svg", + "type": "costume", + "tags": [ + "fantasy", + "spooky", + "halloween", + "frankenstein", + "monster", + "alex eben meyer" + ], + "info": [ + 154, + 107, + 1 + ] + }, + { + "name": "Frank-d", + "md5": "8743c01814fed4190a582ba1520e8f6a.svg", + "type": "costume", + "tags": [ + "fantasy", + "spooky", + "halloween", + "frankenstein", + "monster", + "alex eben meyer" + ], + "info": [ + 154, + 107, + 1 + ] + }, { "name": "Frog", "md5": "285483a688eed2ff8010c65112f99c41.svg", @@ -3150,50 +3351,74 @@ ] }, { - "name": "Ghost1 ", - "md5": "c88579c578f2d171de78612f2ff9c9d9.svg", + "name": "Ghost-a", + "md5": "23c317a22dec95421f2532090cc8de48.svg", "type": "costume", "tags": [ "fantasy", - "castle", - "spirit", - "spooky" + "spooky", + "halloween", + "ghoul", + "monster", + "alex eben meyer" ], "info": [ - 60, - 63, + 98, + 73, 1 ] }, { - "name": "Ghost2-a", - "md5": "607be245da950af1a4e4d79acfda46e3.svg", + "name": "Ghost-b", + "md5": "e86a742d091370950f3353e1e430cdb2.svg", "type": "costume", "tags": [ "fantasy", "spooky", - "spirit", - "castle" + "halloween", + "ghoul", + "monster", + "alex eben meyer" ], "info": [ - 75, - 75, + 98, + 73, 1 ] }, { - "name": "Ghost2-b", - "md5": "b9e2ebbe17c617ac182abd8bc1627693.svg", + "name": "Ghost-c", + "md5": "24a8b71b780bc665c3e6d37c11221137.svg", "type": "costume", "tags": [ "fantasy", "spooky", - "spirit", - "castle" + "halloween", + "ghoul", + "monster", + "alex eben meyer" ], "info": [ - 75, - 75, + 98, + 73, + 1 + ] + }, + { + "name": "Ghost-d", + "md5": "221b794cad3d045008299e3c8440170c.svg", + "type": "costume", + "tags": [ + "fantasy", + "spooky", + "halloween", + "ghoul", + "monster", + "alex eben meyer" + ], + "info": [ + 98, + 73, 1 ] }, @@ -5281,6 +5506,70 @@ 1 ] }, + { + "name": "Outfielder-a", + "md5": "fab7218666ba49eae992664acab53159.svg", + "type": "costume", + "tags": [ + "baseball", + "sports", + "people", + "alex eben meyer" + ], + "info": [ + 38, + 61, + 1 + ] + }, + { + "name": "Outfielder-b", + "md5": "a86813067f26947adb68897b870b1b7e.svg", + "type": "costume", + "tags": [ + "baseball", + "sports", + "people", + "alex eben meyer" + ], + "info": [ + 38, + 57, + 1 + ] + }, + { + "name": "Outfielder-c", + "md5": "f6f1d2b7c6b50cbdac8cdbb55c872114.svg", + "type": "costume", + "tags": [ + "baseball", + "sports", + "people", + "alex eben meyer" + ], + "info": [ + 46, + 80, + 1 + ] + }, + { + "name": "Outfielder-d", + "md5": "c6fb3a8079bce9630ab9499926c16de9.svg", + "type": "costume", + "tags": [ + "baseball", + "sports", + "people", + "alex eben meyer" + ], + "info": [ + 79, + 96, + 1 + ] + }, { "name": "Owl-a", "md5": "a312273b198fcacf68976e3cc74fadb4.svg", @@ -5628,6 +5917,70 @@ 1 ] }, + { + "name": "Pitcher-a", + "md5": "a8694f8f7867d95c62121e60cb8b4812.svg", + "type": "costume", + "tags": [ + "baseball", + "sports", + "people", + "alex eben meyer" + ], + "info": [ + 42, + 63, + 1 + ] + }, + { + "name": "Pitcher-b", + "md5": "13f363056c706870ede82798e6a8bcf6.svg", + "type": "costume", + "tags": [ + "baseball", + "sports", + "people", + "alex eben meyer" + ], + "info": [ + 70, + 86, + 1 + ] + }, + { + "name": "Pitcher-c", + "md5": "6e26bd644ecd8d1f1606261d1b8f6a75.svg", + "type": "costume", + "tags": [ + "baseball", + "sports", + "people", + "alex eben meyer" + ], + "info": [ + 62, + 87, + 1 + ] + }, + { + "name": "Pitcher-d", + "md5": "120d823290171ad83b6b328a5ffaf60e.svg", + "type": "costume", + "tags": [ + "baseball", + "sports", + "people", + "alex eben meyer" + ], + "info": [ + 82, + 46, + 1 + ] + }, { "name": "Planet2", "md5": "978784738c1d9dd4b1d397fd18bdf406.svg", @@ -6229,7 +6582,7 @@ }, { "name": "Scarf1", - "md5": "9db18d2a2b3c9859654fc1b4832e6076.svg", + "md5": "0c03668b4e26eba969ad803a4e810c78.svg", "type": "costume", "tags": [ "fashion", @@ -6237,7 +6590,7 @@ ], "info": [ 54, - 36, + 23, 1 ] }, @@ -6288,7 +6641,45 @@ ] }, { - "name": "Shark-c", + "name": "Shark2-a", + "md5": "7c0a907eae79462f69f8e2af8e7df828.svg", + "type": "costume", + "tags": [ + "animals", + "ocean", + "sea", + "fish", + "teeth", + "carnivore", + "chomp" + ], + "info": [ + 75, + 75, + 1 + ] + }, + { + "name": "Shark2-b", + "md5": "cff9ae87a93294693a0650b38a7a33d2.svg", + "type": "costume", + "tags": [ + "animals", + "ocean", + "sea", + "fish", + "teeth", + "carnivore", + "chomp" + ], + "info": [ + 75, + 75, + 1 + ] + }, + { + "name": "Shark2-c", "md5": "afeae3f998598424f7c50918507f6ce6.svg", "type": "costume", "tags": [ @@ -6439,7 +6830,8 @@ "type": "costume", "tags": [ "fashion", - "winter" + "winter", + "sports" ], "info": [ 44, @@ -6447,6 +6839,96 @@ 1 ] }, + { + "name": "Skeleton-a", + "md5": "b6ddeecf18e40b99bde7e466759d5a5b.svg", + "type": "costume", + "tags": [ + "fantasy", + "spooky", + "halloween", + "bones", + "monster", + "alex eben meyer" + ], + "info": [ + 75, + 90, + 1 + ] + }, + { + "name": "Skeleton-b", + "md5": "ba3f455026f5d7778af229ddddf83206.svg", + "type": "costume", + "tags": [ + "fantasy", + "spooky", + "halloween", + "bones", + "monster", + "alex eben meyer" + ], + "info": [ + 75, + 90, + 1 + ] + }, + { + "name": "Skeleton-c", + "md5": "af8fb44231f7891d52db5b4ad5c0f58b.svg", + "type": "costume", + "tags": [ + "fantasy", + "spooky", + "halloween", + "bones", + "monster", + "alex eben meyer" + ], + "info": [ + 75, + 90, + 1 + ] + }, + { + "name": "Skeleton-d", + "md5": "355eb1591be72ea1117b6a4e153010b1.svg", + "type": "costume", + "tags": [ + "fantasy", + "spooky", + "halloween", + "bones", + "monster", + "alex eben meyer" + ], + "info": [ + 75, + 90, + 1 + ] + }, + { + "name": "Skeleton-e", + "md5": "d3497858a3b5ad938e41a34bb8103c77.svg", + "type": "costume", + "tags": [ + "fantasy", + "spooky", + "halloween", + "bones", + "monster", + "alex eben meyer" + ], + "info": [ + 75, + 90, + 1 + ] + }, { "name": "Snake-a", "md5": "4d06e12d90479461303d828f0970f2d4.svg", @@ -6625,15 +7107,15 @@ }, { "name": "Star", - "md5": "ab0914e53e360477275e58b83ec4d423.svg", + "md5": "e929c1274c379b6b6fed12e6dec63368.svg", "type": "costume", "tags": [ "shapes", "space" ], "info": [ - 21, - 19, + 22, + 23, 1 ] }, diff --git a/src/lib/libraries/decks/animate/animate-name-pick-a-letter.gif b/src/lib/libraries/decks/animate/animate-name-pick-a-letter.gif new file mode 100644 index 0000000000000000000000000000000000000000..72d49c5fadfaa632595aee4060a0cd26b0d0b256 Binary files /dev/null and b/src/lib/libraries/decks/animate/animate-name-pick-a-letter.gif differ diff --git a/src/lib/libraries/decks/animate/animate-name-pick-a-letter2.gif b/src/lib/libraries/decks/animate/animate-name-pick-a-letter2.gif new file mode 100755 index 0000000000000000000000000000000000000000..3c74fec7cdaf181e2f7595f5b6c889bbb7285e65 Binary files /dev/null and b/src/lib/libraries/decks/animate/animate-name-pick-a-letter2.gif differ diff --git a/src/lib/libraries/decks/animate/animate-name-play-sound.gif b/src/lib/libraries/decks/animate/animate-name-play-sound.gif new file mode 100755 index 0000000000000000000000000000000000000000..917b7215f74b47c0d4780c63586fe7d5f188f1c6 Binary files /dev/null and b/src/lib/libraries/decks/animate/animate-name-play-sound.gif differ diff --git a/src/lib/libraries/decks/animate/cover-color-click.gif b/src/lib/libraries/decks/animate/cover-color-click.gif deleted file mode 100644 index dea554615196c8b3a1620d2fb0fdc1e82a4e3c9c..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/animate/cover-color-click.gif and /dev/null differ diff --git a/src/lib/libraries/decks/animate/lib_animate-a-name.jpg b/src/lib/libraries/decks/animate/lib_animate-a-name.jpg new file mode 100644 index 0000000000000000000000000000000000000000..139f3f98662f6404daa77d45c162779e2f6a5fad Binary files /dev/null and b/src/lib/libraries/decks/animate/lib_animate-a-name.jpg differ diff --git a/src/lib/libraries/decks/chase-game/chase-game-1.gif b/src/lib/libraries/decks/chase-game/chase-game-add-backdrop.gif similarity index 100% rename from src/lib/libraries/decks/chase-game/chase-game-1.gif rename to src/lib/libraries/decks/chase-game/chase-game-add-backdrop.gif diff --git a/src/lib/libraries/decks/chase-game/chase-game-2.gif b/src/lib/libraries/decks/chase-game/chase-game-add-sprite1.gif similarity index 100% rename from src/lib/libraries/decks/chase-game/chase-game-2.gif rename to src/lib/libraries/decks/chase-game/chase-game-add-sprite1.gif diff --git a/src/lib/libraries/decks/chase-game/chase-game-5.gif b/src/lib/libraries/decks/chase-game/chase-game-add-sprite2.gif similarity index 100% rename from src/lib/libraries/decks/chase-game/chase-game-5.gif rename to src/lib/libraries/decks/chase-game/chase-game-add-sprite2.gif diff --git a/src/lib/libraries/decks/chase-game/chase-game-add-variable.gif b/src/lib/libraries/decks/chase-game/chase-game-add-variable.gif new file mode 100755 index 0000000000000000000000000000000000000000..082716f10be648109ca48423aac05f7dbf5a5942 Binary files /dev/null and b/src/lib/libraries/decks/chase-game/chase-game-add-variable.gif differ diff --git a/src/lib/libraries/decks/chase-game/chase-game-change-score.gif b/src/lib/libraries/decks/chase-game/chase-game-change-score.gif new file mode 100755 index 0000000000000000000000000000000000000000..1fe4aee573cf193814562fdc4768a7dd6747019d Binary files /dev/null and b/src/lib/libraries/decks/chase-game/chase-game-change-score.gif differ diff --git a/src/lib/libraries/decks/chase-game/chase-game-6.gif b/src/lib/libraries/decks/chase-game/chase-game-move-randomly.gif similarity index 100% rename from src/lib/libraries/decks/chase-game/chase-game-6.gif rename to src/lib/libraries/decks/chase-game/chase-game-move-randomly.gif diff --git a/src/lib/libraries/decks/chase-game/chase-game-3.gif b/src/lib/libraries/decks/chase-game/chase-game-move-rightleft.gif similarity index 100% rename from src/lib/libraries/decks/chase-game/chase-game-3.gif rename to src/lib/libraries/decks/chase-game/chase-game-move-rightleft.gif diff --git a/src/lib/libraries/decks/chase-game/chase-game-4.gif b/src/lib/libraries/decks/chase-game/chase-game-move-updown.gif similarity index 100% rename from src/lib/libraries/decks/chase-game/chase-game-4.gif rename to src/lib/libraries/decks/chase-game/chase-game-move-updown.gif diff --git a/src/lib/libraries/decks/chase-game/chase-game-8.gif b/src/lib/libraries/decks/chase-game/chase-game-touching-score.gif similarity index 100% rename from src/lib/libraries/decks/chase-game/chase-game-8.gif rename to src/lib/libraries/decks/chase-game/chase-game-touching-score.gif diff --git a/src/lib/libraries/decks/chase-game/chase-game-7.gif b/src/lib/libraries/decks/chase-game/chase-game-touching.gif similarity index 100% rename from src/lib/libraries/decks/chase-game/chase-game-7.gif rename to src/lib/libraries/decks/chase-game/chase-game-touching.gif diff --git a/src/lib/libraries/decks/chase-game/lib-chasegame.jpg b/src/lib/libraries/decks/chase-game/lib-chasegame.jpg index 4e504436be6526a4930766cdddce3f3dced50f24..ec9861467d7d1ab4c1b6a3c8ce26275a47299fa4 100644 Binary files a/src/lib/libraries/decks/chase-game/lib-chasegame.jpg and b/src/lib/libraries/decks/chase-game/lib-chasegame.jpg differ diff --git a/src/lib/libraries/decks/clicker/add-sound.gif b/src/lib/libraries/decks/clicker/add-sound.gif deleted file mode 100644 index 16408bed591f8359bbe2139a9d6fffd7a56a6fa5..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/clicker/add-sound.gif and /dev/null differ diff --git a/src/lib/libraries/decks/clicker/add-whenclicked.gif b/src/lib/libraries/decks/clicker/add-whenclicked.gif deleted file mode 100644 index a03b3d14e4b34f6bf1ba52ce8112b6a85019b7b0..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/clicker/add-whenclicked.gif and /dev/null differ diff --git a/src/lib/libraries/decks/clicker/click-events.gif b/src/lib/libraries/decks/clicker/click-events.gif deleted file mode 100644 index b387b01e31ba78e9b34d5dd8b4d2c46b407de35d..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/clicker/click-events.gif and /dev/null differ diff --git a/src/lib/libraries/decks/clicker/click-goto.gif b/src/lib/libraries/decks/clicker/click-goto.gif deleted file mode 100644 index 7be32f5c4f4d955f39538a1e254023fd1aece7c4..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/clicker/click-goto.gif and /dev/null differ diff --git a/src/lib/libraries/decks/clicker/click-sprite.gif b/src/lib/libraries/decks/clicker/click-sprite.gif deleted file mode 100644 index 955a39c9c78f74d961b9b5feb6825473856c247c..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/clicker/click-sprite.gif and /dev/null differ diff --git a/src/lib/libraries/decks/clicker/drag-goto.gif b/src/lib/libraries/decks/clicker/drag-goto.gif deleted file mode 100644 index 1e24802e939d0e53ff81b42f93f2c84b56b76d2a..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/clicker/drag-goto.gif and /dev/null differ diff --git a/src/lib/libraries/decks/clicker/library-clicker.gif b/src/lib/libraries/decks/clicker/library-clicker.gif deleted file mode 100644 index bc0e2d1934fb1dc91433982237e8088a04ce2f98..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/clicker/library-clicker.gif and /dev/null differ diff --git a/src/lib/libraries/decks/clicker/thumb-clicker.gif b/src/lib/libraries/decks/clicker/thumb-clicker.gif deleted file mode 100644 index ca46a4b7bce9e67cf86472bff54feacb33c06841..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/clicker/thumb-clicker.gif and /dev/null differ diff --git a/src/lib/libraries/decks/game/game-add-score.gif b/src/lib/libraries/decks/game/game-add-score.gif new file mode 100644 index 0000000000000000000000000000000000000000..082716f10be648109ca48423aac05f7dbf5a5942 Binary files /dev/null and b/src/lib/libraries/decks/game/game-add-score.gif differ diff --git a/src/lib/libraries/decks/game/game-change-score.gif b/src/lib/libraries/decks/game/game-change-score.gif new file mode 100755 index 0000000000000000000000000000000000000000..b3b1b10042afd531e60df27f68d55ebdae027c38 Binary files /dev/null and b/src/lib/libraries/decks/game/game-change-score.gif differ diff --git a/src/lib/libraries/decks/game/game-pick-sprite.gif b/src/lib/libraries/decks/game/game-pick-sprite.gif new file mode 100755 index 0000000000000000000000000000000000000000..b1e96b2dc0003c7233a03b912d4263c361b2e1ca Binary files /dev/null and b/src/lib/libraries/decks/game/game-pick-sprite.gif differ diff --git a/src/lib/libraries/decks/game/game-play-sound.gif b/src/lib/libraries/decks/game/game-play-sound.gif new file mode 100755 index 0000000000000000000000000000000000000000..52376b591b4e91c13e215bd569ee538ee8ca967b Binary files /dev/null and b/src/lib/libraries/decks/game/game-play-sound.gif differ diff --git a/src/lib/libraries/decks/game/game-reset-score.gif b/src/lib/libraries/decks/game/game-reset-score.gif old mode 100755 new mode 100644 index ba02238ade8164c721d1a1d6daf66d1bb2cb87fe..21e5b1b758ed6bd532d46df3df16e28a80b00958 Binary files a/src/lib/libraries/decks/game/game-reset-score.gif and b/src/lib/libraries/decks/game/game-reset-score.gif differ diff --git a/src/lib/libraries/decks/game/lib-pop.jpg b/src/lib/libraries/decks/game/lib-pop.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4392196fe46382e077e323c082f1c4762cd8c4d3 Binary files /dev/null and b/src/lib/libraries/decks/game/lib-pop.jpg differ diff --git a/src/lib/libraries/decks/game/popping-library.gif b/src/lib/libraries/decks/game/popping-library.gif deleted file mode 100644 index 543c349aad5ec628db6724802215afa5579ca107..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/game/popping-library.gif and /dev/null differ diff --git a/src/lib/libraries/decks/index.jsx b/src/lib/libraries/decks/index.jsx index a2adc7e9000f4e16e30e54a838b688bb458af0cd..941ec9c8ff144eca61ade3749e8062d5d7faa7df 100644 --- a/src/lib/libraries/decks/index.jsx +++ b/src/lib/libraries/decks/index.jsx @@ -2,51 +2,55 @@ import React from 'react'; import {FormattedMessage} from 'react-intl'; // Intro -import libraryIntro from './intro/lib-getting-started.gif'; -import stepMove from './intro/IntroSayHello.gif'; -import stepMoveSayHello from './intro/IntroSayHello-hat.gif'; - -// Say hello -import librarySay from './say/cover-say-hello.gif'; -import stepSayHello from './say/intro-say-hello.gif'; +import libraryIntro from './intro/lib-getting-started.jpg'; +import stepMove from './intro/intro1.gif'; +import stepMoveSayHello from './intro/intro2.gif'; // Add sprite import libraryAddSprite from './sprite/cover-add-sprite.jpg'; import stepAddSprite from './sprite/intro-choose-sprite.gif'; // Animate a name -import libraryAnimate from './animate/cover-color-click.gif'; +import libraryAnimate from './animate/lib_animate-a-name.jpg'; +import stepAnimatePickLetter from './animate/animate-name-pick-a-letter.gif'; +import stepAnimatePlaySound from './animate/animate-name-play-sound.gif'; +import stepAnimatePickLetter2 from './animate/animate-name-pick-a-letter2.gif'; import stepAnimateChangeColor from './animate/animate-name-change-color.gif'; -import stepAnimateGrow from './animate/animate-name-grow.gif'; import stepAnimateSpin from './animate/animate-name-spin.gif'; +import stepAnimateGrow from './animate/animate-name-grow.gif'; + // Make-Music -import libraryMakeMusic from './make-music/cover-mic.jpg'; +import libraryMakeMusic from './make-music/lib-make-music.jpg'; +import stepPickInstrument from './make-music/make-music-pick-instrument.gif'; +import stepPlaySoundClick from './make-music/make-music-play-sound.gif'; import stepMakeSong from './make-music/make-music-make-song.gif'; import stepMakeBeat from './make-music/make-music-make-beat.gif'; import stepMakeBeatbox from './make-music/make-music-beatbox.gif'; // Chase-Game import libraryChaseGame from './chase-game/lib-chasegame.jpg'; -import stepBG from './chase-game/chase-game-1.gif'; -import stepAddOcto from './chase-game/chase-game-2.gif'; -import stepLeftRight from './chase-game/chase-game-3.gif'; -import stepUpDown from './chase-game/chase-game-4.gif'; -import stepAddStar from './chase-game/chase-game-5.gif'; -import stepMoveRandom from './chase-game/chase-game-6.gif'; -import stepWhenTouch from './chase-game/chase-game-7.gif'; -import stepScore from './chase-game/chase-game-8.gif'; +import stepBG from './chase-game/chase-game-add-backdrop.gif'; +import stepAddOcto from './chase-game/chase-game-add-sprite1.gif'; +import stepLeftRight from './chase-game/chase-game-move-rightleft.gif'; +import stepUpDown from './chase-game/chase-game-move-updown.gif'; +import stepAddStar from './chase-game/chase-game-add-sprite2.gif'; +import stepMoveRandom from './chase-game/chase-game-move-randomly.gif'; +import stepWhenTouch from './chase-game/chase-game-touching.gif'; +import stepScoreVariable from './chase-game/chase-game-add-variable.gif'; +import stepScoreWhenTouch from './chase-game/chase-game-change-score.gif'; // Make-A-Game -import libraryMakeAGame from './game/popping-library.gif'; +import libraryMakeAGame from './game/lib-pop.jpg'; import stepRandom from './game/game-random-position.gif'; import stepGameChangeColor from './game/game-change-color.gif'; import stepResetScore from './game/game-reset-score.gif'; // Videos +import recordASound from './videos/record-a-sound.jpg'; import glideAroundThumb from './videos/glide-around.jpg'; import changeSizeThumb from './videos/change-size.jpg'; -import switchCostumeThumb from './videos/switch-costume.jpg'; +import switchCostumeThumb from './videos/animate-sprite.jpg'; import hideAndShowThumb from './videos/hide-and-show.jpg'; import addBackdropThumb from './videos/add-backdrop.jpg'; import addEffectsThumb from './videos/add-effects.jpg'; @@ -63,69 +67,37 @@ export default { id="gui.howtos.intro-move-sayhello-hat.name" /> ), - img: libraryIntro, - steps: [ - { - title: ( - <FormattedMessage - defaultMessage="Add a Move Block and a Say Block" - description="Step name for 'Add a Move Block' step" - id="gui.howtos.intro-move.step_stepMove" - /> - ), - image: stepMove - }, { - title: ( - <FormattedMessage - defaultMessage="Add Green Flag Block, then click the flag" - description="Step name for 'Add A Say Block' step" - id="gui.howtos.add-a-move-block.step_stepMoveSayHello" - /> - ), - image: stepMoveSayHello - }, { - - deckIds: [ - 'add-sprite', - 'animate-a-name', - 'Make-A-Game' - ] - } - ] - }, - - - 'add-sprite': { - name: ( - <FormattedMessage - defaultMessage="Add a Sprite" - description="Name for the 'Add a Sprite' how-to" - id="gui.howtos.add-sprite.name" - /> - ), - img: libraryAddSprite, - steps: [ - { - title: ( - <FormattedMessage - defaultMessage="Add a Sprite" - description="Step name for 'Add a new sprite' step" - id="gui.howtos.add-sprite.step_addSprite" - /> - ), - image: stepAddSprite - }, - { - deckIds: [ - 'add-a-backdrop', - 'switch-costume', - 'change-size' - ] - } + img: libraryIntro, + steps: [{ + video: 'https://www.youtube.com/embed/4CexmCCREZw' + }, { + title: ( + <FormattedMessage + defaultMessage="Add a move block" + description="Step name for 'Add a move block' step" + id="gui.howtos.intro-move.step_stepMove" + /> + ), + image: stepMove + }, { + title: ( + <FormattedMessage + defaultMessage="Click the green flag to start" + description="Step name for 'Add A Say Block' step" + id="gui.howtos.add-a-move-block.step_stepMoveSayHello" + /> + ), + image: stepMoveSayHello + }, { + deckIds: [ + 'add-a-backdrop', + 'add-sprite', + 'glide-around' + ] + } ] }, - 'animate-a-name': { name: ( <FormattedMessage @@ -137,8 +109,34 @@ export default { img: libraryAnimate, steps: [{ video: 'https://www.youtube.com/embed/q3nnXj6wr5k' - }, - { + }, { + title: ( + <FormattedMessage + defaultMessage="Pick a Letter Sprite" + description="Step name for 'Pick a Letter Sprite' step" + id="gui.howtos.animate-a-name.step_AnimatePickLetter" + /> + ), + image: stepAnimatePickLetter + }, { + title: ( + <FormattedMessage + defaultMessage="Play a Sound When Clicked" + description="Step name for 'Play a Sound When Clicked' step" + id="gui.howtos.animate-a-name.step_AnimatePlaySound" + /> + ), + image: stepAnimatePlaySound + }, { + title: ( + <FormattedMessage + defaultMessage="Pick Another Letter Sprite" + description="Step name for 'Pick Another Letter Sprite" + id="gui.howtos.animate-a-name.step_AnimatePickLetter2" + /> + ), + image: stepAnimatePickLetter2 + }, { title: ( <FormattedMessage defaultMessage="Change color" @@ -150,8 +148,8 @@ export default { }, { title: ( <FormattedMessage - defaultMessage="Choose a Letter & Make it Spin" - description="Step name for 'Choose a Letter & Make it Spin' step" + defaultMessage="Pick Another Letter Sprite & Make It Spin" + description="Step name for 'Pick Another Letter Sprite & Make It Spin' step" id="gui.howtos.animate-a-name.step_AnimateSpin" /> ), @@ -159,8 +157,8 @@ export default { }, { title: ( <FormattedMessage - defaultMessage="Choose a Letter & Make It Grow" - description="Step name for 'Choose a Letter & Make it Grow' step" + defaultMessage="Pick Another Letter Sprite & Make It Grow" + description="Step name for 'Pick Another Letter Sprite & Make It Grow!' step" id="gui.howtos.animate-a-name.step_AnimateGrow" /> ), @@ -168,8 +166,8 @@ export default { }, { deckIds: [ 'add-a-backdrop', - 'switch-costume', - 'change-size' + 'glide-around', + 'hide-and-show' ] } ] @@ -186,12 +184,32 @@ export default { steps: [{ video: 'https://www.youtube.com/embed/o3ih7d_4uv0' }, + { + title: ( + <FormattedMessage + defaultMessage="Pick an Instrument Sprite " + description="Step name for 'Pick an Instrument Sprite' step" + id="gui.howtos.Make-Music.step_PickInstrument" + /> + ), + image: stepPickInstrument + }, + { + title: ( + <FormattedMessage + defaultMessage="Play Sound When Clicked" + description="Step name for 'Play Sound When Clicked' step" + id="gui.howtos.Make-Music.step_PlaySoundClick" + /> + ), + image: stepPlaySoundClick + }, { title: ( <FormattedMessage defaultMessage="Create a Song" description="Step name for 'Create a Song' step" - id="gui.howtos.Make-Music.step_CreateASong" + id="gui.howtos.Make-Music.step_MakeSong" /> ), image: stepMakeSong @@ -216,12 +234,61 @@ export default { }, { deckIds: [ 'add-a-backdrop', - 'switch-costume', - 'change-size' + 'add-sprite', + 'switch-costume' + ] + } + ] + }, + 'Make-A-Game': { + name: ( + <FormattedMessage + defaultMessage="Make a Clicker Game" + description="Name for the 'Make a Clicker Game' how-to" + id="gui.howtos.make-a-game.name" + /> + ), + img: libraryMakeAGame, + steps: [{ + video: 'https://www.youtube.com/embed/XIz32K91vAk' + }, + { + title: ( + <FormattedMessage + defaultMessage="Go to a random position" + description="Step name for 'Go to a random position' step" + id="gui.howtos.Make-A-Game.step_RandomPosition" + /> + ), + image: stepRandom + }, { + title: ( + <FormattedMessage + defaultMessage="Change Color" + description="Step name for 'Change Color' step" + id="gui.howtos.make-a-game.step_ChangeColor" + /> + ), + image: stepGameChangeColor + }, { + title: ( + <FormattedMessage + defaultMessage="Reset Score" + description="Step name for 'Reset Score' step" + id="gui.howtos.make-music.step_ResetScore" + /> + ), + image: stepResetScore + }, { + deckIds: [ + 'add-a-backdrop', + 'add-effects', + 'move-around-with-arrow-keys' ] } ] }, + 'Chase-Game': { name: ( <FormattedMessage @@ -300,61 +367,21 @@ export default { }, { title: ( <FormattedMessage - defaultMessage="In Octopus Sprite, When Touching Add Score" - description="Step name for 'In Octopus Sprite, When Touching Add Score step" - id="gui.howtos.Chase-Game.step_Score" + defaultMessage="Create Score Variable" + description="Step name for 'Create Score Variable" + id="gui.howtos.Chase-Game.step_ScoreVariable" /> ), - image: stepScore - }, { - deckIds: [ - 'add-a-backdrop', - 'add-effects', - 'move-around-with-arrow-keys' - ] - } - ] - }, - - 'Make-A-Game': { - name: ( - <FormattedMessage - defaultMessage="Make a Clicker Game" - description="Name for the 'Make a Clicker Game' how-to" - id="gui.howtos.make-a-game.name" - /> - ), - img: libraryMakeAGame, - steps: [{ - video: 'https://www.youtube.com/embed/IPCaZ5kmFTA' - }, - { - title: ( - <FormattedMessage - defaultMessage="Go to a random position" - description="Step name for 'Go to a random position' step" - id="gui.howtos.Make-A-Game.step_RandomPosition" - /> - ), - image: stepRandom - }, { - title: ( - <FormattedMessage - defaultMessage="Change Color" - description="Step name for 'Change Color' step" - id="gui.howtos.make-a-game.step_ChangeColor" - /> - ), - image: stepGameChangeColor + image: stepScoreVariable }, { title: ( <FormattedMessage - defaultMessage="Reset Score" - description="Step name for 'Reset Score' step" - id="gui.howtos.make-music.step_ResetScore" + defaultMessage="In Octopus Sprite, When Touching Add Score" + description="Step name for 'In Octopus Sprite, When Touching Add Score step" + id="gui.howtos.Chase-Game.ScoreWhenTouch" /> ), - image: stepResetScore + image: stepScoreWhenTouch }, { deckIds: [ 'add-a-backdrop', @@ -364,26 +391,25 @@ export default { } ] }, - - 'say-hello': { + 'add-sprite': { name: ( <FormattedMessage - defaultMessage="Say hello" - description="Name for the 'Say hello' how-to" - id="gui.howtos.say-hello.name" + defaultMessage="Add a Sprite" + description="Name for the 'Add a Sprite' how-to" + id="gui.howtos.add-sprite.name" /> ), - img: librarySay, + img: libraryAddSprite, steps: [ { title: ( <FormattedMessage - defaultMessage="Say Hello" + defaultMessage="Add a Sprite" description="Step name for 'Add a new sprite' step" - id="gui.howtos.say-hello.step_addSprite" + id="gui.howtos.add-sprite.step_addSprite" /> ), - image: stepSayHello + image: stepAddSprite }, { deckIds: [ @@ -394,19 +420,17 @@ export default { } ] }, - - - 'glide-around': { + 'add-a-backdrop': { name: ( <FormattedMessage - defaultMessage="Glide around" - description="Name for the 'Glide around' how-to" - id="gui.howtos.glide-around.name" + defaultMessage="Add a Backdrop" + description="Name for the 'Add a Backdrop' how-to" + id="gui.howtos.add-a-backdrop.name" /> ), - img: glideAroundThumb, + img: addBackdropThumb, steps: [{ - video: 'https://www.youtube.com/embed/WUcmsMEIbGg' + video: 'https://www.youtube.com/embed/WpV05Q7AbPU' }, { deckIds: [ 'add-a-backdrop', @@ -418,8 +442,8 @@ export default { 'change-size': { name: ( <FormattedMessage - defaultMessage="Change size" - description="Name for the 'Change size' how-to" + defaultMessage="Change Size" + description="Name for the 'Change Size' how-to" id="gui.howtos.change-size.name" /> ), @@ -434,36 +458,51 @@ export default { ] }] }, - 'switch-costume': { + 'glide-around': { name: ( <FormattedMessage - defaultMessage="Switch costume" - description="Name for the 'Switch costume' how-to" - id="gui.howtos.switch-costume.name" + defaultMessage="Glide Around" + description="Name for the 'Glide Around' how-to" + id="gui.howtos.glide-around.name" /> ), - img: switchCostumeThumb, + img: glideAroundThumb, steps: [{ - video: 'https://www.youtube.com/embed/AUBoFxQDPWA' + video: 'https://www.youtube.com/embed/WUcmsMEIbGg' }, { deckIds: [ 'add-a-backdrop', - 'add-effects', + 'switch-costume', 'change-size' ] }] }, - 'hide-and-show': { + + 'record-a-sound': { name: ( <FormattedMessage - defaultMessage="Hide & Show" - description="Name for the 'Hide & Show' how-to" - id="gui.howtos.hide-and-show.name" + defaultMessage="Record a Sound" + description="Record A Sound' how-to" + id="gui.howtos.record-a-sound.name" /> ), - img: hideAndShowThumb, + img: recordASound, steps: [{ - video: 'https://www.youtube.com/embed/jpvqnlfsDTU' + video: 'https://www.youtube.com/embed/epZQpVdf884' + }, { + deckIds: [ + 'Make-Music', + 'switch-costume', + 'change-size' + ] + }] + + }, + 'spin-video': { + name: 'Make It Spin', + img: spinThumb, + steps: [{ + video: 'https://www.youtube.com/embed/rHP3aojB_6w' }, { deckIds: [ 'add-a-backdrop', @@ -472,17 +511,17 @@ export default { ] }] }, - 'add-a-backdrop': { + 'hide-and-show': { name: ( <FormattedMessage - defaultMessage="Add a backdrop" - description="Name for the 'Add a backdrop' how-to" - id="gui.howtos.add-a-backdrop.name" + defaultMessage="Hide and Show" + description="Name for the 'Hide and Show' how-to" + id="gui.howtos.hide-and-show.name" /> ), - img: addBackdropThumb, + img: hideAndShowThumb, steps: [{ - video: 'https://www.youtube.com/embed/WpV05Q7AbPU' + video: 'https://www.youtube.com/embed/jpvqnlfsDTU' }, { deckIds: [ 'add-a-backdrop', @@ -491,27 +530,29 @@ export default { ] }] }, - 'add-effects': { + + 'switch-costume': { name: ( <FormattedMessage - defaultMessage="Add effects" - description="Name for the 'Add effects' how-to" - id="gui.howtos.add-effects.name" + defaultMessage="Animate a Sprite" + description="Name for the 'Animate a Sprite' how-to" + id="gui.howtos.switch-costume.name" /> ), - img: addEffectsThumb, + img: switchCostumeThumb, steps: [{ - video: 'https://www.youtube.com/embed/ORuohhkx15g' + video: 'https://www.youtube.com/embed/AUBoFxQDPWA' }, { deckIds: [ 'add-a-backdrop', - 'switch-costume', + 'add-effects', 'change-size' ] }] }, + 'move-around-with-arrow-keys': { - name: 'Move With Arrow Keys', + name: 'Use Arrow Keys', img: moveArrowKeysThumb, steps: [{ video: 'https://www.youtube.com/embed/7DUA_Yl0B_M' @@ -523,11 +564,17 @@ export default { ] }] }, - 'spin-video': { - name: 'Spin!', - img: spinThumb, + 'add-effects': { + name: ( + <FormattedMessage + defaultMessage="Add Effects" + description="Name for the 'Add Effects' how-to" + id="gui.howtos.add-effects.name" + /> + ), + img: addEffectsThumb, steps: [{ - video: 'https://www.youtube.com/embed/rHP3aojB_6w' + video: 'https://www.youtube.com/embed/ORuohhkx15g' }, { deckIds: [ 'add-a-backdrop', diff --git a/src/lib/libraries/decks/intro/IntroSayHello-hat.gif b/src/lib/libraries/decks/intro/IntroSayHello-hat.gif deleted file mode 100644 index 8c9ef778c12fad82d6ca1ddfa0b5dad9891ee879..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/intro/IntroSayHello-hat.gif and /dev/null differ diff --git a/src/lib/libraries/decks/intro/IntroSayHello.gif b/src/lib/libraries/decks/intro/IntroSayHello.gif deleted file mode 100644 index 2b75d9a638645947b81c5cf67535ac717c515fb0..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/intro/IntroSayHello.gif and /dev/null differ diff --git a/src/lib/libraries/decks/intro/intro-coverimage.jpg b/src/lib/libraries/decks/intro/intro-coverimage.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b336ce81615702d97068e6ce846015f29aa7c316 Binary files /dev/null and b/src/lib/libraries/decks/intro/intro-coverimage.jpg differ diff --git a/src/lib/libraries/decks/intro/intro1.gif b/src/lib/libraries/decks/intro/intro1.gif new file mode 100644 index 0000000000000000000000000000000000000000..c607e3ba8458ed4916f7296631dddc1fe5101c1f Binary files /dev/null and b/src/lib/libraries/decks/intro/intro1.gif differ diff --git a/src/lib/libraries/decks/intro/intro2.gif b/src/lib/libraries/decks/intro/intro2.gif new file mode 100644 index 0000000000000000000000000000000000000000..09a149d6149d37be1bd93dcc84fb2b15ac464be1 Binary files /dev/null and b/src/lib/libraries/decks/intro/intro2.gif differ diff --git a/src/lib/libraries/decks/intro/lib-getting-started.gif b/src/lib/libraries/decks/intro/lib-getting-started.gif deleted file mode 100644 index 8f03f44c19c100f9831b0671806c709a952562e3..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/intro/lib-getting-started.gif and /dev/null differ diff --git a/src/lib/libraries/decks/intro/lib-getting-started.jpg b/src/lib/libraries/decks/intro/lib-getting-started.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fd081dbd36ffc5e098211d8dcc9d0ce9f71e9a32 Binary files /dev/null and b/src/lib/libraries/decks/intro/lib-getting-started.jpg differ diff --git a/src/lib/libraries/decks/make-music/cover-mic.gif b/src/lib/libraries/decks/make-music/cover-mic.gif deleted file mode 100644 index 62327063dd62ae58d6c34fba9e60ee0051806878..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/make-music/cover-mic.gif and /dev/null differ diff --git a/src/lib/libraries/decks/make-music/cover-mic.jpg b/src/lib/libraries/decks/make-music/cover-mic.jpg deleted file mode 100644 index a92b2f5695d46b8b817f9254a02b67867b319945..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/make-music/cover-mic.jpg and /dev/null differ diff --git a/src/lib/libraries/decks/make-music/lib-make-music.jpg b/src/lib/libraries/decks/make-music/lib-make-music.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7fbde54be655be317eb6812c96a04bf74cff10ad Binary files /dev/null and b/src/lib/libraries/decks/make-music/lib-make-music.jpg differ diff --git a/src/lib/libraries/decks/make-music/make-music-pick-instrument.gif b/src/lib/libraries/decks/make-music/make-music-pick-instrument.gif new file mode 100755 index 0000000000000000000000000000000000000000..5da1825269ace902d974b0f941e582ed63f5b49a Binary files /dev/null and b/src/lib/libraries/decks/make-music/make-music-pick-instrument.gif differ diff --git a/src/lib/libraries/decks/make-music/make-music-play-sound.gif b/src/lib/libraries/decks/make-music/make-music-play-sound.gif new file mode 100755 index 0000000000000000000000000000000000000000..3a8805c941091bef8fb2aee7bccd6bb8a8b15119 Binary files /dev/null and b/src/lib/libraries/decks/make-music/make-music-play-sound.gif differ diff --git a/src/lib/libraries/decks/say/cover-say-hello.gif b/src/lib/libraries/decks/say/cover-say-hello.gif deleted file mode 100644 index 0c5aee662ebc4393913f4f2266d038cd55584f8f..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/say/cover-say-hello.gif and /dev/null differ diff --git a/src/lib/libraries/decks/say/intro-say-hello.gif b/src/lib/libraries/decks/say/intro-say-hello.gif deleted file mode 100644 index 8062087eb8a17fa84486623e550b78d59754034c..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/say/intro-say-hello.gif and /dev/null differ diff --git a/src/lib/libraries/decks/story/add-say--zoomed.gif b/src/lib/libraries/decks/story/add-say--zoomed.gif deleted file mode 100644 index 2e8470164efa68433d84746e7c5592c1feaa5732..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/story/add-say--zoomed.gif and /dev/null differ diff --git a/src/lib/libraries/decks/story/add-say.gif b/src/lib/libraries/decks/story/add-say.gif deleted file mode 100644 index bdf5b7aa697a68936d92a1b8c246effc3512fde0..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/story/add-say.gif and /dev/null differ diff --git a/src/lib/libraries/decks/story/add-sprite--zoomed.gif b/src/lib/libraries/decks/story/add-sprite--zoomed.gif deleted file mode 100644 index 38d846634fc47e30320d69fe5c20f6d85259270b..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/story/add-sprite--zoomed.gif and /dev/null differ diff --git a/src/lib/libraries/decks/story/add-sprite.gif b/src/lib/libraries/decks/story/add-sprite.gif deleted file mode 100644 index ab2735208c992b29e265ab66bdedce13b49c0636..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/story/add-sprite.gif and /dev/null differ diff --git a/src/lib/libraries/decks/story/add-wait--zoomed.gif b/src/lib/libraries/decks/story/add-wait--zoomed.gif deleted file mode 100644 index b6c1a3562823d3522bbc7ade77cb2f227ed74f95..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/story/add-wait--zoomed.gif and /dev/null differ diff --git a/src/lib/libraries/decks/story/add-wait.gif b/src/lib/libraries/decks/story/add-wait.gif deleted file mode 100644 index ba5701c251d01e5fd94a5503c45e4a263ba3a452..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/story/add-wait.gif and /dev/null differ diff --git a/src/lib/libraries/decks/story/another-say--zoomed.gif b/src/lib/libraries/decks/story/another-say--zoomed.gif deleted file mode 100644 index 2cd8124409994fcc29de581e840393cdabcff9f2..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/story/another-say--zoomed.gif and /dev/null differ diff --git a/src/lib/libraries/decks/story/another-say.gif b/src/lib/libraries/decks/story/another-say.gif deleted file mode 100644 index 7a5e09b6c857d5e83ecf6f7829968031a804a79d..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/story/another-say.gif and /dev/null differ diff --git a/src/lib/libraries/decks/story/both-say.gif b/src/lib/libraries/decks/story/both-say.gif deleted file mode 100644 index 5cce6ad3c8c459303ea84e631709ae0a712b06cc..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/story/both-say.gif and /dev/null differ diff --git a/src/lib/libraries/decks/story/click-say.gif b/src/lib/libraries/decks/story/click-say.gif deleted file mode 100644 index 02fa02b0f558f906d5b1f58f98809ed808a14660..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/story/click-say.gif and /dev/null differ diff --git a/src/lib/libraries/decks/story/dialog.gif b/src/lib/libraries/decks/story/dialog.gif deleted file mode 100644 index b89ab96a4b95fc11322083060b234595f6032566..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/story/dialog.gif and /dev/null differ diff --git a/src/lib/libraries/decks/story/green-flag--zoomed.gif b/src/lib/libraries/decks/story/green-flag--zoomed.gif deleted file mode 100644 index 18b1ec2b846f8d50d801a63cd239992b1ed07637..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/story/green-flag--zoomed.gif and /dev/null differ diff --git a/src/lib/libraries/decks/story/green-flag.gif b/src/lib/libraries/decks/story/green-flag.gif deleted file mode 100644 index aea1e74266188c541a476a1d8b34629249eb945e..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/story/green-flag.gif and /dev/null differ diff --git a/src/lib/libraries/decks/story/sprite-library.gif b/src/lib/libraries/decks/story/sprite-library.gif deleted file mode 100644 index 51a6738dc351fe2eea0ebae1cbe135370e39befc..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/story/sprite-library.gif and /dev/null differ diff --git a/src/lib/libraries/decks/story/story--library.gif b/src/lib/libraries/decks/story/story--library.gif deleted file mode 100644 index f29bbdf2de57f35f453c1ded63491f561475e116..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/story/story--library.gif and /dev/null differ diff --git a/src/lib/libraries/decks/videos/add-backdrop.jpg b/src/lib/libraries/decks/videos/add-backdrop.jpg index a40fed4aba638941d2baa77e7f29a8299f6e5b35..ec5062c82d92cee30fcb42256fcf3619aaf4e0bc 100644 Binary files a/src/lib/libraries/decks/videos/add-backdrop.jpg and b/src/lib/libraries/decks/videos/add-backdrop.jpg differ diff --git a/src/lib/libraries/decks/videos/add-effects.jpg b/src/lib/libraries/decks/videos/add-effects.jpg index a6e1a135529beb9a8dc8f583d27a8896f01326ce..2f266057c6f122b455d49aec35b619820cc7c63d 100644 Binary files a/src/lib/libraries/decks/videos/add-effects.jpg and b/src/lib/libraries/decks/videos/add-effects.jpg differ diff --git a/src/lib/libraries/decks/videos/animate-sprite.jpg b/src/lib/libraries/decks/videos/animate-sprite.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e6eb10d67018f2dafa471766c56096130d77b92b Binary files /dev/null and b/src/lib/libraries/decks/videos/animate-sprite.jpg differ diff --git a/src/lib/libraries/decks/videos/change-size.jpg b/src/lib/libraries/decks/videos/change-size.jpg index 93958ad158f73f1b7cb754d75e9866f108a6794e..6f391b78f0e03784d2ca0238a48948a87b053cd3 100644 Binary files a/src/lib/libraries/decks/videos/change-size.jpg and b/src/lib/libraries/decks/videos/change-size.jpg differ diff --git a/src/lib/libraries/decks/videos/glide-around.jpg b/src/lib/libraries/decks/videos/glide-around.jpg index f14d947a2383cca810145ad256871d13b7d5019d..ee006c3bef02cf0296eec4e9779be06507a3924a 100644 Binary files a/src/lib/libraries/decks/videos/glide-around.jpg and b/src/lib/libraries/decks/videos/glide-around.jpg differ diff --git a/src/lib/libraries/decks/videos/hide-and-show.jpg b/src/lib/libraries/decks/videos/hide-and-show.jpg index 6b095b4ea94080b34adb83805e9ea2612a21fe9b..a5e561c61ae84a1ad25968bd3653f6d7948b345e 100644 Binary files a/src/lib/libraries/decks/videos/hide-and-show.jpg and b/src/lib/libraries/decks/videos/hide-and-show.jpg differ diff --git a/src/lib/libraries/decks/videos/move-arrow-keys.jpg b/src/lib/libraries/decks/videos/move-arrow-keys.jpg index 2e42e189a48a26646db9a8f96d32a1e0c3ccf47b..ada61ee67adee18fcfff0fb8484fa00dfa332449 100644 Binary files a/src/lib/libraries/decks/videos/move-arrow-keys.jpg and b/src/lib/libraries/decks/videos/move-arrow-keys.jpg differ diff --git a/src/lib/libraries/decks/videos/record-a-sound.jpg b/src/lib/libraries/decks/videos/record-a-sound.jpg new file mode 100644 index 0000000000000000000000000000000000000000..afc27c0ce8f8a6d07c7d689daf0554957bf8f0d9 Binary files /dev/null and b/src/lib/libraries/decks/videos/record-a-sound.jpg differ diff --git a/src/lib/libraries/decks/videos/spin.jpg b/src/lib/libraries/decks/videos/spin.jpg index 5bbef48845f955eb23d0399bf61f79eec30ef99e..c9c541fc5338103a6e209e63bb2b44f2ae932623 100644 Binary files a/src/lib/libraries/decks/videos/spin.jpg and b/src/lib/libraries/decks/videos/spin.jpg differ diff --git a/src/lib/libraries/decks/videos/switch-costume.jpg b/src/lib/libraries/decks/videos/switch-costume.jpg deleted file mode 100644 index bfbfa87d5484b68ad9981cb56e891c2e1d5161bf..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/videos/switch-costume.jpg and /dev/null differ diff --git a/src/lib/libraries/decks/zoom/click-turn--zoomed.gif b/src/lib/libraries/decks/zoom/click-turn--zoomed.gif deleted file mode 100644 index 68cbbd8274fa79ee06e4a521e23d95da730b3250..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/zoom/click-turn--zoomed.gif and /dev/null differ diff --git a/src/lib/libraries/decks/zoom/click-turn.gif b/src/lib/libraries/decks/zoom/click-turn.gif deleted file mode 100644 index 8e10e3db9594795418d20f9679c2db1ed8456cb1..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/zoom/click-turn.gif and /dev/null differ diff --git a/src/lib/libraries/decks/zoom/color--zoomed.gif b/src/lib/libraries/decks/zoom/color--zoomed.gif deleted file mode 100644 index 30734631014550d87ae78fd45f05675f6e0f5437..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/zoom/color--zoomed.gif and /dev/null differ diff --git a/src/lib/libraries/decks/zoom/color.gif b/src/lib/libraries/decks/zoom/color.gif deleted file mode 100644 index 5639976b4c28bc5043b88144afef465be6df2253..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/zoom/color.gif and /dev/null differ diff --git a/src/lib/libraries/decks/zoom/drag-turn--zoomed.gif b/src/lib/libraries/decks/zoom/drag-turn--zoomed.gif deleted file mode 100644 index af50185eeb4597a0c6967a1f24c006154297c8d7..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/zoom/drag-turn--zoomed.gif and /dev/null differ diff --git a/src/lib/libraries/decks/zoom/drag-turn.gif b/src/lib/libraries/decks/zoom/drag-turn.gif deleted file mode 100644 index 58d09eff4cd0758fad1201025a6f885d70b456ac..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/zoom/drag-turn.gif and /dev/null differ diff --git a/src/lib/libraries/decks/zoom/edge.gif b/src/lib/libraries/decks/zoom/edge.gif deleted file mode 100644 index 5069d83a9ab59d78274fef20703ca5128653e900..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/zoom/edge.gif and /dev/null differ diff --git a/src/lib/libraries/decks/zoom/forever--zoomed.gif b/src/lib/libraries/decks/zoom/forever--zoomed.gif deleted file mode 100644 index 30d94b36f1688bfbd7cf897ba12ee729c7ec6a35..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/zoom/forever--zoomed.gif and /dev/null differ diff --git a/src/lib/libraries/decks/zoom/forever.gif b/src/lib/libraries/decks/zoom/forever.gif deleted file mode 100644 index 013f925a1c484daab40abd0f3ad7ac677edfc63a..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/zoom/forever.gif and /dev/null differ diff --git a/src/lib/libraries/decks/zoom/green-flag.gif b/src/lib/libraries/decks/zoom/green-flag.gif deleted file mode 100644 index dadceba6f918a79475701432645251da76859345..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/zoom/green-flag.gif and /dev/null differ diff --git a/src/lib/libraries/decks/zoom/loudness.gif b/src/lib/libraries/decks/zoom/loudness.gif deleted file mode 100644 index 11fb68ca8948df097aae30dd9c48dfb47594bc2a..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/zoom/loudness.gif and /dev/null differ diff --git a/src/lib/libraries/decks/zoom/move--zoomed.gif b/src/lib/libraries/decks/zoom/move--zoomed.gif deleted file mode 100644 index b3e36a5d9d803ec543d02e5bcc37efc0c2819439..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/zoom/move--zoomed.gif and /dev/null differ diff --git a/src/lib/libraries/decks/zoom/move.gif b/src/lib/libraries/decks/zoom/move.gif deleted file mode 100644 index 97b1efe86449626e79495ee48a0cb4ac9edc60cc..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/zoom/move.gif and /dev/null differ diff --git a/src/lib/libraries/decks/zoom/stop.gif b/src/lib/libraries/decks/zoom/stop.gif deleted file mode 100644 index cbc2b39a7a90ee21da81cce7f58f07f93acc8fbc..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/zoom/stop.gif and /dev/null differ diff --git a/src/lib/libraries/decks/zoom/zoom-around--library.gif b/src/lib/libraries/decks/zoom/zoom-around--library.gif deleted file mode 100644 index a7d87c6cd92c56cbfe6155131d58f7573c764b54..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/zoom/zoom-around--library.gif and /dev/null differ diff --git a/src/lib/libraries/decks/zoom/zoom-thumb.gif b/src/lib/libraries/decks/zoom/zoom-thumb.gif deleted file mode 100644 index df8410a9912e5ad5d5fc65eeb9a7db82e9ec9abe..0000000000000000000000000000000000000000 Binary files a/src/lib/libraries/decks/zoom/zoom-thumb.gif and /dev/null differ diff --git a/src/lib/libraries/sprites.json b/src/lib/libraries/sprites.json index 1b98b01034f1d358965002e101dc2242a61dedb2..966d9be3ae04a11ee77592b451f5582ec9650521 100644 --- a/src/lib/libraries/sprites.json +++ b/src/lib/libraries/sprites.json @@ -1,7 +1,6 @@ [ { "name": "Abby", - "baseLayerID": -1, "md5": "afab2d2141e9811bd89e385e9628cb5f.svg", "type": "sprite", "tags": [ @@ -29,7 +28,7 @@ "costumes": [ { "costumeName": "abby-a", - "baseLayerID": 17, + "baseLayerID": -1, "baseLayerMD5": "afab2d2141e9811bd89e385e9628cb5f.svg", "bitmapResolution": 1, "rotationCenterX": 31, @@ -37,7 +36,7 @@ }, { "costumeName": "abby-b", - "baseLayerID": 18, + "baseLayerID": -1, "baseLayerMD5": "1e0116c7c2e5e80c679d0b33f1f5cfb7.svg", "bitmapResolution": 1, "rotationCenterX": 31, @@ -45,7 +44,7 @@ }, { "costumeName": "abby-c", - "baseLayerID": 19, + "baseLayerID": -1, "baseLayerMD5": "b6e23922f23b49ddc6f62f675e77417c.svg", "bitmapResolution": 1, "rotationCenterX": 32, @@ -53,7 +52,7 @@ }, { "costumeName": "abby-d", - "baseLayerID": 20, + "baseLayerID": -1, "baseLayerMD5": "2193cf08f74b8354f7c4fac37a06ea24.svg", "bitmapResolution": 1, "rotationCenterX": 31, @@ -73,7 +72,6 @@ }, { "name": "Apple", - "baseLayerID": -1, "md5": "831ccd4741a7a56d85f6698a21f4ca69.svg", "type": "sprite", "tags": [ @@ -102,7 +100,7 @@ "costumes": [ { "costumeName": "apple", - "baseLayerID": 1, + "baseLayerID": -1, "baseLayerMD5": "831ccd4741a7a56d85f6698a21f4ca69.svg", "bitmapResolution": 1, "rotationCenterX": 31, @@ -122,7 +120,6 @@ }, { "name": "Arrow1", - "baseLayerID": -1, "md5": "62f8794dd120e9b4ead4d098d50fc64b.svg", "type": "sprite", "tags": [ @@ -151,7 +148,7 @@ "costumes": [ { "costumeName": "arrow1-a", - "baseLayerID": 3, + "baseLayerID": -1, "baseLayerMD5": "62f8794dd120e9b4ead4d098d50fc64b.svg", "bitmapResolution": 1, "rotationCenterX": 28, @@ -159,7 +156,7 @@ }, { "costumeName": "arrow1-b", - "baseLayerID": 4, + "baseLayerID": -1, "baseLayerMD5": "a157dc7e33d7c7a048af933de999e397.svg", "bitmapResolution": 1, "rotationCenterX": 28, @@ -167,7 +164,7 @@ }, { "costumeName": "arrow1-c", - "baseLayerID": 5, + "baseLayerID": -1, "baseLayerMD5": "d3b389e91f7beb22b2b1a80af09990ee.svg", "bitmapResolution": 1, "rotationCenterX": 23, @@ -175,7 +172,7 @@ }, { "costumeName": "arrow1-d", - "baseLayerID": 6, + "baseLayerID": -1, "baseLayerMD5": "412717ff731e9f19003a5840054057eb.svg", "bitmapResolution": 1, "rotationCenterX": 23, @@ -195,7 +192,6 @@ }, { "name": "Avery", - "baseLayerID": -1, "md5": "21393c9114c7d34b1df7ccd12c793672.svg", "type": "sprite", "tags": [ @@ -221,7 +217,7 @@ "costumes": [ { "costumeName": "avery-a", - "baseLayerID": 117, + "baseLayerID": -1, "baseLayerMD5": "21393c9114c7d34b1df7ccd12c793672.svg", "bitmapResolution": 1, "rotationCenterX": 39, @@ -229,7 +225,7 @@ }, { "costumeName": "avery-b", - "baseLayerID": 118, + "baseLayerID": -1, "baseLayerMD5": "cc55f2f09599edc4ae0876e8b3d187d0.svg", "bitmapResolution": 1, "rotationCenterX": 39, @@ -249,7 +245,6 @@ }, { "name": "Avery Walking", - "baseLayerID": -1, "md5": "ed334e546806dfbf26d2591d7ddb12d0.svg", "type": "sprite", "tags": [ @@ -276,7 +271,7 @@ "costumes": [ { "costumeName": "avery walking-a", - "baseLayerID": 113, + "baseLayerID": -1, "baseLayerMD5": "ed334e546806dfbf26d2591d7ddb12d0.svg", "bitmapResolution": 1, "rotationCenterX": 50, @@ -284,7 +279,7 @@ }, { "costumeName": "avery walking-b", - "baseLayerID": 114, + "baseLayerID": -1, "baseLayerMD5": "c295731e8666ad2e1575fb4b4f82988d.svg", "bitmapResolution": 1, "rotationCenterX": 50, @@ -292,7 +287,7 @@ }, { "costumeName": "avery walking-c", - "baseLayerID": 115, + "baseLayerID": -1, "baseLayerMD5": "597a834225c9949e419dff7db1bc2453.svg", "bitmapResolution": 1, "rotationCenterX": 48, @@ -300,7 +295,7 @@ }, { "costumeName": "avery walking-d", - "baseLayerID": 116, + "baseLayerID": -1, "baseLayerMD5": "ce9622d11d24607eec7988196b38c3c6.svg", "bitmapResolution": 1, "rotationCenterX": 50, @@ -320,7 +315,6 @@ }, { "name": "Ball", - "baseLayerID": -1, "md5": "10117ddaefa98d819f2b1df93805622f.svg", "type": "sprite", "tags": [ @@ -355,7 +349,7 @@ "costumes": [ { "costumeName": "ball-a", - "baseLayerID": 7, + "baseLayerID": -1, "baseLayerMD5": "10117ddaefa98d819f2b1df93805622f.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -363,7 +357,7 @@ }, { "costumeName": "ball-b", - "baseLayerID": 8, + "baseLayerID": -1, "baseLayerMD5": "6e6330cad7750ea7e9dc88402661deb8.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -371,7 +365,7 @@ }, { "costumeName": "ball-c", - "baseLayerID": 9, + "baseLayerID": -1, "baseLayerMD5": "bb45ed5db278f15c17c012c34a6b160f.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -379,7 +373,7 @@ }, { "costumeName": "ball-d", - "baseLayerID": 10, + "baseLayerID": -1, "baseLayerMD5": "5d494659deae5c0de06b5885f5524276.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -387,7 +381,7 @@ }, { "costumeName": "ball-e", - "baseLayerID": 11, + "baseLayerID": -1, "baseLayerMD5": "e80c98bc62fd32e8df81642af11ffb1a.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -407,7 +401,6 @@ }, { "name": "Ballerina", - "baseLayerID": -1, "md5": "6051bb7008cf17c8853a6f81f04c8a0f.svg", "type": "sprite", "tags": [ @@ -434,7 +427,7 @@ "costumes": [ { "costumeName": "ballerina-a", - "baseLayerID": 0, + "baseLayerID": -1, "baseLayerMD5": "6051bb7008cf17c8853a6f81f04c8a0f.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -442,7 +435,7 @@ }, { "costumeName": "ballerina-b", - "baseLayerID": 1, + "baseLayerID": -1, "baseLayerMD5": "8bc5e47fb1439e29e11e9e3f2e20c6de.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -450,7 +443,7 @@ }, { "costumeName": "ballerina-c", - "baseLayerID": 2, + "baseLayerID": -1, "baseLayerMD5": "6d3a07761b294f705987b0af58f8e335.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -458,7 +451,7 @@ }, { "costumeName": "ballerina-d", - "baseLayerID": 3, + "baseLayerID": -1, "baseLayerMD5": "c3164795edf39e436272f425b4f5e487.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -478,7 +471,6 @@ }, { "name": "Balloon1", - "baseLayerID": -1, "md5": "bc96a1fb5fe794377acd44807e421ce2.svg", "type": "sprite", "tags": [ @@ -511,7 +503,7 @@ "costumes": [ { "costumeName": "balloon1-a", - "baseLayerID": 12, + "baseLayerID": -1, "baseLayerMD5": "bc96a1fb5fe794377acd44807e421ce2.svg", "bitmapResolution": 1, "rotationCenterX": 32, @@ -519,7 +511,7 @@ }, { "costumeName": "balloon1-b", - "baseLayerID": 13, + "baseLayerID": -1, "baseLayerMD5": "d7bb51d9c38af6314bd2b4058d2a592d.svg", "bitmapResolution": 1, "rotationCenterX": 31, @@ -527,7 +519,7 @@ }, { "costumeName": "balloon1-c", - "baseLayerID": 14, + "baseLayerID": -1, "baseLayerMD5": "247cef27b665d77d9efaca69327cae77.svg", "bitmapResolution": 1, "rotationCenterX": 31, @@ -547,14 +539,13 @@ }, { "name": "Baseball", - "baseLayerID": -1, - "md5": "6e13ef53885d2cfca9a54cc5c3f6c20f.svg", + "md5": "ae05a2a1fc22ce5929b8a67f695bfc9c.svg", "type": "sprite", "tags": [ + "baseball", "sports", - "round", - "summer", - "things" + "ball", + "alex eben meyer" ], "info": [ 0, @@ -576,16 +567,16 @@ "costumes": [ { "costumeName": "baseball", - "baseLayerID": 2, - "baseLayerMD5": "6e13ef53885d2cfca9a54cc5c3f6c20f.svg", + "baseLayerID": -1, + "baseLayerMD5": "ae05a2a1fc22ce5929b8a67f695bfc9c.svg", "bitmapResolution": 1, - "rotationCenterX": 34, - "rotationCenterY": 31 + "rotationCenterX": 28, + "rotationCenterY": 28 } ], "currentCostumeIndex": 0, - "scratchX": 49, - "scratchY": -23, + "scratchX": 173, + "scratchY": -89, "scale": 1, "direction": 90, "rotationStyle": "normal", @@ -596,7 +587,6 @@ }, { "name": "Basketball", - "baseLayerID": -1, "md5": "b15c425f3eef68e7d095ee91321cb52a.svg", "type": "sprite", "tags": [ @@ -643,25 +633,24 @@ } }, { - "name": "Bat1", - "baseLayerID": -1, - "md5": "7ad915f8e0884f497a24d5bb61ea8a4a.svg", + "name": "Bat", + "md5": "a68f7a0b2af7514c729bb083d04dbbde.svg", "type": "sprite", "tags": [ + "fantasy", + "spooky", + "halloween", + "bat", "animals", - "flying", - "holiday", - "nature", - "castle", - "flappers" + "alex eben meyer" ], "info": [ 0, - 2, + 4, 1 ], "json": { - "objName": "Bat1", + "objName": "Bat", "sounds": [ { "soundName": "pop", @@ -674,25 +663,41 @@ ], "costumes": [ { - "costumeName": "bat1-a", - "baseLayerID": 15, - "baseLayerMD5": "7ad915f8e0884f497a24d5bb61ea8a4a.svg", + "costumeName": "bat-a", + "baseLayerID": -1, + "baseLayerMD5": "a68f7a0b2af7514c729bb083d04dbbde.svg", "bitmapResolution": 1, - "rotationCenterX": 75, - "rotationCenterY": 75 + "rotationCenterX": 51, + "rotationCenterY": 47 }, { - "costumeName": "bat1-b", - "baseLayerID": 16, - "baseLayerMD5": "f127434672b872a902346ef3c1af45f2.svg", + "costumeName": "bat-b", + "baseLayerID": -1, + "baseLayerMD5": "4ea5bb61370e189d2eba763312680201.svg", "bitmapResolution": 1, - "rotationCenterX": 75, - "rotationCenterY": 75 + "rotationCenterX": 51, + "rotationCenterY": 47 + }, + { + "costumeName": "bat-c", + "baseLayerID": -1, + "baseLayerMD5": "9ed4deead22db511202f38abadf508c4.svg", + "bitmapResolution": 1, + "rotationCenterX": 51, + "rotationCenterY": 47 + }, + { + "costumeName": "bat-d", + "baseLayerID": -1, + "baseLayerMD5": "293a7b03badd2f3b49e50acfb9c242ec.svg", + "bitmapResolution": 1, + "rotationCenterX": 51, + "rotationCenterY": 47 } ], "currentCostumeIndex": 0, - "scratchX": 40, - "scratchY": 2, + "scratchX": -39, + "scratchY": 121, "scale": 1, "direction": 90, "rotationStyle": "normal", @@ -702,25 +707,22 @@ } }, { - "name": "Bat2", - "baseLayerID": -1, - "md5": "647d4bd53163f94a7dabf623ccab7fd3.svg", + "name": "Batter", + "md5": "cc7510ea0a0e2f6eaf232f8ca73e3b53.svg", "type": "sprite", "tags": [ - "animals", - "flying", - "holiday", - "nature", - "castle", - "flappers" + "baseball", + "sports", + "people", + "alex eben meyer" ], "info": [ 0, - 2, + 4, 1 ], "json": { - "objName": "Bat2", + "objName": "Batter", "sounds": [ { "soundName": "pop", @@ -733,25 +735,41 @@ ], "costumes": [ { - "costumeName": "bat2-a", - "baseLayerID": 22, - "baseLayerMD5": "647d4bd53163f94a7dabf623ccab7fd3.svg", + "costumeName": "batter-a", + "baseLayerID": -1, + "baseLayerMD5": "cc7510ea0a0e2f6eaf232f8ca73e3b53.svg", "bitmapResolution": 1, - "rotationCenterX": 75, - "rotationCenterY": 75 + "rotationCenterX": 44, + "rotationCenterY": 71 }, { - "costumeName": "bat2-b", - "baseLayerID": 23, - "baseLayerMD5": "8aa1d20e4f7761becbe9bafa75290465.svg", + "costumeName": "batter-b", + "baseLayerID": -1, + "baseLayerMD5": "7e7f9ce18fd84e0e95a96ad30fb58c8c.svg", "bitmapResolution": 1, - "rotationCenterX": 75, - "rotationCenterY": 75 + "rotationCenterX": 14, + "rotationCenterY": 58 + }, + { + "costumeName": "batter-c", + "baseLayerID": -1, + "baseLayerMD5": "05cc730290919069b8d08447214c7293.svg", + "bitmapResolution": 1, + "rotationCenterX": 92, + "rotationCenterY": 57 + }, + { + "costumeName": "batter-d", + "baseLayerID": -1, + "baseLayerMD5": "24c32bf9bf066e36e49beb03ccd3db8f.svg", + "bitmapResolution": 1, + "rotationCenterX": 64, + "rotationCenterY": 95 } ], "currentCostumeIndex": 0, - "scratchX": -3, - "scratchY": 38, + "scratchX": 68, + "scratchY": 75, "scale": 1, "direction": 90, "rotationStyle": "normal", @@ -762,7 +780,6 @@ }, { "name": "Beachball", - "baseLayerID": -1, "md5": "87d64cab74c64b31498cc85f07510ee4.svg", "type": "sprite", "tags": [ @@ -791,7 +808,7 @@ "costumes": [ { "costumeName": "beachball", - "baseLayerID": 21, + "baseLayerID": -1, "baseLayerMD5": "87d64cab74c64b31498cc85f07510ee4.svg", "bitmapResolution": 1, "rotationCenterX": 34, @@ -811,7 +828,6 @@ }, { "name": "Bear", - "baseLayerID": -1, "md5": "5a4148d7684fc95f38c58a1672062c9e.svg", "type": "sprite", "tags": [ @@ -867,7 +883,6 @@ }, { "name": "Bear-walking", - "baseLayerID": -1, "md5": "d15eddb1a0f0ff0fa867bc006b46685d.svg", "type": "sprite", "tags": [ @@ -971,7 +986,6 @@ }, { "name": "Bear1", - "baseLayerID": -1, "md5": "598722f70e86e6f9b23ef97680baaa9c.svg", "type": "sprite", "tags": [ @@ -998,7 +1012,7 @@ "costumes": [ { "costumeName": "bear1-a", - "baseLayerID": 4, + "baseLayerID": -1, "baseLayerMD5": "598722f70e86e6f9b23ef97680baaa9c.svg", "bitmapResolution": 1, "rotationCenterX": 56, @@ -1006,7 +1020,7 @@ }, { "costumeName": "bear1-b", - "baseLayerID": 5, + "baseLayerID": -1, "baseLayerMD5": "76ceb0de4409f42713b50cbc1fb45af5.svg", "bitmapResolution": 1, "rotationCenterX": 56, @@ -1026,7 +1040,6 @@ }, { "name": "Bear2", - "baseLayerID": -1, "md5": "3eb8e16a983ff23c418374389c81bd30.svg", "type": "sprite", "tags": [ @@ -1053,7 +1066,7 @@ "costumes": [ { "costumeName": "bear2-a", - "baseLayerID": 6, + "baseLayerID": -1, "baseLayerMD5": "3eb8e16a983ff23c418374389c81bd30.svg", "bitmapResolution": 1, "rotationCenterX": 37, @@ -1061,7 +1074,7 @@ }, { "costumeName": "bear2-b", - "baseLayerID": 7, + "baseLayerID": -1, "baseLayerMD5": "12bb6960ac01b65ae9b5e5e7f79700ac.svg", "bitmapResolution": 1, "rotationCenterX": 51, @@ -1081,7 +1094,6 @@ }, { "name": "Beetle", - "baseLayerID": -1, "md5": "e1ce8f153f011fdd52486c91c6ed594d.svg", "type": "sprite", "tags": [ @@ -1110,7 +1122,7 @@ "costumes": [ { "costumeName": "beetle", - "baseLayerID": 24, + "baseLayerID": -1, "baseLayerMD5": "e1ce8f153f011fdd52486c91c6ed594d.svg", "bitmapResolution": 1, "rotationCenterX": 43, @@ -1130,7 +1142,6 @@ }, { "name": "Bell", - "baseLayerID": -1, "md5": "f35056c772395455d703773657e1da6e.svg", "type": "sprite", "tags": [ @@ -1149,7 +1160,7 @@ "sounds": [ { "soundName": "xylo1", - "soundID": 0, + "soundID": -1, "md5": "6ac484e97c1c1fe1384642e26a125e70.wav", "sampleCount": 238232, "rate": 22050, @@ -1157,7 +1168,7 @@ }, { "soundName": "bell toll", - "soundID": 1, + "soundID": -1, "md5": "25d61e79cbeba4041eebeaebd7bf9598.wav", "sampleCount": 45168, "rate": 11025, @@ -1167,7 +1178,7 @@ "costumes": [ { "costumeName": "bell1", - "baseLayerID": 25, + "baseLayerID": -1, "baseLayerMD5": "f35056c772395455d703773657e1da6e.svg", "bitmapResolution": 1, "rotationCenterX": 59, @@ -1187,7 +1198,6 @@ }, { "name": "Ben", - "baseLayerID": -1, "md5": "7f32d8d78ad64f50c018b7b578de2e18.svg", "type": "sprite", "tags": [ @@ -1217,7 +1227,7 @@ "costumes": [ { "costumeName": "ben-a", - "baseLayerID": 9, + "baseLayerID": -1, "baseLayerMD5": "7f32d8d78ad64f50c018b7b578de2e18.svg", "bitmapResolution": 1, "rotationCenterX": 76, @@ -1225,7 +1235,7 @@ }, { "costumeName": "ben-b", - "baseLayerID": 10, + "baseLayerID": -1, "baseLayerMD5": "fb012e5d1baf80d33ae95fba3511151a.svg", "bitmapResolution": 1, "rotationCenterX": 76, @@ -1233,7 +1243,7 @@ }, { "costumeName": "ben-c", - "baseLayerID": 11, + "baseLayerID": -1, "baseLayerMD5": "be0b1397965cf8ff2c4cecb84795138a.svg", "bitmapResolution": 1, "rotationCenterX": 76, @@ -1241,7 +1251,7 @@ }, { "costumeName": "ben-d", - "baseLayerID": 12, + "baseLayerID": -1, "baseLayerMD5": "e2aefdb538ebbb24e1ab1464f75ef134.svg", "bitmapResolution": 1, "rotationCenterX": 76, @@ -1261,7 +1271,6 @@ }, { "name": "Bowl", - "baseLayerID": -1, "md5": "86f616639846f06fef29931e6b9b59de.svg", "type": "sprite", "tags": [ @@ -1288,7 +1297,7 @@ "costumes": [ { "costumeName": "bowl-a", - "baseLayerID": 8, + "baseLayerID": -1, "baseLayerMD5": "86f616639846f06fef29931e6b9b59de.svg", "bitmapResolution": 1, "rotationCenterX": 30, @@ -1308,7 +1317,6 @@ }, { "name": "Bowtie", - "baseLayerID": -1, "md5": "534d9924d2f9bfe240f041e3ce55ccf5.svg", "type": "sprite", "tags": [ @@ -1334,7 +1342,7 @@ "costumes": [ { "costumeName": "bowtie-a", - "baseLayerID": 9, + "baseLayerID": -1, "baseLayerMD5": "534d9924d2f9bfe240f041e3ce55ccf5.svg", "bitmapResolution": 1, "rotationCenterX": 11, @@ -1342,7 +1350,7 @@ }, { "costumeName": "bowtie-b", - "baseLayerID": 10, + "baseLayerID": -1, "baseLayerMD5": "8be1e90e19cd1faced8a2e83c2b5c90d.svg", "bitmapResolution": 1, "rotationCenterX": 11, @@ -1362,7 +1370,6 @@ }, { "name": "Bread", - "baseLayerID": -1, "md5": "68366160ce0ac1221cdde4455eca9cba.svg", "type": "sprite", "tags": [ @@ -1409,7 +1416,6 @@ }, { "name": "Broom", - "baseLayerID": -1, "md5": "836197f784bc4c4decfb1a5a60ca6c56.svg", "type": "sprite", "tags": [ @@ -1458,7 +1464,6 @@ }, { "name": "Buildings", - "baseLayerID": -1, "md5": "d713270e235851e5962becd73a951771.svg", "type": "sprite", "tags": [ @@ -1487,7 +1492,7 @@ "costumes": [ { "costumeName": "building-a", - "baseLayerID": 106, + "baseLayerID": -1, "baseLayerMD5": "d713270e235851e5962becd73a951771.svg", "bitmapResolution": 1, "rotationCenterX": 40, @@ -1495,7 +1500,7 @@ }, { "costumeName": "building-b", - "baseLayerID": 107, + "baseLayerID": -1, "baseLayerMD5": "8c2d59c50a97d33b096f629258f02be6.svg", "bitmapResolution": 1, "rotationCenterX": 46, @@ -1503,7 +1508,7 @@ }, { "costumeName": "building-c", - "baseLayerID": 108, + "baseLayerID": -1, "baseLayerMD5": "7f3f51f495c39809bed95991dfa1f80d.svg", "bitmapResolution": 1, "rotationCenterX": 25, @@ -1511,7 +1516,7 @@ }, { "costumeName": "building-d", - "baseLayerID": 109, + "baseLayerID": -1, "baseLayerMD5": "bbe68ab80b36e4c71f4e28414c7f781e.svg", "bitmapResolution": 1, "rotationCenterX": 59, @@ -1519,7 +1524,7 @@ }, { "costumeName": "building-e", - "baseLayerID": 110, + "baseLayerID": -1, "baseLayerMD5": "1beeb8f034a1128c9a799297b0b7fc26.svg", "bitmapResolution": 1, "rotationCenterX": 36, @@ -1527,7 +1532,7 @@ }, { "costumeName": "building-f", - "baseLayerID": 111, + "baseLayerID": -1, "baseLayerMD5": "451e0a565e95d945fe2addfe609ee9df.svg", "bitmapResolution": 1, "rotationCenterX": 41, @@ -1535,7 +1540,7 @@ }, { "costumeName": "building-g", - "baseLayerID": 112, + "baseLayerID": -1, "baseLayerMD5": "58b3c9b7a41dde698fa2b427b502c1fa.svg", "bitmapResolution": 1, "rotationCenterX": 64, @@ -1543,7 +1548,7 @@ }, { "costumeName": "building-h", - "baseLayerID": 113, + "baseLayerID": -1, "baseLayerMD5": "e952c8b14eeac894302d07d37a45ed99.svg", "bitmapResolution": 1, "rotationCenterX": 33, @@ -1551,7 +1556,7 @@ }, { "costumeName": "building-i", - "baseLayerID": 114, + "baseLayerID": -1, "baseLayerMD5": "b00b1123e3bfcb600242528d059ffcfb.svg", "bitmapResolution": 1, "rotationCenterX": 31, @@ -1559,7 +1564,7 @@ }, { "costumeName": "building-j", - "baseLayerID": 115, + "baseLayerID": -1, "baseLayerMD5": "e08fd1a7397efcfe0e3691f945693cb4.svg", "bitmapResolution": 1, "rotationCenterX": 29, @@ -1579,7 +1584,6 @@ }, { "name": "Butterfly1", - "baseLayerID": -1, "md5": "836d4cc7889f4a1cbcb0303934f31f79.svg", "type": "sprite", "tags": [ @@ -1611,7 +1615,7 @@ "costumes": [ { "costumeName": "butterfly1-a", - "baseLayerID": 26, + "baseLayerID": -1, "baseLayerMD5": "836d4cc7889f4a1cbcb0303934f31f79.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -1619,7 +1623,7 @@ }, { "costumeName": "butterfly1-b", - "baseLayerID": 27, + "baseLayerID": -1, "baseLayerMD5": "55dd0671a359d7c35f7b78f4176660e8.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -1639,7 +1643,6 @@ }, { "name": "Butterfly2", - "baseLayerID": -1, "md5": "a0216895beade6afc6d42bd5bb43faea.svg", "type": "sprite", "tags": [ @@ -1671,7 +1674,7 @@ "costumes": [ { "costumeName": "butterfly2", - "baseLayerID": 28, + "baseLayerID": -1, "baseLayerMD5": "a0216895beade6afc6d42bd5bb43faea.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -1691,7 +1694,6 @@ }, { "name": "Butterfly3", - "baseLayerID": -1, "md5": "8907a43cf08b0a9134969023be2074c5.svg", "type": "sprite", "tags": [ @@ -1723,7 +1725,7 @@ "costumes": [ { "costumeName": "butterfly3", - "baseLayerID": 29, + "baseLayerID": -1, "baseLayerMD5": "8907a43cf08b0a9134969023be2074c5.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -1743,7 +1745,6 @@ }, { "name": "Button1", - "baseLayerID": -1, "md5": "7ef67c5bc8cf7df64fdb3b1d6b250f71.svg", "type": "sprite", "tags": [ @@ -1772,7 +1773,7 @@ "costumes": [ { "costumeName": "button1", - "baseLayerID": 30, + "baseLayerID": -1, "baseLayerMD5": "7ef67c5bc8cf7df64fdb3b1d6b250f71.svg", "bitmapResolution": 1, "rotationCenterX": 72, @@ -1792,7 +1793,6 @@ }, { "name": "Button2", - "baseLayerID": -1, "md5": "c0051ff23e9aae78295964206793c1e3.svg", "type": "sprite", "tags": [ @@ -1820,7 +1820,7 @@ "costumes": [ { "costumeName": "button2-a", - "baseLayerID": 31, + "baseLayerID": -1, "baseLayerMD5": "c0051ff23e9aae78295964206793c1e3.svg", "bitmapResolution": 1, "rotationCenterX": 72, @@ -1828,7 +1828,7 @@ }, { "costumeName": "button2-b", - "baseLayerID": 32, + "baseLayerID": -1, "baseLayerMD5": "712a561dc0ad66e348b8247e566b50ef.svg", "bitmapResolution": 1, "rotationCenterX": 72, @@ -1848,7 +1848,6 @@ }, { "name": "Button3", - "baseLayerID": -1, "md5": "ffb2a9c21084c58fdb677c8d12a97519.svg", "type": "sprite", "tags": [ @@ -1877,7 +1876,7 @@ "costumes": [ { "costumeName": "button3-a", - "baseLayerID": 33, + "baseLayerID": -1, "baseLayerMD5": "ffb2a9c21084c58fdb677c8d12a97519.svg", "bitmapResolution": 1, "rotationCenterX": 72, @@ -1885,7 +1884,7 @@ }, { "costumeName": "button3-b", - "baseLayerID": 34, + "baseLayerID": -1, "baseLayerMD5": "7a9ccb55e4da36f48811ab125d2492e0.svg", "bitmapResolution": 1, "rotationCenterX": 72, @@ -1905,7 +1904,6 @@ }, { "name": "Button4", - "baseLayerID": -1, "md5": "ecfe263bc256349777e571eaf39761d4.svg", "type": "sprite", "tags": [ @@ -1932,7 +1930,7 @@ "costumes": [ { "costumeName": "button4-a", - "baseLayerID": 35, + "baseLayerID": -1, "baseLayerMD5": "ecfe263bc256349777e571eaf39761d4.svg", "bitmapResolution": 1, "rotationCenterX": 35, @@ -1940,7 +1938,7 @@ }, { "costumeName": "button4-b", - "baseLayerID": 36, + "baseLayerID": -1, "baseLayerMD5": "9c49edde00b80cd22d636a0577a9b1c9.svg", "bitmapResolution": 1, "rotationCenterX": 35, @@ -1960,7 +1958,6 @@ }, { "name": "Button5", - "baseLayerID": -1, "md5": "71e97245b7be4fd6fe3ba8cdeecadaf1.svg", "type": "sprite", "tags": [ @@ -1990,7 +1987,7 @@ "costumes": [ { "costumeName": "button5-a", - "baseLayerID": 37, + "baseLayerID": -1, "baseLayerMD5": "71e97245b7be4fd6fe3ba8cdeecadaf1.svg", "bitmapResolution": 1, "rotationCenterX": 72, @@ -1998,7 +1995,7 @@ }, { "costumeName": "button5-b", - "baseLayerID": 38, + "baseLayerID": -1, "baseLayerMD5": "54cd55512f7571060e6e64168e541222.svg", "bitmapResolution": 1, "rotationCenterX": 72, @@ -2018,7 +2015,6 @@ }, { "name": "Cake", - "baseLayerID": -1, "md5": "97ab3596dc06510e963fa29795e663bf.svg", "type": "sprite", "tags": [ @@ -2041,7 +2037,7 @@ "sounds": [ { "soundName": "birthday", - "soundID": 4, + "soundID": -1, "md5": "89691587a169d935a58c48c3d4e78534.wav", "sampleCount": 161408, "rate": 22050, @@ -2051,7 +2047,7 @@ "costumes": [ { "costumeName": "cake-a", - "baseLayerID": 69, + "baseLayerID": -1, "baseLayerMD5": "97ab3596dc06510e963fa29795e663bf.svg", "bitmapResolution": 1, "rotationCenterX": 64, @@ -2059,7 +2055,7 @@ }, { "costumeName": "cake-b", - "baseLayerID": 70, + "baseLayerID": -1, "baseLayerMD5": "61d5481955a2f42cb843d09506f6744e.svg", "bitmapResolution": 1, "rotationCenterX": 64, @@ -2079,7 +2075,6 @@ }, { "name": "Casey", - "baseLayerID": -1, "md5": "30a4dafa852311b2a07d72e1bb060326.svg", "type": "sprite", "tags": [ @@ -2152,7 +2147,6 @@ }, { "name": "Cat", - "baseLayerID": -1, "md5": "09dc888b0b7df19f70d81588ae73420e.svg", "type": "sprite", "tags": [ @@ -2212,7 +2206,6 @@ }, { "name": "Cat1 Flying", - "baseLayerID": -1, "md5": "1e81725d2d2c7de4a2dd4a145198a43c.svg", "type": "sprite", "tags": [ @@ -2241,7 +2234,7 @@ "costumes": [ { "costumeName": "cat1 flying-a", - "baseLayerID": 55, + "baseLayerID": -1, "baseLayerMD5": "1e81725d2d2c7de4a2dd4a145198a43c.svg", "bitmapResolution": 1, "rotationCenterX": 67, @@ -2249,7 +2242,7 @@ }, { "costumeName": "cat1 flying-b", - "baseLayerID": 56, + "baseLayerID": -1, "baseLayerMD5": "0d192725870ef0eda50d91cab0e3c9c5.svg", "bitmapResolution": 1, "rotationCenterX": 42, @@ -2269,7 +2262,6 @@ }, { "name": "Cat2", - "baseLayerID": -1, "md5": "01ae57fd339529445cb890978ef8a054.svg", "type": "sprite", "tags": [ @@ -2289,7 +2281,7 @@ "sounds": [ { "soundName": "meow2", - "soundID": 0, + "soundID": -1, "md5": "cf51a0c4088942d95bcc20af13202710.wav", "sampleCount": 6512, "rate": 11025, @@ -2299,7 +2291,7 @@ "costumes": [ { "costumeName": "cat2", - "baseLayerID": 11, + "baseLayerID": -1, "baseLayerMD5": "01ae57fd339529445cb890978ef8a054.svg", "bitmapResolution": 1, "rotationCenterX": 87, @@ -2318,15 +2310,14 @@ } }, { - "name": "Centaur", - "baseLayerID": -1, - "md5": "45c1890ae0ab41f24f67ea74bec006c9.svg", + "name": "Catcher", + "md5": "6700cf1d4d653283161d2bad20f74d39.svg", "type": "sprite", "tags": [ - "fantasy", + "baseball", + "sports", "people", - "ipzy", - "emotions" + "alex eben meyer" ], "info": [ 0, @@ -2334,7 +2325,7 @@ 1 ], "json": { - "objName": "Centaur", + "objName": "Catcher", "sounds": [ { "soundName": "pop", @@ -2347,41 +2338,113 @@ ], "costumes": [ { - "costumeName": "centaur-a", - "baseLayerID": 61, - "baseLayerMD5": "45c1890ae0ab41f24f67ea74bec006c9.svg", + "costumeName": "catcher-a", + "baseLayerID": -1, + "baseLayerMD5": "6700cf1d4d653283161d2bad20f74d39.svg", "bitmapResolution": 1, - "rotationCenterX": 110, - "rotationCenterY": 140 + "rotationCenterX": 34, + "rotationCenterY": 33 }, { - "costumeName": "centaur-b", - "baseLayerID": 62, - "baseLayerMD5": "783e8cd43e0c1feca25f639cb5cbc7da.svg", + "costumeName": "catcher-b", + "baseLayerID": -1, + "baseLayerMD5": "d59c293e6fb4e15aa6bcfca5b1d0f2a6.svg", "bitmapResolution": 1, - "rotationCenterX": 110, - "rotationCenterY": 140 + "rotationCenterX": 34, + "rotationCenterY": 29 }, { - "costumeName": "centaur-c", - "baseLayerID": 63, - "baseLayerMD5": "d09f7160383c6399354c3d9960e852db.svg", + "costumeName": "catcher-c", + "baseLayerID": -1, + "baseLayerMD5": "55a2b54e5e414c9e2a17caf73ad06b87.svg", "bitmapResolution": 1, - "rotationCenterX": 110, - "rotationCenterY": 140 + "rotationCenterX": 53, + "rotationCenterY": 69 }, { - "costumeName": "centaur-d", - "baseLayerID": 64, - "baseLayerMD5": "1ba8b4d384f995688c1b7048d1935697.svg", + "costumeName": "catcher-d", + "baseLayerID": -1, + "baseLayerMD5": "d8943c5c2700e49f26f77826b9a3c238.svg", "bitmapResolution": 1, - "rotationCenterX": 110, - "rotationCenterY": 140 + "rotationCenterX": 79, + "rotationCenterY": 28 } ], "currentCostumeIndex": 0, - "scratchX": 32, - "scratchY": 8, + "scratchX": -6, + "scratchY": 70, + "scale": 1, + "direction": 90, + "rotationStyle": "normal", + "isDraggable": false, + "visible": true, + "spriteInfo": {} + } + }, + { + "name": "Centaur", + "md5": "45c1890ae0ab41f24f67ea74bec006c9.svg", + "type": "sprite", + "tags": [ + "fantasy", + "people", + "ipzy", + "emotions" + ], + "info": [ + 0, + 4, + 1 + ], + "json": { + "objName": "Centaur", + "sounds": [ + { + "soundName": "pop", + "soundID": -1, + "md5": "83a9787d4cb6f3b7632b4ddfebf74367.wav", + "sampleCount": 258, + "rate": 11025, + "format": "" + } + ], + "costumes": [ + { + "costumeName": "centaur-a", + "baseLayerID": 61, + "baseLayerMD5": "45c1890ae0ab41f24f67ea74bec006c9.svg", + "bitmapResolution": 1, + "rotationCenterX": 110, + "rotationCenterY": 140 + }, + { + "costumeName": "centaur-b", + "baseLayerID": 62, + "baseLayerMD5": "783e8cd43e0c1feca25f639cb5cbc7da.svg", + "bitmapResolution": 1, + "rotationCenterX": 110, + "rotationCenterY": 140 + }, + { + "costumeName": "centaur-c", + "baseLayerID": 63, + "baseLayerMD5": "d09f7160383c6399354c3d9960e852db.svg", + "bitmapResolution": 1, + "rotationCenterX": 110, + "rotationCenterY": 140 + }, + { + "costumeName": "centaur-d", + "baseLayerID": 64, + "baseLayerMD5": "1ba8b4d384f995688c1b7048d1935697.svg", + "bitmapResolution": 1, + "rotationCenterX": 110, + "rotationCenterY": 140 + } + ], + "currentCostumeIndex": 0, + "scratchX": 32, + "scratchY": 8, "scale": 1, "direction": 90, "rotationStyle": "normal", @@ -2392,7 +2455,6 @@ }, { "name": "Cloud", - "baseLayerID": -1, "md5": "47005a1f20309f577a03a67abbb6b94e.svg", "type": "sprite", "tags": [ @@ -2420,7 +2482,7 @@ "costumes": [ { "costumeName": "cloud", - "baseLayerID": 12, + "baseLayerID": -1, "baseLayerMD5": "47005a1f20309f577a03a67abbb6b94e.svg", "bitmapResolution": 1, "rotationCenterX": 71, @@ -2440,7 +2502,6 @@ }, { "name": "Clouds", - "baseLayerID": -1, "md5": "c7d7de8e29179407f03b054fa640f4d0.svg", "type": "sprite", "tags": [ @@ -2469,7 +2530,7 @@ "costumes": [ { "costumeName": "cloud-a", - "baseLayerID": 116, + "baseLayerID": -1, "baseLayerMD5": "c7d7de8e29179407f03b054fa640f4d0.svg", "bitmapResolution": 1, "rotationCenterX": 76, @@ -2477,7 +2538,7 @@ }, { "costumeName": "cloud-b", - "baseLayerID": 117, + "baseLayerID": -1, "baseLayerMD5": "d8595350ebb460494c9189dabb968336.svg", "bitmapResolution": 1, "rotationCenterX": 101, @@ -2485,7 +2546,7 @@ }, { "costumeName": "cloud-c", - "baseLayerID": 118, + "baseLayerID": -1, "baseLayerMD5": "395fc991e64ac0a4aa46758ab4bc65cb.svg", "bitmapResolution": 1, "rotationCenterX": 97, @@ -2493,7 +2554,7 @@ }, { "costumeName": "cloud-d", - "baseLayerID": 119, + "baseLayerID": -1, "baseLayerMD5": "1767e704acb11ffa409f77cc79ba7e86.svg", "bitmapResolution": 1, "rotationCenterX": 87, @@ -2513,7 +2574,6 @@ }, { "name": "Convertible3", - "baseLayerID": -1, "md5": "b6ac3c9e1789cba2302d2ef82d62d019.svg", "type": "sprite", "tags": [ @@ -2540,7 +2600,7 @@ "costumes": [ { "costumeName": "convertible3", - "baseLayerID": 13, + "baseLayerID": -1, "baseLayerMD5": "b6ac3c9e1789cba2302d2ef82d62d019.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -2560,7 +2620,6 @@ }, { "name": "Crab", - "baseLayerID": -1, "md5": "114249a5660f7948663d95de575cfd8d.svg", "type": "sprite", "tags": [ @@ -2595,7 +2654,7 @@ "costumes": [ { "costumeName": "crab-a", - "baseLayerID": 39, + "baseLayerID": -1, "baseLayerMD5": "114249a5660f7948663d95de575cfd8d.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -2603,7 +2662,7 @@ }, { "costumeName": "crab-b", - "baseLayerID": 40, + "baseLayerID": -1, "baseLayerMD5": "9bf050664e68c10d2616e85f2873be09.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -2623,7 +2682,6 @@ }, { "name": "Creature1", - "baseLayerID": -1, "md5": "a560c6eab2e1de2462bdaeb1d698736c.svg", "type": "sprite", "tags": [ @@ -2653,7 +2711,7 @@ "costumes": [ { "costumeName": "creature1-a", - "baseLayerID": 119, + "baseLayerID": -1, "baseLayerMD5": "a560c6eab2e1de2462bdaeb1d698736c.svg", "bitmapResolution": 1, "rotationCenterX": 54, @@ -2661,7 +2719,7 @@ }, { "costumeName": "creature1-b", - "baseLayerID": 120, + "baseLayerID": -1, "baseLayerMD5": "8042b71fc2ae322151c0a3a163701333.svg", "bitmapResolution": 1, "rotationCenterX": 60, @@ -2669,7 +2727,7 @@ }, { "costumeName": "creature1-c", - "baseLayerID": 121, + "baseLayerID": -1, "baseLayerMD5": "e12a83c8f1c0545b59fe8673e9fac79c.svg", "bitmapResolution": 1, "rotationCenterX": 63, @@ -2689,7 +2747,6 @@ }, { "name": "Crystal", - "baseLayerID": -1, "md5": "8520264d48537bea17b7f6d18e9bb558.svg", "type": "sprite", "tags": [ @@ -2745,7 +2802,6 @@ }, { "name": "Dani", - "baseLayerID": -1, "md5": "f3038fb0f4a00806b02081c6789dd8cf.svg", "type": "sprite", "tags": [ @@ -2772,7 +2828,7 @@ "costumes": [ { "costumeName": "dani-a", - "baseLayerID": 14, + "baseLayerID": -1, "baseLayerMD5": "f3038fb0f4a00806b02081c6789dd8cf.svg", "bitmapResolution": 1, "rotationCenterX": 49, @@ -2780,7 +2836,7 @@ }, { "costumeName": "dani-b", - "baseLayerID": 15, + "baseLayerID": -1, "baseLayerMD5": "e5c7dd4905a78e1d54087b7165dd1e8c.svg", "bitmapResolution": 1, "rotationCenterX": 82, @@ -2788,7 +2844,7 @@ }, { "costumeName": "dani-c", - "baseLayerID": 16, + "baseLayerID": -1, "baseLayerMD5": "cbc5f9c67022af201d498bc9b35608b8.svg", "bitmapResolution": 1, "rotationCenterX": 49, @@ -2808,7 +2864,6 @@ }, { "name": "Dee", - "baseLayerID": -1, "md5": "aa239b7ccdce6bddf06900c709525764.svg", "type": "sprite", "tags": [ @@ -2834,7 +2889,7 @@ "costumes": [ { "costumeName": "dee-a", - "baseLayerID": 17, + "baseLayerID": -1, "baseLayerMD5": "aa239b7ccdce6bddf06900c709525764.svg", "bitmapResolution": 1, "rotationCenterX": 52, @@ -2842,7 +2897,7 @@ }, { "costumeName": "dee-b", - "baseLayerID": 18, + "baseLayerID": -1, "baseLayerMD5": "62b4ac1b735599e21af77c390b178095.svg", "bitmapResolution": 1, "rotationCenterX": 33, @@ -2850,7 +2905,7 @@ }, { "costumeName": "dee-c", - "baseLayerID": 19, + "baseLayerID": -1, "baseLayerMD5": "6aa6196ce3245e93b8d1299f33adffcd.svg", "bitmapResolution": 1, "rotationCenterX": 36, @@ -2858,7 +2913,7 @@ }, { "costumeName": "dee-d", - "baseLayerID": 20, + "baseLayerID": -1, "baseLayerMD5": "2159a6be8f7ff450d0b5e938ca34a3f4.svg", "bitmapResolution": 1, "rotationCenterX": 33, @@ -2866,7 +2921,7 @@ }, { "costumeName": "dee-e", - "baseLayerID": 21, + "baseLayerID": -1, "baseLayerMD5": "e358d2a7e3a0a680928657161ce81a0a.svg", "bitmapResolution": 1, "rotationCenterX": 32, @@ -2886,7 +2941,6 @@ }, { "name": "Devin", - "baseLayerID": -1, "md5": "b1897e56265470b55fa65fabe2423c55.svg", "type": "sprite", "tags": [ @@ -2912,7 +2966,7 @@ "costumes": [ { "costumeName": "devin-a", - "baseLayerID": 22, + "baseLayerID": -1, "baseLayerMD5": "b1897e56265470b55fa65fabe2423c55.svg", "bitmapResolution": 1, "rotationCenterX": 39, @@ -2920,7 +2974,7 @@ }, { "costumeName": "devin-b", - "baseLayerID": 23, + "baseLayerID": -1, "baseLayerMD5": "873fbd641768c8f753a6568da97633e7.svg", "bitmapResolution": 1, "rotationCenterX": 40, @@ -2928,7 +2982,7 @@ }, { "costumeName": "devin-c", - "baseLayerID": 24, + "baseLayerID": -1, "baseLayerMD5": "eac3c03d86cebb42c8f30e373cb7f623.svg", "bitmapResolution": 1, "rotationCenterX": 32, @@ -2936,7 +2990,7 @@ }, { "costumeName": "devin-d", - "baseLayerID": 25, + "baseLayerID": -1, "baseLayerMD5": "fa6a75afb0e4b822b91d8bb20d40c68f.svg", "bitmapResolution": 1, "rotationCenterX": 41, @@ -2956,7 +3010,6 @@ }, { "name": "Dinosaur1", - "baseLayerID": -1, "md5": "75d367961807fff8e81f556da81dec24.svg", "type": "sprite", "tags": [ @@ -2984,7 +3037,7 @@ "costumes": [ { "costumeName": "dinosaur1-a", - "baseLayerID": 0, + "baseLayerID": -1, "baseLayerMD5": "75d367961807fff8e81f556da81dec24.svg", "bitmapResolution": 1, "rotationCenterX": 98, @@ -2992,7 +3045,7 @@ }, { "costumeName": "dinosaur1-b", - "baseLayerID": 1, + "baseLayerID": -1, "baseLayerMD5": "ecdaee9c08ae68fd7a67f81302f00a97.svg", "bitmapResolution": 1, "rotationCenterX": 98, @@ -3000,7 +3053,7 @@ }, { "costumeName": "dinosaur1-c", - "baseLayerID": 2, + "baseLayerID": -1, "baseLayerMD5": "02078a81abd2e10cb62ebcc853a40c92.svg", "bitmapResolution": 1, "rotationCenterX": 81, @@ -3008,7 +3061,7 @@ }, { "costumeName": "dinosaur1-d", - "baseLayerID": 3, + "baseLayerID": -1, "baseLayerMD5": "c9ed031bc9bf11416142880f89436be9.svg", "bitmapResolution": 1, "rotationCenterX": 98, @@ -3028,7 +3081,6 @@ }, { "name": "Dinosaur2", - "baseLayerID": -1, "md5": "5493f5deffe7aed451cd8b255740de4a.svg", "type": "sprite", "tags": [ @@ -3057,7 +3109,7 @@ "costumes": [ { "costumeName": "dinosaur2-a", - "baseLayerID": 9, + "baseLayerID": -1, "baseLayerMD5": "5493f5deffe7aed451cd8b255740de4a.svg", "bitmapResolution": 1, "rotationCenterX": 115, @@ -3065,7 +3117,7 @@ }, { "costumeName": "dinosaur2-b", - "baseLayerID": 10, + "baseLayerID": -1, "baseLayerMD5": "70bba739b7df0bd08abb31026d078ee7.svg", "bitmapResolution": 1, "rotationCenterX": 74, @@ -3073,7 +3125,7 @@ }, { "costumeName": "dinosaur2-c", - "baseLayerID": 11, + "baseLayerID": -1, "baseLayerMD5": "4a51679d86aafcc9cee1c010fc141288.svg", "bitmapResolution": 1, "rotationCenterX": 62, @@ -3081,7 +3133,7 @@ }, { "costumeName": "dinosaur2-d", - "baseLayerID": 12, + "baseLayerID": -1, "baseLayerMD5": "47053664449b24749aaf199925b19f8e.svg", "bitmapResolution": 1, "rotationCenterX": 71, @@ -3101,7 +3153,6 @@ }, { "name": "Dinosaur3", - "baseLayerID": -1, "md5": "17636db6f607c14a03a36e18abfea86a.svg", "type": "sprite", "tags": [ @@ -3131,7 +3182,7 @@ "costumes": [ { "costumeName": "dinosaur3-a", - "baseLayerID": 4, + "baseLayerID": -1, "baseLayerMD5": "17636db6f607c14a03a36e18abfea86a.svg", "bitmapResolution": 1, "rotationCenterX": 115, @@ -3139,7 +3190,7 @@ }, { "costumeName": "dinosaur3-b", - "baseLayerID": 5, + "baseLayerID": -1, "baseLayerMD5": "1b20afc713b04ca5d01b25d050aa35ac.svg", "bitmapResolution": 1, "rotationCenterX": 115, @@ -3147,7 +3198,7 @@ }, { "costumeName": "dinosaur3-c", - "baseLayerID": 6, + "baseLayerID": -1, "baseLayerMD5": "4700613077afa7c62659b3fd7d7c748e.svg", "bitmapResolution": 1, "rotationCenterX": 115, @@ -3155,7 +3206,7 @@ }, { "costumeName": "dinosaur3-d", - "baseLayerID": 7, + "baseLayerID": -1, "baseLayerMD5": "a03f110ed12b73acc9bd84037fd6ae96.svg", "bitmapResolution": 1, "rotationCenterX": 115, @@ -3163,7 +3214,7 @@ }, { "costumeName": "dinosaur3-e", - "baseLayerID": 8, + "baseLayerID": -1, "baseLayerMD5": "00e24e40535a1a621fee0f70895b2b61.svg", "bitmapResolution": 1, "rotationCenterX": 115, @@ -3183,7 +3234,6 @@ }, { "name": "Dinosaur4", - "baseLayerID": -1, "md5": "9da591f8a6da251c800adb12a02c43cb.svg", "type": "sprite", "tags": [ @@ -3214,7 +3264,7 @@ "costumes": [ { "costumeName": "dinosaur4-a", - "baseLayerID": 13, + "baseLayerID": -1, "baseLayerMD5": "9da591f8a6da251c800adb12a02c43cb.svg", "bitmapResolution": 1, "rotationCenterX": 59, @@ -3222,7 +3272,7 @@ }, { "costumeName": "dinosaur4-b", - "baseLayerID": 14, + "baseLayerID": -1, "baseLayerMD5": "a3028e87caeb8338f50b2c6dec9f23d2.svg", "bitmapResolution": 1, "rotationCenterX": 86, @@ -3230,7 +3280,7 @@ }, { "costumeName": "dinosaur4-c", - "baseLayerID": 15, + "baseLayerID": -1, "baseLayerMD5": "9a4bbc1b104c8112be82c252a6ecfd11.svg", "bitmapResolution": 1, "rotationCenterX": 59, @@ -3238,7 +3288,7 @@ }, { "costumeName": "dinosaur4-d", - "baseLayerID": 16, + "baseLayerID": -1, "baseLayerMD5": "45061ff84a25723625d04f0476687633.svg", "bitmapResolution": 1, "rotationCenterX": 89, @@ -3258,7 +3308,6 @@ }, { "name": "Diver1", - "baseLayerID": -1, "md5": "853803d5600b66538474909c5438c8ee.svg", "type": "sprite", "tags": [ @@ -3289,7 +3338,7 @@ "costumes": [ { "costumeName": "diver1", - "baseLayerID": 41, + "baseLayerID": -1, "baseLayerMD5": "853803d5600b66538474909c5438c8ee.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -3309,7 +3358,6 @@ }, { "name": "Diver2", - "baseLayerID": -1, "md5": "248d3e69ada69a64b1077149ef6a931a.svg", "type": "sprite", "tags": [ @@ -3340,7 +3388,7 @@ "costumes": [ { "costumeName": "diver2", - "baseLayerID": 42, + "baseLayerID": -1, "baseLayerMD5": "248d3e69ada69a64b1077149ef6a931a.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -3360,7 +3408,6 @@ }, { "name": "Dog1", - "baseLayerID": -1, "md5": "39ddefa0cc58f3b1b06474d63d81ef56.svg", "type": "sprite", "tags": [ @@ -3379,7 +3426,7 @@ "sounds": [ { "soundName": "dog1", - "soundID": 2, + "soundID": -1, "md5": "b15adefc3c12f758b6dc6a045362532f.wav", "sampleCount": 3672, "rate": 22050, @@ -3389,7 +3436,7 @@ "costumes": [ { "costumeName": "dog1-a", - "baseLayerID": 57, + "baseLayerID": -1, "baseLayerMD5": "39ddefa0cc58f3b1b06474d63d81ef56.svg", "bitmapResolution": 1, "rotationCenterX": 83, @@ -3397,7 +3444,7 @@ }, { "costumeName": "dog1-b", - "baseLayerID": 58, + "baseLayerID": -1, "baseLayerMD5": "598f4aa3d8f671375d1d2b3acf753416.svg", "bitmapResolution": 1, "rotationCenterX": 83, @@ -3417,7 +3464,6 @@ }, { "name": "Dog2", - "baseLayerID": -1, "md5": "e921f865b19b27cd99e16a341dbf09c2.svg", "type": "sprite", "tags": [ @@ -3436,7 +3482,7 @@ "sounds": [ { "soundName": "dog1", - "soundID": 2, + "soundID": -1, "md5": "b15adefc3c12f758b6dc6a045362532f.wav", "sampleCount": 3672, "rate": 22050, @@ -3446,7 +3492,7 @@ "costumes": [ { "costumeName": "dog2-a", - "baseLayerID": 59, + "baseLayerID": -1, "baseLayerMD5": "e921f865b19b27cd99e16a341dbf09c2.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -3454,7 +3500,7 @@ }, { "costumeName": "dog2-b", - "baseLayerID": 60, + "baseLayerID": -1, "baseLayerMD5": "891f2fb7daf79ba8b224a9173eeb0a63.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -3462,7 +3508,7 @@ }, { "costumeName": "dog2-c", - "baseLayerID": 61, + "baseLayerID": -1, "baseLayerMD5": "cd236d5eef4431dea82983ac9eec406b.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -3482,7 +3528,6 @@ }, { "name": "Donut", - "baseLayerID": -1, "md5": "9e7b4d153421dae04a24571d7e079e85.svg", "type": "sprite", "tags": [ @@ -3515,7 +3560,7 @@ "costumes": [ { "costumeName": "donut", - "baseLayerID": 43, + "baseLayerID": -1, "baseLayerMD5": "9e7b4d153421dae04a24571d7e079e85.svg", "bitmapResolution": 1, "rotationCenterX": 73, @@ -3535,7 +3580,6 @@ }, { "name": "Dorian", - "baseLayerID": -1, "md5": "b042b1a5fde03dd5abbc2f3f78d11a2c.svg", "type": "sprite", "tags": [ @@ -3608,7 +3652,6 @@ }, { "name": "Dot", - "baseLayerID": -1, "md5": "47c975e37f9a89c01d0d4d6fd17ef847.svg", "type": "sprite", "tags": [ @@ -3680,7 +3723,6 @@ }, { "name": "Dove", - "baseLayerID": -1, "md5": "6dde2b880ad6ddeaea2a53821befb86d.svg", "type": "sprite", "tags": [ @@ -3708,7 +3750,7 @@ "costumes": [ { "costumeName": "dove-a", - "baseLayerID": 26, + "baseLayerID": -1, "baseLayerMD5": "6dde2b880ad6ddeaea2a53821befb86d.svg", "bitmapResolution": 1, "rotationCenterX": 86, @@ -3716,7 +3758,7 @@ }, { "costumeName": "dove-b", - "baseLayerID": 27, + "baseLayerID": -1, "baseLayerMD5": "1c0bc118044d7f6033bc9cd1ef555590.svg", "bitmapResolution": 1, "rotationCenterX": 88, @@ -3736,7 +3778,6 @@ }, { "name": "Dragon", - "baseLayerID": -1, "md5": "8aed65cee4cfe22b4f4b8e749092dbbb.svg", "type": "sprite", "tags": [ @@ -3801,7 +3842,6 @@ }, { "name": "Drum", - "baseLayerID": -1, "md5": "dd66742bc2a3cfe5a6f9f540afd2e15c.svg", "type": "sprite", "tags": [ @@ -3818,7 +3858,7 @@ "sounds": [ { "soundName": "high tom", - "soundID": 32, + "soundID": -1, "md5": "d623f99b3c8d33932eb2c6c9cfd817c5.wav", "sampleCount": 12320, "rate": 22050, @@ -3826,7 +3866,7 @@ }, { "soundName": "low tom", - "soundID": 33, + "soundID": -1, "md5": "1569bbbd8952b0575e5a5cb5aefb50ba.wav", "sampleCount": 20000, "rate": 22050, @@ -3836,7 +3876,7 @@ "costumes": [ { "costumeName": "drum-a", - "baseLayerID": 10, + "baseLayerID": -1, "baseLayerMD5": "dd66742bc2a3cfe5a6f9f540afd2e15c.svg", "bitmapResolution": 1, "rotationCenterX": 43, @@ -3844,7 +3884,7 @@ }, { "costumeName": "drum-b", - "baseLayerID": 11, + "baseLayerID": -1, "baseLayerMD5": "9c9d371da382c227e43f09b1a748c554.svg", "bitmapResolution": 1, "rotationCenterX": 43, @@ -3864,7 +3904,6 @@ }, { "name": "Drum Kit", - "baseLayerID": -1, "md5": "131d040d86ecea62ccd175a8709c7866.svg", "type": "sprite", "tags": [ @@ -3881,7 +3920,7 @@ "sounds": [ { "soundName": "drum bass1", - "soundID": 51, + "soundID": -1, "md5": "48328c874353617451e4c7902cc82817.wav", "sampleCount": 6528, "rate": 22050, @@ -3889,7 +3928,7 @@ }, { "soundName": "drum bass2", - "soundID": 52, + "soundID": -1, "md5": "711a1270d1cf2e5de9b145ee539213e4.wav", "sampleCount": 3791, "rate": 22050, @@ -3897,7 +3936,7 @@ }, { "soundName": "drum bass3", - "soundID": 53, + "soundID": -1, "md5": "c21704337b16359ea631b5f8eb48f765.wav", "sampleCount": 8576, "rate": 22050, @@ -3905,7 +3944,7 @@ }, { "soundName": "high tom", - "soundID": 32, + "soundID": -1, "md5": "d623f99b3c8d33932eb2c6c9cfd817c5.wav", "sampleCount": 12320, "rate": 22050, @@ -3913,7 +3952,7 @@ }, { "soundName": "low tom", - "soundID": 33, + "soundID": -1, "md5": "1569bbbd8952b0575e5a5cb5aefb50ba.wav", "sampleCount": 20000, "rate": 22050, @@ -3923,7 +3962,7 @@ "costumes": [ { "costumeName": "drum-kit", - "baseLayerID": 20, + "baseLayerID": -1, "baseLayerMD5": "131d040d86ecea62ccd175a8709c7866.svg", "bitmapResolution": 1, "rotationCenterX": 58, @@ -3931,7 +3970,7 @@ }, { "costumeName": "drum-kit-b", - "baseLayerID": 21, + "baseLayerID": -1, "baseLayerMD5": "ff14be049146cf9ab142e0951cb9b735.svg", "bitmapResolution": 1, "rotationCenterX": 58, @@ -3951,7 +3990,6 @@ }, { "name": "Drum-cymbal", - "baseLayerID": -1, "md5": "d6d41862fda966df1455d2dbff5e1988.svg", "type": "sprite", "tags": [ @@ -3968,7 +4006,7 @@ "sounds": [ { "soundName": "crash cymbal", - "soundID": 37, + "soundID": -1, "md5": "f2c47a46f614f467a7ac802ed9ec3d8e.wav", "sampleCount": 25220, "rate": 22050, @@ -3976,7 +4014,7 @@ }, { "soundName": "splash cymbal", - "soundID": 38, + "soundID": -1, "md5": "9d63ed5be96c43b06492e8b4a9cea8d8.wav", "sampleCount": 9600, "rate": 22050, @@ -3984,7 +4022,7 @@ }, { "soundName": "bell cymbal", - "soundID": 39, + "soundID": -1, "md5": "efddec047de95492f775a1b5b2e8d19e.wav", "sampleCount": 19328, "rate": 22050, @@ -3992,7 +4030,7 @@ }, { "soundName": "roll cymbal", - "soundID": 40, + "soundID": -1, "md5": "da8355d753cd2a5ddd19cb2bb41c1547.wav", "sampleCount": 26432, "rate": 22050, @@ -4002,7 +4040,7 @@ "costumes": [ { "costumeName": "drum-cymbal-a", - "baseLayerID": 14, + "baseLayerID": -1, "baseLayerMD5": "d6d41862fda966df1455d2dbff5e1988.svg", "bitmapResolution": 1, "rotationCenterX": 30, @@ -4010,7 +4048,7 @@ }, { "costumeName": "drum-cymbal-b", - "baseLayerID": 15, + "baseLayerID": -1, "baseLayerMD5": "e6b7d7d8874bc4b7be58afe927157554.svg", "bitmapResolution": 1, "rotationCenterX": 30, @@ -4030,7 +4068,6 @@ }, { "name": "Drum-highhat", - "baseLayerID": -1, "md5": "81fb79151a63cb096258607451cc2cf5.svg", "type": "sprite", "tags": [ @@ -4047,7 +4084,7 @@ "sounds": [ { "soundName": "hihat cymbal", - "soundID": 50, + "soundID": -1, "md5": "2d01f60d0f20ab39facbf707899c6b2a.wav", "sampleCount": 2752, "rate": 22050, @@ -4057,7 +4094,7 @@ "costumes": [ { "costumeName": "drum-highhat-a", - "baseLayerID": 18, + "baseLayerID": -1, "baseLayerMD5": "81fb79151a63cb096258607451cc2cf5.svg", "bitmapResolution": 1, "rotationCenterX": 33, @@ -4065,7 +4102,7 @@ }, { "costumeName": "drum-highhat-b", - "baseLayerID": 19, + "baseLayerID": -1, "baseLayerMD5": "e3c273e4ad1a24583064f9b61fcd753a.svg", "bitmapResolution": 1, "rotationCenterX": 33, @@ -4085,7 +4122,6 @@ }, { "name": "Drum-snare", - "baseLayerID": -1, "md5": "b0255be93e3c8be6ac687f4199a25c4b.svg", "type": "sprite", "tags": [ @@ -4102,7 +4138,7 @@ "sounds": [ { "soundName": "tap snare", - "soundID": 34, + "soundID": -1, "md5": "d55b3954d72c6275917f375e49b502f3.wav", "sampleCount": 3296, "rate": 22050, @@ -4110,7 +4146,7 @@ }, { "soundName": "flam snare", - "soundID": 35, + "soundID": -1, "md5": "3b6cce9f8c56c0537ca61eee3945cd1d.wav", "sampleCount": 4416, "rate": 22050, @@ -4118,7 +4154,7 @@ }, { "soundName": "sidestick snare", - "soundID": 36, + "soundID": -1, "md5": "f6868ee5cf626fc4ef3ca1119dc95592.wav", "sampleCount": 2336, "rate": 22050, @@ -4128,7 +4164,7 @@ "costumes": [ { "costumeName": "drum-snare-a", - "baseLayerID": 12, + "baseLayerID": -1, "baseLayerMD5": "b0255be93e3c8be6ac687f4199a25c4b.svg", "bitmapResolution": 1, "rotationCenterX": 23, @@ -4136,7 +4172,7 @@ }, { "costumeName": "drum-snare-b", - "baseLayerID": 13, + "baseLayerID": -1, "baseLayerMD5": "f6d2f2a6e1055dab6262336625ddf652.svg", "bitmapResolution": 1, "rotationCenterX": 36, @@ -4156,7 +4192,6 @@ }, { "name": "Duck", - "baseLayerID": -1, "md5": "c3baf7eedfbdac8cd1e4f1f1f779dc0c.svg", "type": "sprite", "tags": [ @@ -4176,7 +4211,7 @@ "sounds": [ { "soundName": "duck", - "soundID": 3, + "soundID": -1, "md5": "af5b039e1b05e0ccb12944f648a8884e.wav", "sampleCount": 5792, "rate": 22050, @@ -4186,7 +4221,7 @@ "costumes": [ { "costumeName": "duck", - "baseLayerID": 64, + "baseLayerID": -1, "baseLayerMD5": "c3baf7eedfbdac8cd1e4f1f1f779dc0c.svg", "bitmapResolution": 1, "rotationCenterX": 61, @@ -4206,7 +4241,6 @@ }, { "name": "Earth", - "baseLayerID": -1, "md5": "814197522984a302972998b1a7f92d91.svg", "type": "sprite", "tags": [ @@ -4232,7 +4266,7 @@ "costumes": [ { "costumeName": "earth", - "baseLayerID": 28, + "baseLayerID": -1, "baseLayerMD5": "814197522984a302972998b1a7f92d91.svg", "bitmapResolution": 1, "rotationCenterX": 72, @@ -4252,7 +4286,6 @@ }, { "name": "Egg", - "baseLayerID": -1, "md5": "bc723738dfe626c5c3bb90970d985961.svg", "type": "sprite", "tags": [ @@ -4332,7 +4365,6 @@ }, { "name": "Elephant", - "baseLayerID": -1, "md5": "b3515b3805938b0fae4e527aa0b4524e.svg", "type": "sprite", "tags": [ @@ -4360,7 +4392,7 @@ "costumes": [ { "costumeName": "elephant-a", - "baseLayerID": 65, + "baseLayerID": -1, "baseLayerMD5": "b3515b3805938b0fae4e527aa0b4524e.svg", "bitmapResolution": 1, "rotationCenterX": 107, @@ -4368,7 +4400,7 @@ }, { "costumeName": "elephant-b", - "baseLayerID": 66, + "baseLayerID": -1, "baseLayerMD5": "bce91fa266220d3679a4c19c4e38b1f7.svg", "bitmapResolution": 1, "rotationCenterX": 95, @@ -4388,7 +4420,6 @@ }, { "name": "Elf", - "baseLayerID": -1, "md5": "00748a750dc4fd754ce4debb5e3595c0.svg", "type": "sprite", "tags": [ @@ -4469,7 +4500,6 @@ }, { "name": "Empty", - "baseLayerID": -1, "md5": "cd21514d0531fdffb22204e0ec5ed84a.svg", "type": "sprite", "tags": [], @@ -4493,7 +4523,7 @@ "costumes": [ { "costumeName": "empty", - "baseLayerID": 105, + "baseLayerID": -1, "baseLayerMD5": "cd21514d0531fdffb22204e0ec5ed84a.svg", "bitmapResolution": 1, "rotationCenterX": 0, @@ -4513,7 +4543,6 @@ }, { "name": "Fairy", - "baseLayerID": -1, "md5": "fe97687c7f1b747bb6f41c252cc5926a.svg", "type": "sprite", "tags": [ @@ -4594,7 +4623,6 @@ }, { "name": "Fish", - "baseLayerID": -1, "md5": "8598752b1b7b9892c23817c4ed848e7d.svg", "type": "sprite", "tags": [ @@ -4624,7 +4652,7 @@ "costumes": [ { "costumeName": "fish-a", - "baseLayerID": 9, + "baseLayerID": -1, "baseLayerMD5": "8598752b1b7b9892c23817c4ed848e7d.svg", "bitmapResolution": 1, "rotationCenterX": 63, @@ -4632,7 +4660,7 @@ }, { "costumeName": "fish-b", - "baseLayerID": 10, + "baseLayerID": -1, "baseLayerMD5": "52032e4310f9855b89f873b528a5e928.svg", "bitmapResolution": 1, "rotationCenterX": 63, @@ -4640,7 +4668,7 @@ }, { "costumeName": "fish-c", - "baseLayerID": 11, + "baseLayerID": -1, "baseLayerMD5": "06c139dcfe45bf31ef45e7030b77dc36.svg", "bitmapResolution": 1, "rotationCenterX": 63, @@ -4648,7 +4676,7 @@ }, { "costumeName": "fish-d", - "baseLayerID": 12, + "baseLayerID": -1, "baseLayerMD5": "6a3a2c97374c157e0dbc0a03c2079284.svg", "bitmapResolution": 1, "rotationCenterX": 63, @@ -4668,7 +4696,6 @@ }, { "name": "Fox", - "baseLayerID": -1, "md5": "fab5488e600e81565f0fc285fc7050f8.svg", "type": "sprite", "tags": [ @@ -4696,7 +4723,7 @@ "costumes": [ { "costumeName": "fox-a", - "baseLayerID": 0, + "baseLayerID": -1, "baseLayerMD5": "fab5488e600e81565f0fc285fc7050f8.svg", "bitmapResolution": 1, "rotationCenterX": 94, @@ -4704,7 +4731,7 @@ }, { "costumeName": "fox-b", - "baseLayerID": 1, + "baseLayerID": -1, "baseLayerMD5": "afb192ae250a74dfac18bfc52d1d6266.svg", "bitmapResolution": 1, "rotationCenterX": 94, @@ -4712,7 +4739,7 @@ }, { "costumeName": "fox-c", - "baseLayerID": 2, + "baseLayerID": -1, "baseLayerMD5": "29f858d384db7998c0e5183f6a31a3b4.svg", "bitmapResolution": 1, "rotationCenterX": 94, @@ -4731,25 +4758,24 @@ } }, { - "name": "Frog", - "baseLayerID": -1, - "md5": "285483a688eed2ff8010c65112f99c41.svg", + "name": "Frank", + "md5": "19a09a005d7199d2e681e53a761bfe11.svg", "type": "sprite", "tags": [ - "animals", - "amphibian", - "nature", - "hopping", - "green", - "wart" + "fantasy", + "spooky", + "halloween", + "frankenstein", + "monster", + "alex eben meyer" ], "info": [ 0, - 1, + 4, 1 ], "json": { - "objName": "Frog", + "objName": "Frank", "sounds": [ { "soundName": "pop", @@ -4762,19 +4788,43 @@ ], "costumes": [ { - "costumeName": "frog", - "baseLayerID": 44, - "baseLayerMD5": "285483a688eed2ff8010c65112f99c41.svg", + "costumeName": "frank-a", + "baseLayerID": -1, + "baseLayerMD5": "19a09a005d7199d2e681e53a761bfe11.svg", "bitmapResolution": 1, - "rotationCenterX": 48, - "rotationCenterY": 30 - } - ], - "currentCostumeIndex": 0, - "scratchX": -19, - "scratchY": -11, - "scale": 1, - "direction": 90, + "rotationCenterX": 154, + "rotationCenterY": 107 + }, + { + "costumeName": "frank-b", + "baseLayerID": -1, + "baseLayerMD5": "a03102442ee197a39083fba24e852792.svg", + "bitmapResolution": 1, + "rotationCenterX": 154, + "rotationCenterY": 107 + }, + { + "costumeName": "frank-c", + "baseLayerID": -1, + "baseLayerMD5": "b456d8dc4b7895d61c90dbc909d8a4c6.svg", + "bitmapResolution": 1, + "rotationCenterX": 154, + "rotationCenterY": 107 + }, + { + "costumeName": "frank-d", + "baseLayerID": -1, + "baseLayerMD5": "8743c01814fed4190a582ba1520e8f6a.svg", + "bitmapResolution": 1, + "rotationCenterX": 154, + "rotationCenterY": 107 + } + ], + "currentCostumeIndex": 0, + "scratchX": -110, + "scratchY": -24, + "scale": 1, + "direction": 90, "rotationStyle": "normal", "isDraggable": false, "visible": true, @@ -4782,13 +4832,16 @@ } }, { - "name": "Fruit Salad", - "baseLayerID": -1, - "md5": "dbf8cc34f7ca18b4a008d2890dba56b7.svg", + "name": "Frog", + "md5": "285483a688eed2ff8010c65112f99c41.svg", "type": "sprite", "tags": [ - "food", - "fruit" + "animals", + "amphibian", + "nature", + "hopping", + "green", + "wart" ], "info": [ 0, @@ -4796,7 +4849,7 @@ 1 ], "json": { - "objName": "Fruit Salad", + "objName": "Frog", "sounds": [ { "soundName": "pop", @@ -4809,17 +4862,17 @@ ], "costumes": [ { - "costumeName": "fruitsalad", - "baseLayerID": 29, - "baseLayerMD5": "dbf8cc34f7ca18b4a008d2890dba56b7.svg", + "costumeName": "frog", + "baseLayerID": -1, + "baseLayerMD5": "285483a688eed2ff8010c65112f99c41.svg", "bitmapResolution": 1, - "rotationCenterX": 30, - "rotationCenterY": 22 + "rotationCenterX": 48, + "rotationCenterY": 30 } ], "currentCostumeIndex": 0, - "scratchX": 27, - "scratchY": 0, + "scratchX": -19, + "scratchY": -11, "scale": 1, "direction": 90, "rotationStyle": "normal", @@ -4829,15 +4882,12 @@ } }, { - "name": "Ghost1", - "baseLayerID": -1, - "md5": "c88579c578f2d171de78612f2ff9c9d9.svg", + "name": "Fruit Salad", + "md5": "dbf8cc34f7ca18b4a008d2890dba56b7.svg", "type": "sprite", "tags": [ - "fantasy", - "castle", - "spirit", - "spooky" + "food", + "fruit" ], "info": [ 0, @@ -4845,7 +4895,7 @@ 1 ], "json": { - "objName": "Ghost1", + "objName": "Fruit Salad", "sounds": [ { "soundName": "pop", @@ -4858,17 +4908,17 @@ ], "costumes": [ { - "costumeName": "ghost1 ", - "baseLayerID": 45, - "baseLayerMD5": "c88579c578f2d171de78612f2ff9c9d9.svg", + "costumeName": "fruitsalad", + "baseLayerID": -1, + "baseLayerMD5": "dbf8cc34f7ca18b4a008d2890dba56b7.svg", "bitmapResolution": 1, - "rotationCenterX": 60, - "rotationCenterY": 63 + "rotationCenterX": 30, + "rotationCenterY": 22 } ], "currentCostumeIndex": 0, - "scratchX": 90, - "scratchY": 38, + "scratchX": 27, + "scratchY": 0, "scale": 1, "direction": 90, "rotationStyle": "normal", @@ -4878,23 +4928,24 @@ } }, { - "name": "Ghost2", - "baseLayerID": -1, - "md5": "607be245da950af1a4e4d79acfda46e3.svg", + "name": "Ghost", + "md5": "23c317a22dec95421f2532090cc8de48.svg", "type": "sprite", "tags": [ "fantasy", "spooky", - "spirit", - "castle" + "halloween", + "ghoul", + "monster", + "alex eben meyer" ], "info": [ 0, - 2, + 4, 1 ], "json": { - "objName": "Ghost2", + "objName": "Ghost", "sounds": [ { "soundName": "pop", @@ -4907,25 +4958,41 @@ ], "costumes": [ { - "costumeName": "ghost2-a", - "baseLayerID": 67, - "baseLayerMD5": "607be245da950af1a4e4d79acfda46e3.svg", + "costumeName": "ghost-a", + "baseLayerID": -1, + "baseLayerMD5": "23c317a22dec95421f2532090cc8de48.svg", "bitmapResolution": 1, - "rotationCenterX": 75, - "rotationCenterY": 75 + "rotationCenterX": 98, + "rotationCenterY": 73 }, { - "costumeName": "ghost2-b", - "baseLayerID": 68, - "baseLayerMD5": "b9e2ebbe17c617ac182abd8bc1627693.svg", + "costumeName": "ghost-b", + "baseLayerID": -1, + "baseLayerMD5": "e86a742d091370950f3353e1e430cdb2.svg", "bitmapResolution": 1, - "rotationCenterX": 75, - "rotationCenterY": 75 + "rotationCenterX": 98, + "rotationCenterY": 73 + }, + { + "costumeName": "ghost-c", + "baseLayerID": -1, + "baseLayerMD5": "24a8b71b780bc665c3e6d37c11221137.svg", + "bitmapResolution": 1, + "rotationCenterX": 98, + "rotationCenterY": 73 + }, + { + "costumeName": "ghost-d", + "baseLayerID": -1, + "baseLayerMD5": "221b794cad3d045008299e3c8440170c.svg", + "bitmapResolution": 1, + "rotationCenterX": 98, + "rotationCenterY": 73 } ], "currentCostumeIndex": 0, - "scratchX": 39, - "scratchY": -22, + "scratchX": 42, + "scratchY": 27, "scale": 1, "direction": 90, "rotationStyle": "normal", @@ -4936,7 +5003,6 @@ }, { "name": "Gift", - "baseLayerID": -1, "md5": "abeae2217b3ce67b1ff761cd7a89274d.svg", "type": "sprite", "tags": [ @@ -4963,7 +5029,7 @@ "costumes": [ { "costumeName": "gift-a", - "baseLayerID": 30, + "baseLayerID": -1, "baseLayerMD5": "abeae2217b3ce67b1ff761cd7a89274d.svg", "bitmapResolution": 1, "rotationCenterX": 33, @@ -4971,7 +5037,7 @@ }, { "costumeName": "gift-b", - "baseLayerID": 31, + "baseLayerID": -1, "baseLayerMD5": "5cae973c98f2d98b51e6c6b3c9602f8c.svg", "bitmapResolution": 1, "rotationCenterX": 33, @@ -4991,7 +5057,6 @@ }, { "name": "Giga", - "baseLayerID": -1, "md5": "93cb048a1d199f92424b9c097fa5fa38.svg", "type": "sprite", "tags": [ @@ -5018,7 +5083,7 @@ "costumes": [ { "costumeName": "giga-a", - "baseLayerID": 74, + "baseLayerID": -1, "baseLayerMD5": "93cb048a1d199f92424b9c097fa5fa38.svg", "bitmapResolution": 1, "rotationCenterX": 72, @@ -5026,7 +5091,7 @@ }, { "costumeName": "giga-b", - "baseLayerID": 75, + "baseLayerID": -1, "baseLayerMD5": "528613711a7eae3a929025be04db081c.svg", "bitmapResolution": 1, "rotationCenterX": 72, @@ -5034,7 +5099,7 @@ }, { "costumeName": "giga-c", - "baseLayerID": 76, + "baseLayerID": -1, "baseLayerMD5": "ee4dd21d7ca6d1b889ee25d245cbcc66.svg", "bitmapResolution": 1, "rotationCenterX": 73, @@ -5042,7 +5107,7 @@ }, { "costumeName": "giga-d", - "baseLayerID": 77, + "baseLayerID": -1, "baseLayerMD5": "7708e2d9f83a01476ee6d17aa540ddf1.svg", "bitmapResolution": 1, "rotationCenterX": 73, @@ -5062,7 +5127,6 @@ }, { "name": "Giga Walking", - "baseLayerID": -1, "md5": "f76bc420011db2cdb2de378c1536f6da.svg", "type": "sprite", "tags": [ @@ -5089,7 +5153,7 @@ "costumes": [ { "costumeName": "Giga walk1", - "baseLayerID": 32, + "baseLayerID": -1, "baseLayerMD5": "f76bc420011db2cdb2de378c1536f6da.svg", "bitmapResolution": 1, "rotationCenterX": 70, @@ -5097,7 +5161,7 @@ }, { "costumeName": "Giga walk2", - "baseLayerID": 33, + "baseLayerID": -1, "baseLayerMD5": "43b5874e8a54f93bd02727f0abf6905b.svg", "bitmapResolution": 1, "rotationCenterX": 71, @@ -5105,7 +5169,7 @@ }, { "costumeName": "Giga walk3", - "baseLayerID": 34, + "baseLayerID": -1, "baseLayerMD5": "9aab3bbb375765391978be4f6d478ab3.svg", "bitmapResolution": 1, "rotationCenterX": 71, @@ -5113,7 +5177,7 @@ }, { "costumeName": "Giga walk4", - "baseLayerID": 35, + "baseLayerID": -1, "baseLayerMD5": "22e4ae40919cf0fe6b4d7649d14a6e71.svg", "bitmapResolution": 1, "rotationCenterX": 73, @@ -5133,7 +5197,6 @@ }, { "name": "Glass Water", - "baseLayerID": -1, "md5": "c364b9e1f4bcdc61705032d89eaaa0a1.svg", "type": "sprite", "tags": [ @@ -5161,7 +5224,7 @@ "costumes": [ { "costumeName": "glass water-a", - "baseLayerID": 36, + "baseLayerID": -1, "baseLayerMD5": "c364b9e1f4bcdc61705032d89eaaa0a1.svg", "bitmapResolution": 1, "rotationCenterX": 39, @@ -5169,7 +5232,7 @@ }, { "costumeName": "glass water-b", - "baseLayerID": 37, + "baseLayerID": -1, "baseLayerMD5": "bc07ce6a2004ac91ce704531a1c526e5.svg", "bitmapResolution": 1, "rotationCenterX": 39, @@ -5189,7 +5252,6 @@ }, { "name": "Glasses", - "baseLayerID": -1, "md5": "5fcf716b53f223bc86b10ab0eca3e162.svg", "type": "sprite", "tags": [ @@ -5216,7 +5278,7 @@ "costumes": [ { "costumeName": "glasses", - "baseLayerID": 38, + "baseLayerID": -1, "baseLayerMD5": "5fcf716b53f223bc86b10ab0eca3e162.svg", "bitmapResolution": 1, "rotationCenterX": 16, @@ -5236,7 +5298,6 @@ }, { "name": "Goalie", - "baseLayerID": -1, "md5": "86b0610ea21fdecb99795c5e6d52768c.svg", "type": "sprite", "tags": [ @@ -5265,7 +5326,7 @@ "costumes": [ { "costumeName": "goalie-a", - "baseLayerID": 0, + "baseLayerID": -1, "baseLayerMD5": "86b0610ea21fdecb99795c5e6d52768c.svg", "bitmapResolution": 1, "rotationCenterX": 76, @@ -5273,7 +5334,7 @@ }, { "costumeName": "goalie-b", - "baseLayerID": 1, + "baseLayerID": -1, "baseLayerMD5": "af3ef5125d187772240a1120e7eb67ac.svg", "bitmapResolution": 1, "rotationCenterX": 76, @@ -5281,7 +5342,7 @@ }, { "costumeName": "goalie-c", - "baseLayerID": 2, + "baseLayerID": -1, "baseLayerMD5": "7c9377cedae11a094d2e77bed3edb884.svg", "bitmapResolution": 1, "rotationCenterX": 76, @@ -5289,7 +5350,7 @@ }, { "costumeName": "goalie-d", - "baseLayerID": 3, + "baseLayerID": -1, "baseLayerMD5": "bd628034d356d30b0e9b563447471290.svg", "bitmapResolution": 1, "rotationCenterX": 76, @@ -5297,7 +5358,7 @@ }, { "costumeName": "goalie-e", - "baseLayerID": 4, + "baseLayerID": -1, "baseLayerMD5": "b3f6c4c0be9a0f71e9486dea51e513c3.svg", "bitmapResolution": 1, "rotationCenterX": 76, @@ -5317,7 +5378,6 @@ }, { "name": "Goblin", - "baseLayerID": -1, "md5": "f10eaedff51f50f0809a7b4b310337fa.svg", "type": "sprite", "tags": [ @@ -5389,7 +5449,6 @@ }, { "name": "Gobo", - "baseLayerID": -1, "md5": "1f5ea0d12f85aed2e471cdd21b0bd6d7.svg", "type": "sprite", "tags": [ @@ -5418,7 +5477,7 @@ "costumes": [ { "costumeName": "gobo-a", - "baseLayerID": 71, + "baseLayerID": -1, "baseLayerMD5": "1f5ea0d12f85aed2e471cdd21b0bd6d7.svg", "bitmapResolution": 1, "rotationCenterX": 47, @@ -5426,7 +5485,7 @@ }, { "costumeName": "gobo-b", - "baseLayerID": 72, + "baseLayerID": -1, "baseLayerMD5": "73e493e4abd5d0954b677b97abcb7116.svg", "bitmapResolution": 1, "rotationCenterX": 47, @@ -5434,7 +5493,7 @@ }, { "costumeName": "gobo-c", - "baseLayerID": 73, + "baseLayerID": -1, "baseLayerMD5": "bc68a6bdf300df7b53d73b38f74c844e.svg", "bitmapResolution": 1, "rotationCenterX": 47, @@ -5454,7 +5513,6 @@ }, { "name": "Green Flag", - "baseLayerID": -1, "md5": "173e20ac537d2c278ed621be3db3fc87.svg", "type": "sprite", "tags": [ @@ -5480,7 +5538,7 @@ "costumes": [ { "costumeName": "green flag", - "baseLayerID": 39, + "baseLayerID": -1, "baseLayerMD5": "173e20ac537d2c278ed621be3db3fc87.svg", "bitmapResolution": 1, "rotationCenterX": 70, @@ -5500,7 +5558,6 @@ }, { "name": "Griffin", - "baseLayerID": -1, "md5": "d2ddc25b224ad72240f92e632afc7c69.svg", "type": "sprite", "tags": [ @@ -5557,7 +5614,6 @@ }, { "name": "Griffin-flying", - "baseLayerID": -1, "md5": "03d75e0c7c34e8618545a5f4913db4ea.svg", "type": "sprite", "tags": [ @@ -5614,7 +5670,6 @@ }, { "name": "Guitar", - "baseLayerID": -1, "md5": "cb8c2a5e69da7538e1dd73cb7ff4a666.svg", "type": "sprite", "tags": [ @@ -5631,7 +5686,7 @@ "sounds": [ { "soundName": "C guitar", - "soundID": 0, + "soundID": -1, "md5": "22baa07795a9a524614075cdea543793.wav", "sampleCount": 44864, "rate": 22050, @@ -5639,7 +5694,7 @@ }, { "soundName": "D guitar", - "soundID": 1, + "soundID": -1, "md5": "2dbcfae6a55738f94bbb40aa5fcbf7ce.wav", "sampleCount": 41120, "rate": 22050, @@ -5647,7 +5702,7 @@ }, { "soundName": "E guitar", - "soundID": 2, + "soundID": -1, "md5": "4b5d1da83e59bf35578324573c991666.wav", "sampleCount": 38400, "rate": 22050, @@ -5655,7 +5710,7 @@ }, { "soundName": "F guitar", - "soundID": 3, + "soundID": -1, "md5": "b51d086aeb1921ec405561df52ecbc50.wav", "sampleCount": 36416, "rate": 22050, @@ -5663,7 +5718,7 @@ }, { "soundName": "G guitar", - "soundID": 4, + "soundID": -1, "md5": "98a835713ecea2f3ef9f4f442d52ad20.wav", "sampleCount": 33600, "rate": 22050, @@ -5671,7 +5726,7 @@ }, { "soundName": "A guitar", - "soundID": 5, + "soundID": -1, "md5": "ee753e87d212d4b2fb650ca660f1e839.wav", "sampleCount": 31872, "rate": 22050, @@ -5679,7 +5734,7 @@ }, { "soundName": "B guitar", - "soundID": 6, + "soundID": -1, "md5": "2ae2d67de62df8ca54d638b4ad2466c3.wav", "sampleCount": 29504, "rate": 22050, @@ -5687,7 +5742,7 @@ }, { "soundName": "C2 guitar", - "soundID": 7, + "soundID": -1, "md5": "c8d2851bd99d8e0ce6c1f05e4acc7f34.wav", "sampleCount": 27712, "rate": 22050, @@ -5697,7 +5752,7 @@ "costumes": [ { "costumeName": "guitar-a", - "baseLayerID": 0, + "baseLayerID": -1, "baseLayerMD5": "cb8c2a5e69da7538e1dd73cb7ff4a666.svg", "bitmapResolution": 1, "rotationCenterX": 47, @@ -5705,7 +5760,7 @@ }, { "costumeName": "guitar-b", - "baseLayerID": 1, + "baseLayerID": -1, "baseLayerMD5": "fed44bd1091628c060f45060a84f2885.svg", "bitmapResolution": 1, "rotationCenterX": 47, @@ -5725,7 +5780,6 @@ }, { "name": "Guitar-electric2", - "baseLayerID": -1, "md5": "1fc433b89038f9e16092c9f4d7514cca.svg", "type": "sprite", "tags": [ @@ -5742,7 +5796,7 @@ "sounds": [ { "soundName": "C elec guitar", - "soundID": 8, + "soundID": -1, "md5": "0d340de02e14bebaf8dfa0e43eb3f1f9.wav", "sampleCount": 44100, "rate": 22050, @@ -5750,7 +5804,7 @@ }, { "soundName": "D elec guitar", - "soundID": 9, + "soundID": -1, "md5": "1b5de9866801eb2f9d4f57c7c3b473f5.wav", "sampleCount": 44100, "rate": 22050, @@ -5758,7 +5812,7 @@ }, { "soundName": "E elec guitar", - "soundID": 10, + "soundID": -1, "md5": "2e6a6ae3e0f72bf78c74def8130f459a.wav", "sampleCount": 44100, "rate": 22050, @@ -5766,7 +5820,7 @@ }, { "soundName": "F elec guitar", - "soundID": 11, + "soundID": -1, "md5": "5eb00f15f21f734986aa45156d44478d.wav", "sampleCount": 44100, "rate": 22050, @@ -5774,7 +5828,7 @@ }, { "soundName": "G elec guitar", - "soundID": 12, + "soundID": -1, "md5": "cd0d0e7dad415b2ffa2ba7a61860eaf8.wav", "sampleCount": 44100, "rate": 22050, @@ -5782,7 +5836,7 @@ }, { "soundName": "A elec guitar", - "soundID": 13, + "soundID": -1, "md5": "fa5f7fea601e9368dd68449d9a54c995.wav", "sampleCount": 44100, "rate": 22050, @@ -5790,7 +5844,7 @@ }, { "soundName": "B elec guitar", - "soundID": 14, + "soundID": -1, "md5": "81f142d0b00189703d7fe9b1f13f6f87.wav", "sampleCount": 44100, "rate": 22050, @@ -5798,7 +5852,7 @@ }, { "soundName": "C2 elec guitar", - "soundID": 15, + "soundID": -1, "md5": "3a8ed3129f22cba5b0810bc030d16b5f.wav", "sampleCount": 44100, "rate": 22050, @@ -5808,7 +5862,7 @@ "costumes": [ { "costumeName": "guitar-electric2-a", - "baseLayerID": 2, + "baseLayerID": -1, "baseLayerMD5": "1fc433b89038f9e16092c9f4d7514cca.svg", "bitmapResolution": 1, "rotationCenterX": 38, @@ -5816,7 +5870,7 @@ }, { "costumeName": "guitar-electric2-b", - "baseLayerID": 3, + "baseLayerID": -1, "baseLayerMD5": "7b843dbc93d4b2ea31fa67cca3d5077c.svg", "bitmapResolution": 1, "rotationCenterX": 38, @@ -5836,7 +5890,6 @@ }, { "name": "Gutar-electric1", - "baseLayerID": -1, "md5": "b2b469b9d11fd23bdd671eab94dc58ff.svg", "type": "sprite", "tags": [ @@ -5853,7 +5906,7 @@ "sounds": [ { "soundName": "C elec guitar", - "soundID": 8, + "soundID": -1, "md5": "0d340de02e14bebaf8dfa0e43eb3f1f9.wav", "sampleCount": 44100, "rate": 22050, @@ -5861,7 +5914,7 @@ }, { "soundName": "D elec guitar", - "soundID": 9, + "soundID": -1, "md5": "1b5de9866801eb2f9d4f57c7c3b473f5.wav", "sampleCount": 44100, "rate": 22050, @@ -5869,7 +5922,7 @@ }, { "soundName": "E elec guitar", - "soundID": 10, + "soundID": -1, "md5": "2e6a6ae3e0f72bf78c74def8130f459a.wav", "sampleCount": 44100, "rate": 22050, @@ -5877,7 +5930,7 @@ }, { "soundName": "F elec guitar", - "soundID": 11, + "soundID": -1, "md5": "5eb00f15f21f734986aa45156d44478d.wav", "sampleCount": 44100, "rate": 22050, @@ -5885,7 +5938,7 @@ }, { "soundName": "G elec guitar", - "soundID": 12, + "soundID": -1, "md5": "cd0d0e7dad415b2ffa2ba7a61860eaf8.wav", "sampleCount": 44100, "rate": 22050, @@ -5893,7 +5946,7 @@ }, { "soundName": "A elec guitar", - "soundID": 13, + "soundID": -1, "md5": "fa5f7fea601e9368dd68449d9a54c995.wav", "sampleCount": 44100, "rate": 22050, @@ -5901,7 +5954,7 @@ }, { "soundName": "B elec guitar", - "soundID": 14, + "soundID": -1, "md5": "81f142d0b00189703d7fe9b1f13f6f87.wav", "sampleCount": 44100, "rate": 22050, @@ -5909,7 +5962,7 @@ }, { "soundName": "C2 elec guitar", - "soundID": 15, + "soundID": -1, "md5": "3a8ed3129f22cba5b0810bc030d16b5f.wav", "sampleCount": 44100, "rate": 22050, @@ -5919,7 +5972,7 @@ "costumes": [ { "costumeName": "guitar-electric1-a", - "baseLayerID": 4, + "baseLayerID": -1, "baseLayerMD5": "b2b469b9d11fd23bdd671eab94dc58ff.svg", "bitmapResolution": 1, "rotationCenterX": 42, @@ -5927,7 +5980,7 @@ }, { "costumeName": "guitar-electric1-b", - "baseLayerID": 5, + "baseLayerID": -1, "baseLayerMD5": "3632184c19c66a088a99568570d61b13.svg", "bitmapResolution": 1, "rotationCenterX": 42, @@ -5947,7 +6000,6 @@ }, { "name": "Hat", - "baseLayerID": -1, "md5": "b3beb1f52d371428d70b65a0c4c5c001.svg", "type": "sprite", "tags": [ @@ -5973,7 +6025,7 @@ "costumes": [ { "costumeName": "Hat", - "baseLayerID": 40, + "baseLayerID": -1, "baseLayerMD5": "b3beb1f52d371428d70b65a0c4c5c001.svg", "bitmapResolution": 1, "rotationCenterX": 52, @@ -5993,7 +6045,6 @@ }, { "name": "Hat Beanie", - "baseLayerID": -1, "md5": "3271da33e4108ed08a303c2244739fbf.svg", "type": "sprite", "tags": [ @@ -6019,7 +6070,7 @@ "costumes": [ { "costumeName": "hat beanie", - "baseLayerID": 41, + "baseLayerID": -1, "baseLayerMD5": "3271da33e4108ed08a303c2244739fbf.svg", "bitmapResolution": 1, "rotationCenterX": 28, @@ -6039,7 +6090,6 @@ }, { "name": "Hat Party1", - "baseLayerID": -1, "md5": "70a7f535d8857cf9175492415361c361.svg", "type": "sprite", "tags": [ @@ -6066,7 +6116,7 @@ "costumes": [ { "costumeName": "partyhat1", - "baseLayerID": 42, + "baseLayerID": -1, "baseLayerMD5": "70a7f535d8857cf9175492415361c361.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -6086,7 +6136,6 @@ }, { "name": "Hat Party2", - "baseLayerID": -1, "md5": "9b7a84fe3e50621752917e4e484a1e2f.svg", "type": "sprite", "tags": [ @@ -6113,7 +6162,7 @@ "costumes": [ { "costumeName": "hat party2-a", - "baseLayerID": 43, + "baseLayerID": -1, "baseLayerMD5": "9b7a84fe3e50621752917e4e484a1e2f.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -6133,7 +6182,6 @@ }, { "name": "Hat Winter", - "baseLayerID": -1, "md5": "6c2ee1b97f6ec2b3457a25a3975a2009.svg", "type": "sprite", "tags": [ @@ -6160,7 +6208,7 @@ "costumes": [ { "costumeName": "hat winter", - "baseLayerID": 44, + "baseLayerID": -1, "baseLayerMD5": "6c2ee1b97f6ec2b3457a25a3975a2009.svg", "bitmapResolution": 1, "rotationCenterX": 26, @@ -6180,7 +6228,6 @@ }, { "name": "Hat Wizard", - "baseLayerID": -1, "md5": "581571e8c8f5adeb01565e12b1b77b58.svg", "type": "sprite", "tags": [ @@ -6207,7 +6254,7 @@ "costumes": [ { "costumeName": "hat wizard", - "baseLayerID": 45, + "baseLayerID": -1, "baseLayerMD5": "581571e8c8f5adeb01565e12b1b77b58.svg", "bitmapResolution": 1, "rotationCenterX": 76, @@ -6227,7 +6274,6 @@ }, { "name": "Headband", - "baseLayerID": -1, "md5": "961148d1605a1bd8ce80ed8d39e831c2.svg", "type": "sprite", "tags": [ @@ -6254,7 +6300,7 @@ "costumes": [ { "costumeName": "headband", - "baseLayerID": 46, + "baseLayerID": -1, "baseLayerMD5": "961148d1605a1bd8ce80ed8d39e831c2.svg", "bitmapResolution": 1, "rotationCenterX": 53, @@ -6274,7 +6320,6 @@ }, { "name": "Heart", - "baseLayerID": -1, "md5": "6e79e087c866a016f99ee482e1aeba47.svg", "type": "sprite", "tags": [ @@ -6304,7 +6349,7 @@ "costumes": [ { "costumeName": "heart red", - "baseLayerID": 47, + "baseLayerID": -1, "baseLayerMD5": "6e79e087c866a016f99ee482e1aeba47.svg", "bitmapResolution": 1, "rotationCenterX": 65, @@ -6312,7 +6357,7 @@ }, { "costumeName": "heart purple", - "baseLayerID": 48, + "baseLayerID": -1, "baseLayerMD5": "b15362bb6b02a59e364db9081ccf19aa.svg", "bitmapResolution": 1, "rotationCenterX": 66, @@ -6332,7 +6377,6 @@ }, { "name": "Heart Candy", - "baseLayerID": -1, "md5": "d448acd247f10f32bef7823cd433f928.svg", "type": "sprite", "tags": [ @@ -6358,7 +6402,7 @@ "costumes": [ { "costumeName": "heart love it", - "baseLayerID": 49, + "baseLayerID": -1, "baseLayerMD5": "d448acd247f10f32bef7823cd433f928.svg", "bitmapResolution": 1, "rotationCenterX": 58, @@ -6366,7 +6410,7 @@ }, { "costumeName": "heart code", - "baseLayerID": 50, + "baseLayerID": -1, "baseLayerMD5": "497c5df9e02467202ff93096dccaf91f.svg", "bitmapResolution": 1, "rotationCenterX": 58, @@ -6374,7 +6418,7 @@ }, { "costumeName": "heart sweet", - "baseLayerID": 51, + "baseLayerID": -1, "baseLayerMD5": "a39d78d33b051e8b12a4b2a10d77b249.svg", "bitmapResolution": 1, "rotationCenterX": 58, @@ -6382,7 +6426,7 @@ }, { "costumeName": "heart smile", - "baseLayerID": 52, + "baseLayerID": -1, "baseLayerMD5": "74a8f75d139d330b715787edbbacd83d.svg", "bitmapResolution": 1, "rotationCenterX": 58, @@ -6402,7 +6446,6 @@ }, { "name": "Heart Face", - "baseLayerID": -1, "md5": "4ab84263da32069cf97cc0fa52729a0d.svg", "type": "sprite", "tags": [ @@ -6428,7 +6471,7 @@ "costumes": [ { "costumeName": "heart face", - "baseLayerID": 53, + "baseLayerID": -1, "baseLayerMD5": "4ab84263da32069cf97cc0fa52729a0d.svg", "bitmapResolution": 1, "rotationCenterX": 59, @@ -6448,7 +6491,6 @@ }, { "name": "Hedgehog", - "baseLayerID": -1, "md5": "32416e6b2ef8e45fb5fd10778c1b9a9f.svg", "type": "sprite", "tags": [ @@ -6529,7 +6571,6 @@ }, { "name": "Hippo1", - "baseLayerID": -1, "md5": "c1353c4a5eec5e6f32ed053e6f6e8f99.svg", "type": "sprite", "tags": [ @@ -6562,7 +6603,7 @@ "costumes": [ { "costumeName": "hippo1-a", - "baseLayerID": 78, + "baseLayerID": -1, "baseLayerMD5": "c1353c4a5eec5e6f32ed053e6f6e8f99.svg", "bitmapResolution": 1, "rotationCenterX": 69, @@ -6570,7 +6611,7 @@ }, { "costumeName": "hippo1-b", - "baseLayerID": 79, + "baseLayerID": -1, "baseLayerMD5": "e65ed93bbb9cccf698fc7e774ab609a6.svg", "bitmapResolution": 1, "rotationCenterX": 69, @@ -6590,7 +6631,6 @@ }, { "name": "Home Button", - "baseLayerID": -1, "md5": "1bac530a0701a8fc88bb0802ae6787a3.svg", "type": "sprite", "tags": [ @@ -6617,7 +6657,7 @@ "costumes": [ { "costumeName": "home button", - "baseLayerID": 54, + "baseLayerID": -1, "baseLayerMD5": "1bac530a0701a8fc88bb0802ae6787a3.svg", "bitmapResolution": 1, "rotationCenterX": 72, @@ -6637,7 +6677,6 @@ }, { "name": "Horse1", - "baseLayerID": -1, "md5": "32f4d80477cd070cb0848e555d374060.svg", "type": "sprite", "tags": [ @@ -6658,7 +6697,7 @@ "sounds": [ { "soundName": "horse", - "soundID": 5, + "soundID": -1, "md5": "45ffcf97ee2edca0199ff5aa71a5b72e.wav", "sampleCount": 14464, "rate": 11025, @@ -6666,7 +6705,7 @@ }, { "soundName": "horse gallop", - "soundID": 6, + "soundID": -1, "md5": "058a34b5fb8b57178b5322d994b6b8c8.wav", "sampleCount": 38336, "rate": 11025, @@ -6676,7 +6715,7 @@ "costumes": [ { "costumeName": "horse1-a", - "baseLayerID": 80, + "baseLayerID": -1, "baseLayerMD5": "32f4d80477cd070cb0848e555d374060.svg", "bitmapResolution": 1, "rotationCenterX": 119, @@ -6684,7 +6723,7 @@ }, { "costumeName": "horse1-b", - "baseLayerID": 81, + "baseLayerID": -1, "baseLayerMD5": "ffa6431c5ef2a4e975ecffacdb0efea7.svg", "bitmapResolution": 1, "rotationCenterX": 103, @@ -6704,7 +6743,6 @@ }, { "name": "Jamie", - "baseLayerID": -1, "md5": "90f9166fe6500d0c0caad8b1964d6b74.svg", "type": "sprite", "tags": [ @@ -6777,7 +6815,6 @@ }, { "name": "Jar", - "baseLayerID": -1, "md5": "73784b267083733e08bcf06aa7d6536a.svg", "type": "sprite", "tags": [ @@ -6833,7 +6870,6 @@ }, { "name": "Jeans", - "baseLayerID": -1, "md5": "4e283da8c59bcbb9803bdc0016b14c21.svg", "type": "sprite", "tags": [ @@ -6859,7 +6895,7 @@ "costumes": [ { "costumeName": "jeans-a", - "baseLayerID": 55, + "baseLayerID": -1, "baseLayerMD5": "4e283da8c59bcbb9803bdc0016b14c21.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -6867,7 +6903,7 @@ }, { "costumeName": "jeans-b", - "baseLayerID": 56, + "baseLayerID": -1, "baseLayerMD5": "01732aa03a48482093fbed3ea402c4a9.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -6887,7 +6923,6 @@ }, { "name": "Jellyfish", - "baseLayerID": -1, "md5": "9e6563e417350af3094c2ed02b9b0bbd.svg", "type": "sprite", "tags": [ @@ -6918,7 +6953,7 @@ "costumes": [ { "costumeName": "jellyfish-a", - "baseLayerID": 0, + "baseLayerID": -1, "baseLayerMD5": "9e6563e417350af3094c2ed02b9b0bbd.svg", "bitmapResolution": 1, "rotationCenterX": 99, @@ -6926,7 +6961,7 @@ }, { "costumeName": "jellyfish-b", - "baseLayerID": 1, + "baseLayerID": -1, "baseLayerMD5": "31a42fad0891f1298c522a6d5008930a.svg", "bitmapResolution": 1, "rotationCenterX": 99, @@ -6934,7 +6969,7 @@ }, { "costumeName": "jellyfish-c", - "baseLayerID": 2, + "baseLayerID": -1, "baseLayerMD5": "697262d9ed04467bae52cca786c36bd3.svg", "bitmapResolution": 1, "rotationCenterX": 99, @@ -6942,7 +6977,7 @@ }, { "costumeName": "jellyfish-d", - "baseLayerID": 3, + "baseLayerID": -1, "baseLayerMD5": "6a949493aaf62954f1c74f8369d494c4.svg", "bitmapResolution": 1, "rotationCenterX": 99, @@ -6962,7 +6997,6 @@ }, { "name": "Jordyn", - "baseLayerID": -1, "md5": "8dd2a2abbb8e639da8576b6e72ef9e59.svg", "type": "sprite", "tags": [ @@ -6992,7 +7026,7 @@ "costumes": [ { "costumeName": "jordyn-a", - "baseLayerID": 5, + "baseLayerID": -1, "baseLayerMD5": "8dd2a2abbb8e639da8576b6e72ef9e59.svg", "bitmapResolution": 1, "rotationCenterX": 76, @@ -7000,7 +7034,7 @@ }, { "costumeName": "jordyn-b", - "baseLayerID": 6, + "baseLayerID": -1, "baseLayerMD5": "9665f543147961551d8dc6f612d9cc41.svg", "bitmapResolution": 1, "rotationCenterX": 76, @@ -7008,7 +7042,7 @@ }, { "costumeName": "jordyn-c", - "baseLayerID": 7, + "baseLayerID": -1, "baseLayerMD5": "ec8c2286070c77ebd9dd40c96eaae3fc.svg", "bitmapResolution": 1, "rotationCenterX": 76, @@ -7016,7 +7050,7 @@ }, { "costumeName": "jordyn-d", - "baseLayerID": 8, + "baseLayerID": -1, "baseLayerMD5": "1f9ed7f29800f31ce2ee53196143a3c8.svg", "bitmapResolution": 1, "rotationCenterX": 76, @@ -7036,7 +7070,6 @@ }, { "name": "Key", - "baseLayerID": -1, "md5": "af35300cef35803e11f4ed744dc5e818.svg", "type": "sprite", "tags": [ @@ -7063,7 +7096,7 @@ "costumes": [ { "costumeName": "key", - "baseLayerID": 57, + "baseLayerID": -1, "baseLayerMD5": "af35300cef35803e11f4ed744dc5e818.svg", "bitmapResolution": 1, "rotationCenterX": 42, @@ -7083,7 +7116,6 @@ }, { "name": "Keyboard", - "baseLayerID": -1, "md5": "c67d180e964926b6393ac14781541b39.svg", "type": "sprite", "tags": [ @@ -7100,7 +7132,7 @@ "sounds": [ { "soundName": "C elec piano", - "soundID": 54, + "soundID": -1, "md5": "8366ee963cc57ad24a8a35a26f722c2b.wav", "sampleCount": 44100, "rate": 22050, @@ -7108,7 +7140,7 @@ }, { "soundName": "D elec piano", - "soundID": 55, + "soundID": -1, "md5": "835f136ca8d346a17b4d4baf8405be37.wav", "sampleCount": 44100, "rate": 22050, @@ -7116,7 +7148,7 @@ }, { "soundName": "E elec piano", - "soundID": 56, + "soundID": -1, "md5": "ab3c198f8e36efff14f0a5bad35fa3cd.wav", "sampleCount": 44100, "rate": 22050, @@ -7124,7 +7156,7 @@ }, { "soundName": "F elec piano", - "soundID": 57, + "soundID": -1, "md5": "dc5e368fc0d0dad1da609bfc3e29aa15.wav", "sampleCount": 44100, "rate": 22050, @@ -7132,7 +7164,7 @@ }, { "soundName": "G elec piano", - "soundID": 58, + "soundID": -1, "md5": "39525f6545d62a95d05153f92d63301a.wav", "sampleCount": 44100, "rate": 22050, @@ -7140,7 +7172,7 @@ }, { "soundName": "A elec piano", - "soundID": 59, + "soundID": -1, "md5": "0cfa8e84d6a5cd63afa31d541625a9ef.wav", "sampleCount": 44100, "rate": 22050, @@ -7148,7 +7180,7 @@ }, { "soundName": "B elec piano", - "soundID": 60, + "soundID": -1, "md5": "9cc77167419f228503dd57fddaa5b2a6.wav", "sampleCount": 44100, "rate": 22050, @@ -7156,7 +7188,7 @@ }, { "soundName": "C2 elec piano", - "soundID": 61, + "soundID": -1, "md5": "366c7edbd4dd5cca68bf62902999bd66.wav", "sampleCount": 44100, "rate": 22050, @@ -7166,7 +7198,7 @@ "costumes": [ { "costumeName": "keyboard-a", - "baseLayerID": 22, + "baseLayerID": -1, "baseLayerMD5": "c67d180e964926b6393ac14781541b39.svg", "bitmapResolution": 1, "rotationCenterX": 72, @@ -7174,7 +7206,7 @@ }, { "costumeName": "keyboard-b", - "baseLayerID": 23, + "baseLayerID": -1, "baseLayerMD5": "dbaf62b33de45093c3c7d13b5d49d637.svg", "bitmapResolution": 1, "rotationCenterX": 72, @@ -7194,7 +7226,6 @@ }, { "name": "Kiran", - "baseLayerID": -1, "md5": "9de23c4a7a7fbb67136b539241346854.svg", "type": "sprite", "tags": [ @@ -7282,7 +7313,6 @@ }, { "name": "Knight", - "baseLayerID": -1, "md5": "f2c5e8bc24d001b81566879dbf2f1a13.svg", "type": "sprite", "tags": [ @@ -7310,7 +7340,7 @@ "costumes": [ { "costumeName": "knight", - "baseLayerID": 46, + "baseLayerID": -1, "baseLayerMD5": "f2c5e8bc24d001b81566879dbf2f1a13.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -7330,7 +7360,6 @@ }, { "name": "Ladybug1", - "baseLayerID": -1, "md5": "f16a1ccc69a4a8190a927f1595aa7bfa.svg", "type": "sprite", "tags": [ @@ -7359,7 +7388,7 @@ "costumes": [ { "costumeName": "ladybug2", - "baseLayerID": 47, + "baseLayerID": -1, "baseLayerMD5": "f16a1ccc69a4a8190a927f1595aa7bfa.svg", "bitmapResolution": 1, "rotationCenterX": 41, @@ -7379,7 +7408,6 @@ }, { "name": "Ladybug2", - "baseLayerID": -1, "md5": "c018a3eed966d5f92c69f2188dfd2aae.svg", "type": "sprite", "tags": [ @@ -7409,7 +7437,7 @@ "costumes": [ { "costumeName": "ladybug2-a", - "baseLayerID": 58, + "baseLayerID": -1, "baseLayerMD5": "c018a3eed966d5f92c69f2188dfd2aae.svg", "bitmapResolution": 1, "rotationCenterX": 49, @@ -7417,7 +7445,7 @@ }, { "costumeName": "ladybug2-b", - "baseLayerID": 59, + "baseLayerID": -1, "baseLayerMD5": "a2bb15ace808e070a2b815502952b292.svg", "bitmapResolution": 1, "rotationCenterX": 49, @@ -7437,7 +7465,6 @@ }, { "name": "Laptop", - "baseLayerID": -1, "md5": "76f456b30b98eeefd7c942b27b524e31.svg", "type": "sprite", "tags": [ @@ -7464,7 +7491,7 @@ "costumes": [ { "costumeName": "laptop", - "baseLayerID": 60, + "baseLayerID": -1, "baseLayerMD5": "76f456b30b98eeefd7c942b27b524e31.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -7484,7 +7511,6 @@ }, { "name": "Lightning", - "baseLayerID": -1, "md5": "c2d636ab2b491e591536afc3d49cbecd.svg", "type": "sprite", "tags": [ @@ -7514,7 +7540,7 @@ "costumes": [ { "costumeName": "lightning", - "baseLayerID": 61, + "baseLayerID": -1, "baseLayerMD5": "c2d636ab2b491e591536afc3d49cbecd.svg", "bitmapResolution": 1, "rotationCenterX": 21, @@ -7534,7 +7560,6 @@ }, { "name": "Line", - "baseLayerID": -1, "md5": "1b2cfb4d4746522aeb84e16a62820299.svg", "type": "sprite", "tags": [ @@ -7562,7 +7587,7 @@ "costumes": [ { "costumeName": "line", - "baseLayerID": 62, + "baseLayerID": -1, "baseLayerMD5": "1b2cfb4d4746522aeb84e16a62820299.svg", "bitmapResolution": 1, "rotationCenterX": 239, @@ -7582,7 +7607,6 @@ }, { "name": "Lion", - "baseLayerID": -1, "md5": "692a3c84366bf8ae4d16858e20e792f5.svg", "type": "sprite", "tags": [ @@ -7614,7 +7638,7 @@ "costumes": [ { "costumeName": "lion-a", - "baseLayerID": 82, + "baseLayerID": -1, "baseLayerMD5": "692a3c84366bf8ae4d16858e20e792f5.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -7622,7 +7646,7 @@ }, { "costumeName": "lion-b", - "baseLayerID": 83, + "baseLayerID": -1, "baseLayerMD5": "a519ef168a345a2846d0201bf092a6d0.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -7642,7 +7666,6 @@ }, { "name": "Llama", - "baseLayerID": -1, "md5": "07158eb6d62e309bb60a6bc36baf2300.svg", "type": "sprite", "tags": [ @@ -7670,7 +7693,7 @@ "costumes": [ { "costumeName": "llama", - "baseLayerID": 3, + "baseLayerID": -1, "baseLayerMD5": "07158eb6d62e309bb60a6bc36baf2300.svg", "bitmapResolution": 1, "rotationCenterX": 100, @@ -7678,7 +7701,7 @@ }, { "costumeName": "llama-b", - "baseLayerID": 4, + "baseLayerID": -1, "baseLayerMD5": "2021eea71514bd2b23e96076750727ae.svg", "bitmapResolution": 1, "rotationCenterX": 100, @@ -7686,7 +7709,7 @@ }, { "costumeName": "llama-c", - "baseLayerID": 5, + "baseLayerID": -1, "baseLayerMD5": "7837d7247acbc4eebb793452a35aa1f5.svg", "bitmapResolution": 1, "rotationCenterX": 100, @@ -7706,7 +7729,6 @@ }, { "name": "Magic Wand", - "baseLayerID": -1, "md5": "3db9bfe57d561557795633c5cda44e8c.svg", "type": "sprite", "tags": [ @@ -7734,7 +7756,7 @@ "costumes": [ { "costumeName": "magicwand", - "baseLayerID": 63, + "baseLayerID": -1, "baseLayerMD5": "3db9bfe57d561557795633c5cda44e8c.svg", "bitmapResolution": 1, "rotationCenterX": 41, @@ -7754,7 +7776,6 @@ }, { "name": "Max", - "baseLayerID": -1, "md5": "e10cca3bdbc09d039c2f937574f7a6ea.svg", "type": "sprite", "tags": [ @@ -7827,7 +7848,6 @@ }, { "name": "Mermaid", - "baseLayerID": -1, "md5": "36db41c47259881c26d9b98a806d3308.svg", "type": "sprite", "tags": [ @@ -7884,7 +7904,6 @@ }, { "name": "Mermaid-swimming", - "baseLayerID": -1, "md5": "9f973b89b68f7d8147f157cbac8af341.svg", "type": "sprite", "tags": [ @@ -7941,7 +7960,6 @@ }, { "name": "Microphone", - "baseLayerID": -1, "md5": "9126b6362313e20578fb88d38902cd4c.svg", "type": "sprite", "tags": [ @@ -7958,7 +7976,7 @@ "sounds": [ { "soundName": "bass beatbox", - "soundID": 41, + "soundID": -1, "md5": "28153621d293c86da0b246d314458faf.wav", "sampleCount": 6720, "rate": 22050, @@ -7966,7 +7984,7 @@ }, { "soundName": "clap beatbox", - "soundID": 42, + "soundID": -1, "md5": "abc70bb390f8e55f22f32265500d814a.wav", "sampleCount": 4224, "rate": 22050, @@ -7974,7 +7992,7 @@ }, { "soundName": "hi beatbox", - "soundID": 43, + "soundID": -1, "md5": "5a07847bf246c227204728b05a3fc8f3.wav", "sampleCount": 5856, "rate": 22050, @@ -7982,7 +8000,7 @@ }, { "soundName": "scratch beatbox", - "soundID": 44, + "soundID": -1, "md5": "859249563a7b1fc0f6e92e36d1db81c7.wav", "sampleCount": 11552, "rate": 22050, @@ -7990,7 +8008,7 @@ }, { "soundName": "snare beatbox", - "soundID": 45, + "soundID": -1, "md5": "c642c4c00135d890998f351faec55498.wav", "sampleCount": 5630, "rate": 22050, @@ -7998,7 +8016,7 @@ }, { "soundName": "snare beatbox2", - "soundID": 46, + "soundID": -1, "md5": "7ede1382b578d8fc32850b48d082d914.wav", "sampleCount": 4960, "rate": 22050, @@ -8006,7 +8024,7 @@ }, { "soundName": "wah beatbox", - "soundID": 47, + "soundID": -1, "md5": "9021b7bb06f2399f18e2db4fb87095dc.wav", "sampleCount": 6624, "rate": 22050, @@ -8014,7 +8032,7 @@ }, { "soundName": "crash beatbox", - "soundID": 48, + "soundID": -1, "md5": "725e29369e9138a43f11e0e5eb3eb562.wav", "sampleCount": 26883, "rate": 22050, @@ -8022,7 +8040,7 @@ }, { "soundName": "wub beatbox", - "soundID": 49, + "soundID": -1, "md5": "e1f32c057411da4237181ce72ae15d23.wav", "sampleCount": 7392, "rate": 22050, @@ -8032,7 +8050,7 @@ "costumes": [ { "costumeName": "microphone-a", - "baseLayerID": 16, + "baseLayerID": -1, "baseLayerMD5": "9126b6362313e20578fb88d38902cd4c.svg", "bitmapResolution": 1, "rotationCenterX": 40, @@ -8040,7 +8058,7 @@ }, { "costumeName": "microphone-b", - "baseLayerID": 17, + "baseLayerID": -1, "baseLayerMD5": "29988ebbde49beaceb06d9eb66138b80.svg", "bitmapResolution": 1, "rotationCenterX": 40, @@ -8060,7 +8078,6 @@ }, { "name": "Milk", - "baseLayerID": -1, "md5": "e6a7964bc4ea38c79a5a31d6ddfb5ba9.svg", "type": "sprite", "tags": [ @@ -8140,7 +8157,6 @@ }, { "name": "Monet", - "baseLayerID": -1, "md5": "11c46aaa5e30ad46f5c1883d6feb47b8.svg", "type": "sprite", "tags": [ @@ -8220,7 +8236,6 @@ }, { "name": "Monkey", - "baseLayerID": -1, "md5": "6e4de762dbd52cd2b6356694a9668211.svg", "type": "sprite", "tags": [ @@ -8239,7 +8254,7 @@ "sounds": [ { "soundName": "chee chee", - "soundID": 7, + "soundID": -1, "md5": "25f4826cdd61e0a1c623ec2324c16ca0.wav", "sampleCount": 34560, "rate": 22050, @@ -8249,7 +8264,7 @@ "costumes": [ { "costumeName": "monkey-a", - "baseLayerID": 84, + "baseLayerID": -1, "baseLayerMD5": "6e4de762dbd52cd2b6356694a9668211.svg", "bitmapResolution": 1, "rotationCenterX": 68, @@ -8257,7 +8272,7 @@ }, { "costumeName": "monkey-b", - "baseLayerID": 85, + "baseLayerID": -1, "baseLayerMD5": "7662a3a0f4c6fa21fdf2de33bd80fe5f.svg", "bitmapResolution": 1, "rotationCenterX": 68, @@ -8265,7 +8280,7 @@ }, { "costumeName": "monkey-c", - "baseLayerID": 86, + "baseLayerID": -1, "baseLayerMD5": "db8eb50b948047181922310bb94511fb.svg", "bitmapResolution": 1, "rotationCenterX": 68, @@ -8285,7 +8300,6 @@ }, { "name": "Mouse1", - "baseLayerID": -1, "md5": "e1f0c26afecbe9d4b9923d8e6bf489a8.svg", "type": "sprite", "tags": [ @@ -8313,7 +8327,7 @@ "costumes": [ { "costumeName": "mouse1-a", - "baseLayerID": 64, + "baseLayerID": -1, "baseLayerMD5": "e1f0c26afecbe9d4b9923d8e6bf489a8.svg", "bitmapResolution": 1, "rotationCenterX": 50, @@ -8321,7 +8335,7 @@ }, { "costumeName": "mouse1-b", - "baseLayerID": 65, + "baseLayerID": -1, "baseLayerMD5": "f5e477a3f94fc98ba3cd927228405646.svg", "bitmapResolution": 1, "rotationCenterX": 65, @@ -8341,7 +8355,6 @@ }, { "name": "Muffin", - "baseLayerID": -1, "md5": "e00161f08c77d10e72e44b6e01243e63.svg", "type": "sprite", "tags": [ @@ -8367,7 +8380,7 @@ "costumes": [ { "costumeName": "muffin-a", - "baseLayerID": 66, + "baseLayerID": -1, "baseLayerMD5": "e00161f08c77d10e72e44b6e01243e63.svg", "bitmapResolution": 1, "rotationCenterX": 85, @@ -8375,7 +8388,7 @@ }, { "costumeName": "muffin-b", - "baseLayerID": 67, + "baseLayerID": -1, "baseLayerMD5": "fb60c3f8d6a892813299daa33b91df23.svg", "bitmapResolution": 1, "rotationCenterX": 85, @@ -8395,7 +8408,6 @@ }, { "name": "Nano", - "baseLayerID": -1, "md5": "02c5433118f508038484bbc5b111e187.svg", "type": "sprite", "tags": [ @@ -8422,7 +8434,7 @@ "costumes": [ { "costumeName": "nano-a", - "baseLayerID": 87, + "baseLayerID": -1, "baseLayerMD5": "02c5433118f508038484bbc5b111e187.svg", "bitmapResolution": 1, "rotationCenterX": 61, @@ -8430,7 +8442,7 @@ }, { "costumeName": "nano-b", - "baseLayerID": 88, + "baseLayerID": -1, "baseLayerMD5": "10d6d9130618cd092ae02158cde2e113.svg", "bitmapResolution": 1, "rotationCenterX": 61, @@ -8438,7 +8450,7 @@ }, { "costumeName": "nano-c", - "baseLayerID": 89, + "baseLayerID": -1, "baseLayerMD5": "85e762d45bc626ca2edb3472c7cfaa32.svg", "bitmapResolution": 1, "rotationCenterX": 61, @@ -8446,7 +8458,7 @@ }, { "costumeName": "nano-d", - "baseLayerID": 90, + "baseLayerID": -1, "baseLayerMD5": "b10925346da8080443f27e7dfaeff6f7.svg", "bitmapResolution": 1, "rotationCenterX": 61, @@ -8466,7 +8478,6 @@ }, { "name": "Neigh Pony", - "baseLayerID": -1, "md5": "176c4fb4df80df899ca28a48bd1f0edf.svg", "type": "sprite", "tags": [ @@ -8493,7 +8504,7 @@ "costumes": [ { "costumeName": "neigh pony", - "baseLayerID": 68, + "baseLayerID": -1, "baseLayerMD5": "176c4fb4df80df899ca28a48bd1f0edf.svg", "bitmapResolution": 1, "rotationCenterX": 74, @@ -8513,7 +8524,6 @@ }, { "name": "Octopus", - "baseLayerID": -1, "md5": "038df646d2f935d2a5dd601b343fc1d9.svg", "type": "sprite", "tags": [ @@ -8543,7 +8553,7 @@ "costumes": [ { "costumeName": "octopus-a", - "baseLayerID": 4, + "baseLayerID": -1, "baseLayerMD5": "038df646d2f935d2a5dd601b343fc1d9.svg", "bitmapResolution": 1, "rotationCenterX": 88, @@ -8551,7 +8561,7 @@ }, { "costumeName": "octopus-b", - "baseLayerID": 5, + "baseLayerID": -1, "baseLayerMD5": "31bdcbdf05688c01aace3fd94c5e82df.svg", "bitmapResolution": 1, "rotationCenterX": 88, @@ -8559,7 +8569,7 @@ }, { "costumeName": "octopus-c", - "baseLayerID": 6, + "baseLayerID": -1, "baseLayerMD5": "51e80c09323e36489ad452250acd827c.svg", "bitmapResolution": 1, "rotationCenterX": 88, @@ -8567,7 +8577,7 @@ }, { "costumeName": "octopus-d", - "baseLayerID": 7, + "baseLayerID": -1, "baseLayerMD5": "b4242e6cde0392bb9a5fb43a8f232962.svg", "bitmapResolution": 1, "rotationCenterX": 88, @@ -8575,7 +8585,7 @@ }, { "costumeName": "octopus-e", - "baseLayerID": 8, + "baseLayerID": -1, "baseLayerMD5": "edfda0a36d9cd8482e3a8dc317107d56.svg", "bitmapResolution": 1, "rotationCenterX": 88, @@ -8595,7 +8605,6 @@ }, { "name": "Orange", - "baseLayerID": -1, "md5": "780ee2ef342f79a81b4c353725331138.svg", "type": "sprite", "tags": [ @@ -8622,7 +8631,7 @@ "costumes": [ { "costumeName": "orange", - "baseLayerID": 69, + "baseLayerID": -1, "baseLayerMD5": "780ee2ef342f79a81b4c353725331138.svg", "bitmapResolution": 1, "rotationCenterX": 19, @@ -8642,7 +8651,6 @@ }, { "name": "Orange2", - "baseLayerID": -1, "md5": "89b11d2a404c3972b65743f743cc968a.svg", "type": "sprite", "tags": [ @@ -8670,7 +8678,7 @@ "costumes": [ { "costumeName": "orange2-a", - "baseLayerID": 70, + "baseLayerID": -1, "baseLayerMD5": "89b11d2a404c3972b65743f743cc968a.svg", "bitmapResolution": 1, "rotationCenterX": 49, @@ -8678,7 +8686,7 @@ }, { "costumeName": "orange2-b", - "baseLayerID": 71, + "baseLayerID": -1, "baseLayerMD5": "5f7998e007dfa70e70bbd8d43199ebba.svg", "bitmapResolution": 1, "rotationCenterX": 49, @@ -8686,7 +8694,7 @@ }, { "costumeName": "orange2-c", - "baseLayerID": 72, + "baseLayerID": -1, "baseLayerMD5": "466e9e2d62ee135a2dabd5593e6f8407.svg", "bitmapResolution": 1, "rotationCenterX": 49, @@ -8704,9 +8712,80 @@ "spriteInfo": {} } }, + { + "name": "Outfielder", + "md5": "fab7218666ba49eae992664acab53159.svg", + "type": "sprite", + "tags": [ + "baseball", + "sports", + "people", + "alex eben meyer" + ], + "info": [ + 0, + 4, + 1 + ], + "json": { + "objName": "Outfielder", + "sounds": [ + { + "soundName": "pop", + "soundID": -1, + "md5": "83a9787d4cb6f3b7632b4ddfebf74367.wav", + "sampleCount": 258, + "rate": 11025, + "format": "" + } + ], + "costumes": [ + { + "costumeName": "outfielder-a", + "baseLayerID": -1, + "baseLayerMD5": "fab7218666ba49eae992664acab53159.svg", + "bitmapResolution": 1, + "rotationCenterX": 38, + "rotationCenterY": 61 + }, + { + "costumeName": "outfielder-b", + "baseLayerID": -1, + "baseLayerMD5": "a86813067f26947adb68897b870b1b7e.svg", + "bitmapResolution": 1, + "rotationCenterX": 38, + "rotationCenterY": 57 + }, + { + "costumeName": "outfielder-c", + "baseLayerID": 0, + "baseLayerMD5": "f6f1d2b7c6b50cbdac8cdbb55c872114.svg", + "bitmapResolution": 1, + "rotationCenterX": 46, + "rotationCenterY": 80 + }, + { + "costumeName": "outfielder-d", + "baseLayerID": 1, + "baseLayerMD5": "c6fb3a8079bce9630ab9499926c16de9.svg", + "bitmapResolution": 1, + "rotationCenterX": 79, + "rotationCenterY": 96 + } + ], + "currentCostumeIndex": 0, + "scratchX": -173, + "scratchY": -28, + "scale": 1, + "direction": 90, + "rotationStyle": "normal", + "isDraggable": false, + "visible": true, + "spriteInfo": {} + } + }, { "name": "Owl", - "baseLayerID": -1, "md5": "a312273b198fcacf68976e3cc74fadb4.svg", "type": "sprite", "tags": [ @@ -8734,7 +8813,7 @@ "costumes": [ { "costumeName": "owl-a", - "baseLayerID": 6, + "baseLayerID": -1, "baseLayerMD5": "a312273b198fcacf68976e3cc74fadb4.svg", "bitmapResolution": 1, "rotationCenterX": 113, @@ -8742,7 +8821,7 @@ }, { "costumeName": "owl-b", - "baseLayerID": 7, + "baseLayerID": -1, "baseLayerMD5": "c9916dcfe67302367b05be7f3e5c5ddf.svg", "bitmapResolution": 1, "rotationCenterX": 113, @@ -8750,7 +8829,7 @@ }, { "costumeName": "owl-c", - "baseLayerID": 8, + "baseLayerID": -1, "baseLayerMD5": "8ec3a2507f1d6dc9b39f7ae5a1ebfdd3.svg", "bitmapResolution": 1, "rotationCenterX": 113, @@ -8770,7 +8849,6 @@ }, { "name": "Paddle", - "baseLayerID": -1, "md5": "8038149bdfe24733ea2144d37d297815.svg", "type": "sprite", "tags": [ @@ -8786,7 +8864,7 @@ "sounds": [ { "soundName": "boing", - "soundID": 1, + "soundID": -1, "md5": "53a3c2e27d1fb5fdb14aaf0cb41e7889.wav", "sampleCount": 6804, "rate": 22050, @@ -8796,7 +8874,7 @@ "costumes": [ { "costumeName": "paddle", - "baseLayerID": 73, + "baseLayerID": -1, "baseLayerMD5": "8038149bdfe24733ea2144d37d297815.svg", "bitmapResolution": 1, "rotationCenterX": 44, @@ -8816,7 +8894,6 @@ }, { "name": "Panther", - "baseLayerID": -1, "md5": "04ca2c122cff11b9bc23834d6f79361e.svg", "type": "sprite", "tags": [ @@ -8881,7 +8958,6 @@ }, { "name": "Parrot", - "baseLayerID": -1, "md5": "098570b8e1aa85b32f9b4eb07bea3af2.svg", "type": "sprite", "tags": [ @@ -8903,7 +8979,7 @@ "sounds": [ { "soundName": "bird", - "soundID": 8, + "soundID": -1, "md5": "18bd4b634a3f992a16b30344c7d810e0.wav", "sampleCount": 3840, "rate": 11025, @@ -8913,7 +8989,7 @@ "costumes": [ { "costumeName": "parrot-a", - "baseLayerID": 91, + "baseLayerID": -1, "baseLayerMD5": "098570b8e1aa85b32f9b4eb07bea3af2.svg", "bitmapResolution": 1, "rotationCenterX": 86, @@ -8921,7 +8997,7 @@ }, { "costumeName": "parrot-b", - "baseLayerID": 92, + "baseLayerID": -1, "baseLayerMD5": "721255a0733c9d8d2ba518ff09b3b7cb.svg", "bitmapResolution": 1, "rotationCenterX": 49, @@ -8941,7 +9017,6 @@ }, { "name": "Pencil", - "baseLayerID": -1, "md5": "4495fcb0443cebc5d43e66243a88f1ac.svg", "type": "sprite", "tags": [ @@ -8968,7 +9043,7 @@ "costumes": [ { "costumeName": "pencil-a", - "baseLayerID": 74, + "baseLayerID": -1, "baseLayerMD5": "4495fcb0443cebc5d43e66243a88f1ac.svg", "bitmapResolution": 1, "rotationCenterX": 49, @@ -8976,7 +9051,7 @@ }, { "costumeName": "pencil-b", - "baseLayerID": 75, + "baseLayerID": -1, "baseLayerMD5": "21088922dbe127f6d2e58e2e83fb632e.svg", "bitmapResolution": 1, "rotationCenterX": 48, @@ -8996,7 +9071,6 @@ }, { "name": "Penguin 2", - "baseLayerID": -1, "md5": "c17d9e4bdb59c574e0c34aa70af516da.svg", "type": "sprite", "tags": [ @@ -9025,7 +9099,7 @@ "costumes": [ { "costumeName": "penguin2-a", - "baseLayerID": 48, + "baseLayerID": -1, "baseLayerMD5": "c17d9e4bdb59c574e0c34aa70af516da.svg", "bitmapResolution": 1, "rotationCenterX": 54, @@ -9033,7 +9107,7 @@ }, { "costumeName": "penguin2-b", - "baseLayerID": 49, + "baseLayerID": -1, "baseLayerMD5": "35fec7aa5f60cca945fe0615413f1f08.svg", "bitmapResolution": 1, "rotationCenterX": 48, @@ -9041,7 +9115,7 @@ }, { "costumeName": "penguin2-c", - "baseLayerID": 50, + "baseLayerID": -1, "baseLayerMD5": "18fa51a64ebd5518f0c5c465525346e5.svg", "bitmapResolution": 1, "rotationCenterX": 48, @@ -9061,7 +9135,6 @@ }, { "name": "Pico", - "baseLayerID": -1, "md5": "0579fe60bb3717c49dfd7743caa84ada.svg", "type": "sprite", "tags": [ @@ -9088,7 +9161,7 @@ "costumes": [ { "costumeName": "pico-a", - "baseLayerID": 101, + "baseLayerID": -1, "baseLayerMD5": "0579fe60bb3717c49dfd7743caa84ada.svg", "bitmapResolution": 1, "rotationCenterX": 55, @@ -9096,7 +9169,7 @@ }, { "costumeName": "pico-b", - "baseLayerID": 102, + "baseLayerID": -1, "baseLayerMD5": "26c688d7544757225ff51cd2fb1519b5.svg", "bitmapResolution": 1, "rotationCenterX": 55, @@ -9104,7 +9177,7 @@ }, { "costumeName": "pico-c", - "baseLayerID": 103, + "baseLayerID": -1, "baseLayerMD5": "adf61e2090f8060e1e8b2b0604d03751.svg", "bitmapResolution": 1, "rotationCenterX": 55, @@ -9112,7 +9185,7 @@ }, { "costumeName": "pico-d", - "baseLayerID": 104, + "baseLayerID": -1, "baseLayerMD5": "594704bf12e3c4d9e83bb91661ad709a.svg", "bitmapResolution": 1, "rotationCenterX": 55, @@ -9132,7 +9205,6 @@ }, { "name": "Pico Walking", - "baseLayerID": -1, "md5": "8eab5fe20dd249bf22964298b1d377eb.svg", "type": "sprite", "tags": [ @@ -9159,7 +9231,7 @@ "costumes": [ { "costumeName": "Pico walk1", - "baseLayerID": 76, + "baseLayerID": -1, "baseLayerMD5": "8eab5fe20dd249bf22964298b1d377eb.svg", "bitmapResolution": 1, "rotationCenterX": 54, @@ -9167,7 +9239,7 @@ }, { "costumeName": "Pico walk2", - "baseLayerID": 77, + "baseLayerID": -1, "baseLayerMD5": "39ecd3c38d3f2cd81e3a17ee6c25699f.svg", "bitmapResolution": 1, "rotationCenterX": 54, @@ -9175,7 +9247,7 @@ }, { "costumeName": "Pico walk3", - "baseLayerID": 78, + "baseLayerID": -1, "baseLayerMD5": "43f7d92dcf9eadf77c07a6fc1eb4104f.svg", "bitmapResolution": 1, "rotationCenterX": 54, @@ -9183,7 +9255,7 @@ }, { "costumeName": "Pico walk4", - "baseLayerID": 79, + "baseLayerID": -1, "baseLayerMD5": "2582d012d57bca59bc0315c5c5954958.svg", "bitmapResolution": 1, "rotationCenterX": 54, @@ -9201,9 +9273,80 @@ "spriteInfo": {} } }, + { + "name": "Pitcher", + "md5": "a8694f8f7867d95c62121e60cb8b4812.svg", + "type": "sprite", + "tags": [ + "baseball", + "sports", + "people", + "alex eben meyer" + ], + "info": [ + 0, + 4, + 1 + ], + "json": { + "objName": "Pitcher", + "sounds": [ + { + "soundName": "pop", + "soundID": -1, + "md5": "83a9787d4cb6f3b7632b4ddfebf74367.wav", + "sampleCount": 258, + "rate": 11025, + "format": "" + } + ], + "costumes": [ + { + "costumeName": "pitcher-a", + "baseLayerID": 2, + "baseLayerMD5": "a8694f8f7867d95c62121e60cb8b4812.svg", + "bitmapResolution": 1, + "rotationCenterX": 42, + "rotationCenterY": 63 + }, + { + "costumeName": "pitcher-b", + "baseLayerID": 3, + "baseLayerMD5": "13f363056c706870ede82798e6a8bcf6.svg", + "bitmapResolution": 1, + "rotationCenterX": 70, + "rotationCenterY": 86 + }, + { + "costumeName": "pitcher-c", + "baseLayerID": 4, + "baseLayerMD5": "6e26bd644ecd8d1f1606261d1b8f6a75.svg", + "bitmapResolution": 1, + "rotationCenterX": 62, + "rotationCenterY": 87 + }, + { + "costumeName": "pitcher-d", + "baseLayerID": 5, + "baseLayerMD5": "120d823290171ad83b6b328a5ffaf60e.svg", + "bitmapResolution": 1, + "rotationCenterX": 82, + "rotationCenterY": 46 + } + ], + "currentCostumeIndex": 0, + "scratchX": -5, + "scratchY": -79, + "scale": 1, + "direction": 90, + "rotationStyle": "normal", + "isDraggable": false, + "visible": true, + "spriteInfo": {} + } + }, { "name": "Planet2", - "baseLayerID": -1, "md5": "978784738c1d9dd4b1d397fd18bdf406.svg", "type": "sprite", "tags": [ @@ -9229,7 +9372,7 @@ "costumes": [ { "costumeName": "planet2", - "baseLayerID": 80, + "baseLayerID": -1, "baseLayerMD5": "978784738c1d9dd4b1d397fd18bdf406.svg", "bitmapResolution": 1, "rotationCenterX": 72, @@ -9249,7 +9392,6 @@ }, { "name": "Potion", - "baseLayerID": -1, "md5": "a317b50b255a208455a7733091adad23.svg", "type": "sprite", "tags": [ @@ -9313,7 +9455,6 @@ }, { "name": "Prince", - "baseLayerID": -1, "md5": "a760bed1cfc28a30b2dc7fd045c90792.svg", "type": "sprite", "tags": [ @@ -9341,7 +9482,7 @@ "costumes": [ { "costumeName": "prince", - "baseLayerID": 81, + "baseLayerID": -1, "baseLayerMD5": "a760bed1cfc28a30b2dc7fd045c90792.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -9361,7 +9502,6 @@ }, { "name": "Princess", - "baseLayerID": -1, "md5": "fcbf44a543dfda884d8acbd6af66faad.svg", "type": "sprite", "tags": [ @@ -9443,7 +9583,6 @@ }, { "name": "Pufferfish", - "baseLayerID": -1, "md5": "81d7db99142a39c9082be2c2183f2175.svg", "type": "sprite", "tags": [ @@ -9473,7 +9612,7 @@ "costumes": [ { "costumeName": "pufferfish-a", - "baseLayerID": 13, + "baseLayerID": -1, "baseLayerMD5": "81d7db99142a39c9082be2c2183f2175.svg", "bitmapResolution": 1, "rotationCenterX": 69, @@ -9481,7 +9620,7 @@ }, { "costumeName": "pufferfish-b", - "baseLayerID": 14, + "baseLayerID": -1, "baseLayerMD5": "6ea79950db63f5ac24d6c5091df3836b.svg", "bitmapResolution": 1, "rotationCenterX": 69, @@ -9489,7 +9628,7 @@ }, { "costumeName": "pufferfish-c", - "baseLayerID": 15, + "baseLayerID": -1, "baseLayerMD5": "4acf5bc398c19d58acf69fce047ee8f6.svg", "bitmapResolution": 1, "rotationCenterX": 69, @@ -9497,7 +9636,7 @@ }, { "costumeName": "pufferfish-d", - "baseLayerID": 16, + "baseLayerID": -1, "baseLayerMD5": "c214fa8a9ceed06db03664007b8ad5c6.svg", "bitmapResolution": 1, "rotationCenterX": 69, @@ -9517,7 +9656,6 @@ }, { "name": "Rabbit", - "baseLayerID": -1, "md5": "2f42891c3f3d63c0e591aeabc5946533.svg", "type": "sprite", "tags": [ @@ -9600,7 +9738,6 @@ }, { "name": "Rainbow", - "baseLayerID": -1, "md5": "680a806bd87a28c8b25b5f9b6347f022.svg", "type": "sprite", "tags": [ @@ -9629,7 +9766,7 @@ "costumes": [ { "costumeName": "rainbow", - "baseLayerID": 51, + "baseLayerID": -1, "baseLayerMD5": "680a806bd87a28c8b25b5f9b6347f022.svg", "bitmapResolution": 1, "rotationCenterX": 72, @@ -9649,7 +9786,6 @@ }, { "name": "Referee", - "baseLayerID": -1, "md5": "0959403aeb134ed2932a85c77e261122.svg", "type": "sprite", "tags": [ @@ -9678,7 +9814,7 @@ "costumes": [ { "costumeName": "referee-a", - "baseLayerID": 14, + "baseLayerID": -1, "baseLayerMD5": "0959403aeb134ed2932a85c77e261122.svg", "bitmapResolution": 1, "rotationCenterX": 76, @@ -9686,7 +9822,7 @@ }, { "costumeName": "referee-b", - "baseLayerID": 15, + "baseLayerID": -1, "baseLayerMD5": "866b9e1ad2e0584216dd45fe7d50d6f5.svg", "bitmapResolution": 1, "rotationCenterX": 76, @@ -9694,7 +9830,7 @@ }, { "costumeName": "referee-c", - "baseLayerID": 16, + "baseLayerID": -1, "baseLayerMD5": "21a3869435fbd470ef60960a78b06b16.svg", "bitmapResolution": 1, "rotationCenterX": 76, @@ -9702,7 +9838,7 @@ }, { "costumeName": "referee-d", - "baseLayerID": 17, + "baseLayerID": -1, "baseLayerMD5": "5e037aca5446a7e57093e45fe6f18c9e.svg", "bitmapResolution": 1, "rotationCenterX": 76, @@ -9722,7 +9858,6 @@ }, { "name": "Reindeer", - "baseLayerID": -1, "md5": "0fff0b181cc4d9250b5b985cc283b049.svg", "type": "sprite", "tags": [ @@ -9750,7 +9885,7 @@ "costumes": [ { "costumeName": "reindeer", - "baseLayerID": 82, + "baseLayerID": -1, "baseLayerMD5": "0fff0b181cc4d9250b5b985cc283b049.svg", "bitmapResolution": 1, "rotationCenterX": 39, @@ -9770,7 +9905,6 @@ }, { "name": "Ripley", - "baseLayerID": -1, "md5": "417ec9f25ad70281564e85e67c97aa08.svg", "type": "sprite", "tags": [ @@ -9858,7 +9992,6 @@ }, { "name": "Robot", - "baseLayerID": -1, "md5": "cb3985cd066ccbab11954709b3d54c17.svg", "type": "sprite", "tags": [ @@ -9938,7 +10071,6 @@ }, { "name": "Rocks", - "baseLayerID": -1, "md5": "82c79fdb6a7d9c49ab7f70ee79a3d7f8.svg", "type": "sprite", "tags": [ @@ -9965,7 +10097,7 @@ "costumes": [ { "costumeName": "rocks", - "baseLayerID": 83, + "baseLayerID": -1, "baseLayerMD5": "82c79fdb6a7d9c49ab7f70ee79a3d7f8.svg", "bitmapResolution": 1, "rotationCenterX": 59, @@ -9985,7 +10117,6 @@ }, { "name": "Saxophone", - "baseLayerID": -1, "md5": "e9e4297f5d7e630a384b1dea835ec72d.svg", "type": "sprite", "tags": [ @@ -10002,7 +10133,7 @@ "sounds": [ { "soundName": "C sax", - "soundID": 16, + "soundID": -1, "md5": "4d2c939d6953b5f241a27a62cf72de64.wav", "sampleCount": 9491, "rate": 22050, @@ -10010,7 +10141,7 @@ }, { "soundName": "D sax", - "soundID": 17, + "soundID": -1, "md5": "39f41954a73c0e15d842061e1a4c5e1d.wav", "sampleCount": 9555, "rate": 22050, @@ -10018,7 +10149,7 @@ }, { "soundName": "E sax", - "soundID": 18, + "soundID": -1, "md5": "3568b7dfe173fab6877a9ff1dcbcf1aa.wav", "sampleCount": 7489, "rate": 22050, @@ -10026,7 +10157,7 @@ }, { "soundName": "F sax", - "soundID": 19, + "soundID": -1, "md5": "2ae3083817bcd595e26ea2884b6684d5.wav", "sampleCount": 7361, "rate": 22050, @@ -10034,7 +10165,7 @@ }, { "soundName": "G sax", - "soundID": 20, + "soundID": -1, "md5": "cefba5de46adfe5702485e0934bb1e13.wav", "sampleCount": 7349, "rate": 22050, @@ -10042,7 +10173,7 @@ }, { "soundName": "A sax", - "soundID": 21, + "soundID": -1, "md5": "420991e0d6d99292c6d736963842536a.wav", "sampleCount": 6472, "rate": 22050, @@ -10050,7 +10181,7 @@ }, { "soundName": "B sax", - "soundID": 22, + "soundID": -1, "md5": "653ebe92d491b49ad5d8101d629f567b.wav", "sampleCount": 9555, "rate": 22050, @@ -10058,7 +10189,7 @@ }, { "soundName": "C2 sax", - "soundID": 23, + "soundID": -1, "md5": "ea8d34b18c3d8fe328cea201666458bf.wav", "sampleCount": 7349, "rate": 22050, @@ -10068,7 +10199,7 @@ "costumes": [ { "costumeName": "saxophone-a", - "baseLayerID": 6, + "baseLayerID": -1, "baseLayerMD5": "e9e4297f5d7e630a384b1dea835ec72d.svg", "bitmapResolution": 1, "rotationCenterX": 47, @@ -10076,7 +10207,7 @@ }, { "costumeName": "saxophone-b", - "baseLayerID": 7, + "baseLayerID": -1, "baseLayerMD5": "04e5650480bfcf9190aa35bbd8d67b8e.svg", "bitmapResolution": 1, "rotationCenterX": 47, @@ -10096,8 +10227,7 @@ }, { "name": "Scarf1", - "baseLayerID": -1, - "md5": "9db18d2a2b3c9859654fc1b4832e6076.svg", + "md5": "0c03668b4e26eba969ad803a4e810c78.svg", "type": "sprite", "tags": [ "fashion", @@ -10123,11 +10253,11 @@ "costumes": [ { "costumeName": "scarf1", - "baseLayerID": 84, - "baseLayerMD5": "9db18d2a2b3c9859654fc1b4832e6076.svg", + "baseLayerID": -1, + "baseLayerMD5": "0c03668b4e26eba969ad803a4e810c78.svg", "bitmapResolution": 1, "rotationCenterX": 54, - "rotationCenterY": 36 + "rotationCenterY": 23 } ], "currentCostumeIndex": 0, @@ -10143,7 +10273,6 @@ }, { "name": "Scarf2", - "baseLayerID": -1, "md5": "ce66662165e2756070f1b12e0a7cb5db.svg", "type": "sprite", "tags": [ @@ -10170,7 +10299,7 @@ "costumes": [ { "costumeName": "scarf2", - "baseLayerID": 85, + "baseLayerID": -1, "baseLayerMD5": "ce66662165e2756070f1b12e0a7cb5db.svg", "bitmapResolution": 1, "rotationCenterX": 23, @@ -10190,7 +10319,6 @@ }, { "name": "Shark", - "baseLayerID": -1, "md5": "4ca6776e9c021e8b21c3346793c9361d.svg", "type": "sprite", "tags": [ @@ -10245,9 +10373,75 @@ "spriteInfo": {} } }, + { + "name": "Shark 2", + "md5": "7c0a907eae79462f69f8e2af8e7df828.svg", + "type": "sprite", + "tags": [ + "animals", + "ocean", + "sea", + "fish", + "teeth", + "carnivore", + "chomp" + ], + "info": [ + 0, + 3, + 1 + ], + "json": { + "objName": "Shark 2", + "sounds": [ + { + "soundName": "pop", + "soundID": -1, + "md5": "83a9787d4cb6f3b7632b4ddfebf74367.wav", + "sampleCount": 258, + "rate": 11025, + "format": "" + } + ], + "costumes": [ + { + "costumeName": "shark2-a", + "baseLayerID": -1, + "baseLayerMD5": "7c0a907eae79462f69f8e2af8e7df828.svg", + "bitmapResolution": 1, + "rotationCenterX": 75, + "rotationCenterY": 75 + }, + { + "costumeName": "shark2-b", + "baseLayerID": -1, + "baseLayerMD5": "cff9ae87a93294693a0650b38a7a33d2.svg", + "bitmapResolution": 1, + "rotationCenterX": 75, + "rotationCenterY": 75 + }, + { + "costumeName": "shark2-c", + "baseLayerID": -1, + "baseLayerMD5": "afeae3f998598424f7c50918507f6ce6.svg", + "bitmapResolution": 1, + "rotationCenterX": 77, + "rotationCenterY": 37 + } + ], + "currentCostumeIndex": 0, + "scratchX": 41, + "scratchY": -15, + "scale": 1, + "direction": 90, + "rotationStyle": "normal", + "isDraggable": false, + "visible": true, + "spriteInfo": {} + } + }, { "name": "Shirt Blouse", - "baseLayerID": -1, "md5": "918a507af6bbae9e7f36f0d949900838.svg", "type": "sprite", "tags": [ @@ -10273,7 +10467,7 @@ "costumes": [ { "costumeName": "shirt blouse", - "baseLayerID": 88, + "baseLayerID": -1, "baseLayerMD5": "918a507af6bbae9e7f36f0d949900838.svg", "bitmapResolution": 1, "rotationCenterX": 35, @@ -10293,7 +10487,6 @@ }, { "name": "Shirt Collar", - "baseLayerID": -1, "md5": "b7ecf6503e27e9ab5c086eaf07d22b94.svg", "type": "sprite", "tags": [ @@ -10319,7 +10512,7 @@ "costumes": [ { "costumeName": "shirt collar-a", - "baseLayerID": 89, + "baseLayerID": -1, "baseLayerMD5": "b7ecf6503e27e9ab5c086eaf07d22b94.svg", "bitmapResolution": 1, "rotationCenterX": 30, @@ -10327,7 +10520,7 @@ }, { "costumeName": "shirt collar-b", - "baseLayerID": 90, + "baseLayerID": -1, "baseLayerMD5": "f1b20c3350e8a7e92a2fb1925ad4158b.svg", "bitmapResolution": 1, "rotationCenterX": 30, @@ -10335,7 +10528,7 @@ }, { "costumeName": "shirt collar-c", - "baseLayerID": 91, + "baseLayerID": -1, "baseLayerMD5": "5f04b99416a794e04d0855f446780f18.svg", "bitmapResolution": 1, "rotationCenterX": 30, @@ -10355,7 +10548,6 @@ }, { "name": "Shirt-T", - "baseLayerID": -1, "md5": "5d7fa4f1788f03d2962f1624d6eac800.svg", "type": "sprite", "tags": [ @@ -10381,7 +10573,7 @@ "costumes": [ { "costumeName": "shirt-t", - "baseLayerID": 92, + "baseLayerID": -1, "baseLayerMD5": "5d7fa4f1788f03d2962f1624d6eac800.svg", "bitmapResolution": 1, "rotationCenterX": 39, @@ -10401,7 +10593,6 @@ }, { "name": "Shirt2", - "baseLayerID": -1, "md5": "5946e7a1e36c6d97ae47d41dd8595a41.svg", "type": "sprite", "tags": [ @@ -10427,7 +10618,7 @@ "costumes": [ { "costumeName": "shirt2-a", - "baseLayerID": 86, + "baseLayerID": -1, "baseLayerMD5": "5946e7a1e36c6d97ae47d41dd8595a41.svg", "bitmapResolution": 1, "rotationCenterX": 39, @@ -10435,7 +10626,7 @@ }, { "costumeName": "shirt2-a2", - "baseLayerID": 87, + "baseLayerID": -1, "baseLayerMD5": "5b78ab09592126b6bbe2d4907d203909.svg", "bitmapResolution": 1, "rotationCenterX": 39, @@ -10455,7 +10646,6 @@ }, { "name": "Shoes1", - "baseLayerID": -1, "md5": "ffab4cc284070b50ac317e515f59f7d8.svg", "type": "sprite", "tags": [ @@ -10481,7 +10671,7 @@ "costumes": [ { "costumeName": "shoes1", - "baseLayerID": 94, + "baseLayerID": -1, "baseLayerMD5": "ffab4cc284070b50ac317e515f59f7d8.svg", "bitmapResolution": 1, "rotationCenterX": 36, @@ -10501,7 +10691,6 @@ }, { "name": "Shoes2", - "baseLayerID": -1, "md5": "1dc5d568d98405c370b91a230397a7f9.svg", "type": "sprite", "tags": [ @@ -10527,7 +10716,7 @@ "costumes": [ { "costumeName": "shoes2", - "baseLayerID": 93, + "baseLayerID": -1, "baseLayerMD5": "1dc5d568d98405c370b91a230397a7f9.svg", "bitmapResolution": 1, "rotationCenterX": 40, @@ -10547,7 +10736,6 @@ }, { "name": "Singer1", - "baseLayerID": -1, "md5": "e47ef1af3b925e5ac9e3b3f809d440b3.svg", "type": "sprite", "tags": [ @@ -10574,7 +10762,7 @@ "costumes": [ { "costumeName": "Singer1", - "baseLayerID": 95, + "baseLayerID": -1, "baseLayerMD5": "e47ef1af3b925e5ac9e3b3f809d440b3.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -10594,12 +10782,12 @@ }, { "name": "Skates", - "baseLayerID": -1, "md5": "00e5e173400662875a26bb7d6556346a.svg", "type": "sprite", "tags": [ "fashion", - "winter" + "winter", + "sports" ], "info": [ 0, @@ -10621,7 +10809,7 @@ "costumes": [ { "costumeName": "skates", - "baseLayerID": 96, + "baseLayerID": -1, "baseLayerMD5": "00e5e173400662875a26bb7d6556346a.svg", "bitmapResolution": 1, "rotationCenterX": 44, @@ -10639,9 +10827,90 @@ "spriteInfo": {} } }, + { + "name": "Skeleton", + "md5": "b6ddeecf18e40b99bde7e466759d5a5b.svg", + "type": "sprite", + "tags": [ + "fantasy", + "spooky", + "halloween", + "bones", + "monster", + "alex eben meyer" + ], + "info": [ + 0, + 5, + 1 + ], + "json": { + "objName": "Skeleton", + "sounds": [ + { + "soundName": "pop", + "soundID": -1, + "md5": "83a9787d4cb6f3b7632b4ddfebf74367.wav", + "sampleCount": 258, + "rate": 11025, + "format": "" + } + ], + "costumes": [ + { + "costumeName": "skeleton-a", + "baseLayerID": -1, + "baseLayerMD5": "b6ddeecf18e40b99bde7e466759d5a5b.svg", + "bitmapResolution": 1, + "rotationCenterX": 75, + "rotationCenterY": 90 + }, + { + "costumeName": "skeleton-b", + "baseLayerID": -1, + "baseLayerMD5": "ba3f455026f5d7778af229ddddf83206.svg", + "bitmapResolution": 1, + "rotationCenterX": 75, + "rotationCenterY": 90 + }, + { + "costumeName": "skeleton-c", + "baseLayerID": -1, + "baseLayerMD5": "af8fb44231f7891d52db5b4ad5c0f58b.svg", + "bitmapResolution": 1, + "rotationCenterX": 75, + "rotationCenterY": 90 + }, + { + "costumeName": "skeleton-d", + "baseLayerID": -1, + "baseLayerMD5": "355eb1591be72ea1117b6a4e153010b1.svg", + "bitmapResolution": 1, + "rotationCenterX": 75, + "rotationCenterY": 90 + }, + { + "costumeName": "skeleton-e", + "baseLayerID": -1, + "baseLayerMD5": "d3497858a3b5ad938e41a34bb8103c77.svg", + "bitmapResolution": 1, + "rotationCenterX": 75, + "rotationCenterY": 90 + } + ], + "currentCostumeIndex": 0, + "scratchX": 148, + "scratchY": -34, + "scale": 1, + "direction": 90, + "rotationStyle": "normal", + "isDraggable": false, + "visible": true, + "spriteInfo": {} + } + }, { "name": "Snake", - "baseLayerID": -1, "md5": "4d06e12d90479461303d828f0970f2d4.svg", "type": "sprite", "tags": [ @@ -10705,7 +10974,6 @@ }, { "name": "Snowflake", - "baseLayerID": -1, "md5": "67de2af723246de37d7379b76800ee0b.svg", "type": "sprite", "tags": [ @@ -10731,7 +10999,7 @@ "costumes": [ { "costumeName": "snowflake", - "baseLayerID": 97, + "baseLayerID": -1, "baseLayerMD5": "67de2af723246de37d7379b76800ee0b.svg", "bitmapResolution": 1, "rotationCenterX": 104, @@ -10751,7 +11019,6 @@ }, { "name": "Snowman", - "baseLayerID": -1, "md5": "56c71c31c17b9bc66a2aab0342cf94b2.svg", "type": "sprite", "tags": [ @@ -10779,7 +11046,7 @@ "costumes": [ { "costumeName": "snowman", - "baseLayerID": 52, + "baseLayerID": -1, "baseLayerMD5": "56c71c31c17b9bc66a2aab0342cf94b2.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -10799,7 +11066,6 @@ }, { "name": "Soccer Ball", - "baseLayerID": -1, "md5": "81ff5ad24454e7a0f1f3ae863bb4dd25.svg", "type": "sprite", "tags": [ @@ -10828,7 +11094,7 @@ "costumes": [ { "costumeName": "soccer ball", - "baseLayerID": 13, + "baseLayerID": -1, "baseLayerMD5": "81ff5ad24454e7a0f1f3ae863bb4dd25.svg", "bitmapResolution": 1, "rotationCenterX": 26, @@ -10848,7 +11114,6 @@ }, { "name": "Spaceship", - "baseLayerID": -1, "md5": "7d51af7c52e137ef137012595bac928d.svg", "type": "sprite", "tags": [ @@ -10943,7 +11208,6 @@ }, { "name": "Speaker", - "baseLayerID": -1, "md5": "44dc3a2ec161999545914d1f77332d76.svg", "type": "sprite", "tags": [ @@ -10985,7 +11249,7 @@ "sounds": [ { "soundName": "drive around", - "soundID": 9, + "soundID": -1, "md5": "a3a85fb8564b0266f50a9c091087b7aa.wav", "sampleCount": 44096, "rate": 22050, @@ -10993,7 +11257,7 @@ }, { "soundName": "scratchy beat", - "soundID": 10, + "soundID": -1, "md5": "289dc558e076971e74dd1a0bd55719b1.wav", "sampleCount": 44096, "rate": 22050, @@ -11001,7 +11265,7 @@ }, { "soundName": "drum jam", - "soundID": 11, + "soundID": -1, "md5": "8b5486ccc806e97e83049d25b071f7e4.wav", "sampleCount": 44288, "rate": 22050, @@ -11009,7 +11273,7 @@ }, { "soundName": "cymbal echo", - "soundID": 12, + "soundID": -1, "md5": "bb243badd1201b2607bf2513df10cd97.wav", "sampleCount": 44326, "rate": 22050, @@ -11017,7 +11281,7 @@ }, { "soundName": "drum satellite", - "soundID": 13, + "soundID": -1, "md5": "079067d7909f791b29f8be1c00fc2131.wav", "sampleCount": 44096, "rate": 22050, @@ -11025,7 +11289,7 @@ }, { "soundName": "kick back", - "soundID": 14, + "soundID": -1, "md5": "9cd340d9d568b1479f731e69e103b3ce.wav", "sampleCount": 44748, "rate": 22050, @@ -11033,7 +11297,7 @@ }, { "soundName": "drum funky", - "soundID": 15, + "soundID": -1, "md5": "fb56022366d21b299cbc3fd5e16000c2.wav", "sampleCount": 44748, "rate": 22050, @@ -11043,7 +11307,7 @@ "costumes": [ { "costumeName": "speaker", - "baseLayerID": 93, + "baseLayerID": -1, "baseLayerMD5": "44dc3a2ec161999545914d1f77332d76.svg", "bitmapResolution": 1, "rotationCenterX": 53, @@ -11063,8 +11327,7 @@ }, { "name": "Star", - "baseLayerID": -1, - "md5": "ab0914e53e360477275e58b83ec4d423.svg", + "md5": "e929c1274c379b6b6fed12e6dec63368.svg", "type": "sprite", "tags": [ "shapes", @@ -11090,11 +11353,11 @@ "costumes": [ { "costumeName": "star", - "baseLayerID": 98, - "baseLayerMD5": "ab0914e53e360477275e58b83ec4d423.svg", + "baseLayerID": -1, + "baseLayerMD5": "e929c1274c379b6b6fed12e6dec63368.svg", "bitmapResolution": 1, - "rotationCenterX": 21, - "rotationCenterY": 19 + "rotationCenterX": 22, + "rotationCenterY": 23 } ], "currentCostumeIndex": 0, @@ -11110,7 +11373,6 @@ }, { "name": "Starfish", - "baseLayerID": -1, "md5": "3d1101bbc24ae292a36356af325f660c.svg", "type": "sprite", "tags": [ @@ -11140,7 +11402,7 @@ "costumes": [ { "costumeName": "starfish-a", - "baseLayerID": 99, + "baseLayerID": -1, "baseLayerMD5": "3d1101bbc24ae292a36356af325f660c.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -11148,7 +11410,7 @@ }, { "costumeName": "starfish-b ", - "baseLayerID": 100, + "baseLayerID": -1, "baseLayerMD5": "ad8007f4e63693984d4adc466ffa3ad2.svg", "bitmapResolution": 1, "rotationCenterX": 53, @@ -11168,7 +11430,6 @@ }, { "name": "Stop", - "baseLayerID": -1, "md5": "5b9e3e8edffb0bd4914113609eec5e04.svg", "type": "sprite", "tags": [ @@ -11195,7 +11456,7 @@ "costumes": [ { "costumeName": "stop", - "baseLayerID": 101, + "baseLayerID": -1, "baseLayerMD5": "5b9e3e8edffb0bd4914113609eec5e04.svg", "bitmapResolution": 1, "rotationCenterX": 25, @@ -11215,7 +11476,6 @@ }, { "name": "Strawberry", - "baseLayerID": -1, "md5": "734556fb8e14740f2cbc971238b71d47.svg", "type": "sprite", "tags": [ @@ -11295,7 +11555,6 @@ }, { "name": "Sun", - "baseLayerID": -1, "md5": "55c931c65456822c0c56a2b30e3e550d.svg", "type": "sprite", "tags": [ @@ -11326,7 +11585,7 @@ "costumes": [ { "costumeName": "sun", - "baseLayerID": 102, + "baseLayerID": -1, "baseLayerMD5": "55c931c65456822c0c56a2b30e3e550d.svg", "bitmapResolution": 1, "rotationCenterX": 72, @@ -11346,7 +11605,6 @@ }, { "name": "Sunglasses1", - "baseLayerID": -1, "md5": "424393e8705aeadcfecb8559ce4dcea2.svg", "type": "sprite", "tags": [ @@ -11373,7 +11631,7 @@ "costumes": [ { "costumeName": "sunglasses1", - "baseLayerID": 103, + "baseLayerID": -1, "baseLayerMD5": "424393e8705aeadcfecb8559ce4dcea2.svg", "bitmapResolution": 1, "rotationCenterX": 37, @@ -11393,7 +11651,6 @@ }, { "name": "Sunglasses2", - "baseLayerID": -1, "md5": "3185d2295bbf2c5ebd0688c9e4f13076.svg", "type": "sprite", "tags": [ @@ -11420,7 +11677,7 @@ "costumes": [ { "costumeName": "sunglasses2", - "baseLayerID": 104, + "baseLayerID": -1, "baseLayerMD5": "3185d2295bbf2c5ebd0688c9e4f13076.svg", "bitmapResolution": 1, "rotationCenterX": 29, @@ -11440,7 +11697,6 @@ }, { "name": "Taco", - "baseLayerID": -1, "md5": "d224b30c54bd4d6000c935938c7f5d7e.svg", "type": "sprite", "tags": [ @@ -11469,7 +11725,7 @@ "costumes": [ { "costumeName": "taco-a", - "baseLayerID": 105, + "baseLayerID": -1, "baseLayerMD5": "d224b30c54bd4d6000c935938c7f5d7e.svg", "bitmapResolution": 1, "rotationCenterX": 20, @@ -11477,7 +11733,7 @@ }, { "costumeName": "taco-b", - "baseLayerID": 106, + "baseLayerID": -1, "baseLayerMD5": "6dee4f866d79e6475d9824ba11973037.svg", "bitmapResolution": 1, "rotationCenterX": 56, @@ -11497,7 +11753,6 @@ }, { "name": "Takeout", - "baseLayerID": -1, "md5": "0cfdefe0df1a032b90c8facd9f5dbe1f.svg", "type": "sprite", "tags": [ @@ -11576,7 +11831,6 @@ }, { "name": "Tera", - "baseLayerID": -1, "md5": "b54a4a9087435863ab6f6c908f1cac99.svg", "type": "sprite", "tags": [ @@ -11603,7 +11857,7 @@ "costumes": [ { "costumeName": "tera-a", - "baseLayerID": 94, + "baseLayerID": -1, "baseLayerMD5": "b54a4a9087435863ab6f6c908f1cac99.svg", "bitmapResolution": 1, "rotationCenterX": 49, @@ -11611,7 +11865,7 @@ }, { "costumeName": "tera-b", - "baseLayerID": 95, + "baseLayerID": -1, "baseLayerMD5": "1e6b3a29351cda80d1a70a3cc0e499f2.svg", "bitmapResolution": 1, "rotationCenterX": 49, @@ -11619,7 +11873,7 @@ }, { "costumeName": "tera-c", - "baseLayerID": 96, + "baseLayerID": -1, "baseLayerMD5": "7edf116cbb7111292361431521ae699e.svg", "bitmapResolution": 1, "rotationCenterX": 49, @@ -11627,7 +11881,7 @@ }, { "costumeName": "tera-d", - "baseLayerID": 97, + "baseLayerID": -1, "baseLayerMD5": "7c3c9c8b5f4ac77de2036175712a777a.svg", "bitmapResolution": 1, "rotationCenterX": 49, @@ -11647,7 +11901,6 @@ }, { "name": "Toucan", - "baseLayerID": -1, "md5": "6c8798e606abd728b112aecedb5dc249.svg", "type": "sprite", "tags": [ @@ -11711,7 +11964,6 @@ }, { "name": "Tree1", - "baseLayerID": -1, "md5": "8c40e2662c55d17bc384f47165ac43c1.svg", "type": "sprite", "tags": [ @@ -11739,7 +11991,7 @@ "costumes": [ { "costumeName": "tree1", - "baseLayerID": 107, + "baseLayerID": -1, "baseLayerMD5": "8c40e2662c55d17bc384f47165ac43c1.svg", "bitmapResolution": 1, "rotationCenterX": 77, @@ -11759,7 +12011,6 @@ }, { "name": "Trees", - "baseLayerID": -1, "md5": "866ed2c2971bb04157e14e935ac8521c.svg", "type": "sprite", "tags": [ @@ -11787,7 +12038,7 @@ "costumes": [ { "costumeName": "trees-a", - "baseLayerID": 108, + "baseLayerID": -1, "baseLayerMD5": "866ed2c2971bb04157e14e935ac8521c.svg", "bitmapResolution": 1, "rotationCenterX": 49, @@ -11795,7 +12046,7 @@ }, { "costumeName": "trees-b", - "baseLayerID": 109, + "baseLayerID": -1, "baseLayerMD5": "f1393dde1bb0fc512577995b27616d86.svg", "bitmapResolution": 1, "rotationCenterX": 36, @@ -11815,7 +12066,6 @@ }, { "name": "Trumpet", - "baseLayerID": -1, "md5": "8fa7459ed5877bb14c6625e688be70e7.svg", "type": "sprite", "tags": [ @@ -11832,7 +12082,7 @@ "sounds": [ { "soundName": "C trumpet", - "soundID": 24, + "soundID": -1, "md5": "8970afcdc4e47bb54959a81fe27522bd.wav", "sampleCount": 13118, "rate": 22050, @@ -11840,7 +12090,7 @@ }, { "soundName": "D trumpet", - "soundID": 25, + "soundID": -1, "md5": "0b1345b8fe2ba3076fedb4f3ae48748a.wav", "sampleCount": 12702, "rate": 22050, @@ -11848,7 +12098,7 @@ }, { "soundName": "E trumpet", - "soundID": 26, + "soundID": -1, "md5": "494295a92314cadb220945a6711c568c.wav", "sampleCount": 8680, "rate": 22050, @@ -11856,7 +12106,7 @@ }, { "soundName": "F trumpet", - "soundID": 27, + "soundID": -1, "md5": "5fa3108b119ca266029b4caa340a7cd0.wav", "sampleCount": 12766, "rate": 22050, @@ -11864,7 +12114,7 @@ }, { "soundName": "G trumpet", - "soundID": 28, + "soundID": -1, "md5": "e84afda25975f14b364118591538ccf4.wav", "sampleCount": 14640, "rate": 22050, @@ -11872,7 +12122,7 @@ }, { "soundName": "A trumpet", - "soundID": 29, + "soundID": -1, "md5": "d2dd6b4372ca17411965dc92d52b2172.wav", "sampleCount": 13911, "rate": 22050, @@ -11880,7 +12130,7 @@ }, { "soundName": "B trumpet", - "soundID": 30, + "soundID": -1, "md5": "cad2bc57729942ed9b605145fc9ea65d.wav", "sampleCount": 14704, "rate": 22050, @@ -11888,7 +12138,7 @@ }, { "soundName": "C2 trumpet", - "soundID": 31, + "soundID": -1, "md5": "df08249ed5446cc5e10b7ac62faac89b.wav", "sampleCount": 15849, "rate": 22050, @@ -11898,7 +12148,7 @@ "costumes": [ { "costumeName": "trumpet-a", - "baseLayerID": 8, + "baseLayerID": -1, "baseLayerMD5": "8fa7459ed5877bb14c6625e688be70e7.svg", "bitmapResolution": 1, "rotationCenterX": 37, @@ -11906,7 +12156,7 @@ }, { "costumeName": "trumpet-b", - "baseLayerID": 9, + "baseLayerID": -1, "baseLayerMD5": "7cedda5ec925118f237094cd05381e5d.svg", "bitmapResolution": 1, "rotationCenterX": 37, @@ -11926,7 +12176,6 @@ }, { "name": "Unicorn", - "baseLayerID": -1, "md5": "bd2cf980966c13d5ad3ab403bae4bb05.svg", "type": "sprite", "tags": [ @@ -11974,7 +12223,6 @@ }, { "name": "Unicorn 2", - "baseLayerID": -1, "md5": "a04def38351e7fd805226345cac4fbfe.svg", "type": "sprite", "tags": [ @@ -12003,7 +12251,7 @@ "costumes": [ { "costumeName": "unicorn 2", - "baseLayerID": 53, + "baseLayerID": -1, "baseLayerMD5": "a04def38351e7fd805226345cac4fbfe.svg", "bitmapResolution": 1, "rotationCenterX": 75, @@ -12023,7 +12271,6 @@ }, { "name": "Unicorn-running", - "baseLayerID": -1, "md5": "c6456df027561c74b70b8b25ab83fec9.svg", "type": "sprite", "tags": [ @@ -12111,7 +12358,6 @@ }, { "name": "Vest", - "baseLayerID": -1, "md5": "f8285ca9564451c62a0e3d75b8a714e8.svg", "type": "sprite", "tags": [ @@ -12137,7 +12383,7 @@ "costumes": [ { "costumeName": "vest-a", - "baseLayerID": 110, + "baseLayerID": -1, "baseLayerMD5": "f8285ca9564451c62a0e3d75b8a714e8.svg", "bitmapResolution": 1, "rotationCenterX": 18, @@ -12145,7 +12391,7 @@ }, { "costumeName": "vest-b", - "baseLayerID": 111, + "baseLayerID": -1, "baseLayerMD5": "77d553eea3910ab8f5bac3d2da601061.svg", "bitmapResolution": 1, "rotationCenterX": 18, @@ -12165,7 +12411,6 @@ }, { "name": "Wand", - "baseLayerID": -1, "md5": "1aa56e9ef7043eaf36ecfe8e330271b7.svg", "type": "sprite", "tags": [ @@ -12213,7 +12458,6 @@ }, { "name": "Wanda", - "baseLayerID": -1, "md5": "450bc8fbd5ab6bc2e83576aad58cd07c.svg", "type": "sprite", "tags": [ @@ -12239,7 +12483,7 @@ "costumes": [ { "costumeName": "wanda", - "baseLayerID": 112, + "baseLayerID": -1, "baseLayerMD5": "450bc8fbd5ab6bc2e83576aad58cd07c.svg", "bitmapResolution": 1, "rotationCenterX": 49, @@ -12259,7 +12503,6 @@ }, { "name": "Watermelon", - "baseLayerID": -1, "md5": "26fecef75cf3b6e0d98bff5c06475036.svg", "type": "sprite", "tags": [ @@ -12290,7 +12533,7 @@ "costumes": [ { "costumeName": "watermelon-a", - "baseLayerID": 98, + "baseLayerID": -1, "baseLayerMD5": "26fecef75cf3b6e0d98bff5c06475036.svg", "bitmapResolution": 1, "rotationCenterX": 40, @@ -12298,7 +12541,7 @@ }, { "costumeName": "watermelon-b", - "baseLayerID": 99, + "baseLayerID": -1, "baseLayerMD5": "fbdaf4d1d349edd3ddf3a1c4528aa9ec.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -12306,7 +12549,7 @@ }, { "costumeName": "watermelon-c", - "baseLayerID": 100, + "baseLayerID": -1, "baseLayerMD5": "5976c10412306fc093c1d1930fa05119.svg", "bitmapResolution": 1, "rotationCenterX": 21, @@ -12326,7 +12569,6 @@ }, { "name": "Witch", - "baseLayerID": -1, "md5": "cbc54e15cd62f0c16369587377636099.svg", "type": "sprite", "tags": [ @@ -12401,7 +12643,6 @@ }, { "name": "Wizard", - "baseLayerID": -1, "md5": "9632aab80fce1c5bdb58150b29cb0067.svg", "type": "sprite", "tags": [ @@ -12468,7 +12709,6 @@ }, { "name": "Wizard-toad", - "baseLayerID": -1, "md5": "fd5c4cce36e866489febc227e23b21aa.svg", "type": "sprite", "tags": [ @@ -12527,7 +12767,6 @@ }, { "name": "Block-A", - "baseLayerID": -1, "md5": "602a16930a8050e1298e1a0ae844363e.svg", "type": "sprite", "tags": [ @@ -12554,7 +12793,7 @@ "costumes": [ { "costumeName": "Block-a", - "baseLayerID": 0, + "baseLayerID": -1, "baseLayerMD5": "602a16930a8050e1298e1a0ae844363e.svg", "bitmapResolution": 1, "rotationCenterX": 28, @@ -12574,7 +12813,6 @@ }, { "name": "Block-B", - "baseLayerID": -1, "md5": "f8c683cf71660e8ac1f8855599857a25.svg", "type": "sprite", "tags": [ @@ -12601,7 +12839,7 @@ "costumes": [ { "costumeName": "Block-b", - "baseLayerID": 1, + "baseLayerID": -1, "baseLayerMD5": "f8c683cf71660e8ac1f8855599857a25.svg", "bitmapResolution": 1, "rotationCenterX": 29, @@ -12621,7 +12859,6 @@ }, { "name": "Block-C", - "baseLayerID": -1, "md5": "f8f4cc686ffc5a4113a99f70b09abd32.svg", "type": "sprite", "tags": [ @@ -12648,7 +12885,7 @@ "costumes": [ { "costumeName": "Block-c", - "baseLayerID": 2, + "baseLayerID": -1, "baseLayerMD5": "f8f4cc686ffc5a4113a99f70b09abd32.svg", "bitmapResolution": 1, "rotationCenterX": 35, @@ -12668,7 +12905,6 @@ }, { "name": "Block-D", - "baseLayerID": -1, "md5": "aee2d71ef0293b33479bff9423d16b67.svg", "type": "sprite", "tags": [ @@ -12695,7 +12931,7 @@ "costumes": [ { "costumeName": "Block-d", - "baseLayerID": 3, + "baseLayerID": -1, "baseLayerMD5": "aee2d71ef0293b33479bff9423d16b67.svg", "bitmapResolution": 1, "rotationCenterX": 31, @@ -12715,7 +12951,6 @@ }, { "name": "Block-E", - "baseLayerID": -1, "md5": "16c6257316ff94cc7539ccdfc24e5fb8.svg", "type": "sprite", "tags": [ @@ -12742,7 +12977,7 @@ "costumes": [ { "costumeName": "Block-e", - "baseLayerID": 4, + "baseLayerID": -1, "baseLayerMD5": "16c6257316ff94cc7539ccdfc24e5fb8.svg", "bitmapResolution": 1, "rotationCenterX": 25, @@ -12762,7 +12997,6 @@ }, { "name": "Block-F", - "baseLayerID": -1, "md5": "34c090c1f573c569332ead68cb99b595.svg", "type": "sprite", "tags": [ @@ -12789,7 +13023,7 @@ "costumes": [ { "costumeName": "Block-f", - "baseLayerID": 6, + "baseLayerID": -1, "baseLayerMD5": "34c090c1f573c569332ead68cb99b595.svg", "bitmapResolution": 1, "rotationCenterX": 23, @@ -12809,7 +13043,6 @@ }, { "name": "Block-G", - "baseLayerID": -1, "md5": "8bb2382627004eb08ff10ea8171cc724.svg", "type": "sprite", "tags": [ @@ -12836,7 +13069,7 @@ "costumes": [ { "costumeName": "Block-g", - "baseLayerID": 9, + "baseLayerID": -1, "baseLayerMD5": "8bb2382627004eb08ff10ea8171cc724.svg", "bitmapResolution": 1, "rotationCenterX": 28, @@ -12856,7 +13089,6 @@ }, { "name": "Block-H", - "baseLayerID": -1, "md5": "f1578807d4a124fc02b639a8febeaab3.svg", "type": "sprite", "tags": [ @@ -12883,7 +13115,7 @@ "costumes": [ { "costumeName": "Block-h", - "baseLayerID": 11, + "baseLayerID": -1, "baseLayerMD5": "f1578807d4a124fc02b639a8febeaab3.svg", "bitmapResolution": 1, "rotationCenterX": 27, @@ -12903,7 +13135,6 @@ }, { "name": "Block-I", - "baseLayerID": -1, "md5": "341bc70442886d6fdf959f2a97a63554.svg", "type": "sprite", "tags": [ @@ -12930,7 +13161,7 @@ "costumes": [ { "costumeName": "Block-i", - "baseLayerID": 13, + "baseLayerID": -1, "baseLayerMD5": "341bc70442886d6fdf959f2a97a63554.svg", "bitmapResolution": 1, "rotationCenterX": 19, @@ -12950,7 +13181,6 @@ }, { "name": "Block-J", - "baseLayerID": -1, "md5": "4b420cce964beedf2c1dc43faa59fdec.svg", "type": "sprite", "tags": [ @@ -12977,7 +13207,7 @@ "costumes": [ { "costumeName": "Block-j", - "baseLayerID": 15, + "baseLayerID": -1, "baseLayerMD5": "4b420cce964beedf2c1dc43faa59fdec.svg", "bitmapResolution": 1, "rotationCenterX": 25, @@ -12997,7 +13227,6 @@ }, { "name": "Block-K", - "baseLayerID": -1, "md5": "19601cc33449813aa93a47c63167e5c1.svg", "type": "sprite", "tags": [ @@ -13024,7 +13253,7 @@ "costumes": [ { "costumeName": "Block-k", - "baseLayerID": 17, + "baseLayerID": -1, "baseLayerMD5": "19601cc33449813aa93a47c63167e5c1.svg", "bitmapResolution": 1, "rotationCenterX": 24, @@ -13044,7 +13273,6 @@ }, { "name": "Block-L", - "baseLayerID": -1, "md5": "87358e3c9b9f5be4376253ce08d0192d.svg", "type": "sprite", "tags": [ @@ -13071,7 +13299,7 @@ "costumes": [ { "costumeName": "Block-l", - "baseLayerID": 19, + "baseLayerID": -1, "baseLayerMD5": "87358e3c9b9f5be4376253ce08d0192d.svg", "bitmapResolution": 1, "rotationCenterX": 26, @@ -13091,7 +13319,6 @@ }, { "name": "Block-M", - "baseLayerID": -1, "md5": "7ba0642be1f0080c0d273ea96e29b1e8.svg", "type": "sprite", "tags": [ @@ -13118,7 +13345,7 @@ "costumes": [ { "costumeName": "Block-m", - "baseLayerID": 21, + "baseLayerID": -1, "baseLayerMD5": "7ba0642be1f0080c0d273ea96e29b1e8.svg", "bitmapResolution": 1, "rotationCenterX": 35, @@ -13138,7 +13365,6 @@ }, { "name": "Block-N", - "baseLayerID": -1, "md5": "6c1fbc57821744bd9356ce9a21ed70f7.svg", "type": "sprite", "tags": [ @@ -13165,7 +13391,7 @@ "costumes": [ { "costumeName": "Block-n", - "baseLayerID": 23, + "baseLayerID": -1, "baseLayerMD5": "6c1fbc57821744bd9356ce9a21ed70f7.svg", "bitmapResolution": 1, "rotationCenterX": 28, @@ -13185,7 +13411,6 @@ }, { "name": "Block-O", - "baseLayerID": -1, "md5": "e88638200a73e167d0e266a343019cec.svg", "type": "sprite", "tags": [ @@ -13212,7 +13437,7 @@ "costumes": [ { "costumeName": "Block-o", - "baseLayerID": 27, + "baseLayerID": -1, "baseLayerMD5": "e88638200a73e167d0e266a343019cec.svg", "bitmapResolution": 1, "rotationCenterX": 32, @@ -13232,7 +13457,6 @@ }, { "name": "Block-P", - "baseLayerID": -1, "md5": "ad2fc3a1c6538678915633a11ab6ec73.svg", "type": "sprite", "tags": [ @@ -13259,7 +13483,7 @@ "costumes": [ { "costumeName": "Block-p", - "baseLayerID": 25, + "baseLayerID": -1, "baseLayerMD5": "ad2fc3a1c6538678915633a11ab6ec73.svg", "bitmapResolution": 1, "rotationCenterX": 18, @@ -13279,7 +13503,6 @@ }, { "name": "Block-Q", - "baseLayerID": -1, "md5": "64da9da8684c74deb567dbdb661d3a52.svg", "type": "sprite", "tags": [ @@ -13306,7 +13529,7 @@ "costumes": [ { "costumeName": "Block-q", - "baseLayerID": 35, + "baseLayerID": -1, "baseLayerMD5": "64da9da8684c74deb567dbdb661d3a52.svg", "bitmapResolution": 1, "rotationCenterX": 26, @@ -13326,7 +13549,6 @@ }, { "name": "Block-R", - "baseLayerID": -1, "md5": "73e8d46f7475476d8cb4cfcfc75ee50d.svg", "type": "sprite", "tags": [ @@ -13353,7 +13575,7 @@ "costumes": [ { "costumeName": "Block-r", - "baseLayerID": 30, + "baseLayerID": -1, "baseLayerMD5": "73e8d46f7475476d8cb4cfcfc75ee50d.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -13373,7 +13595,6 @@ }, { "name": "Block-S", - "baseLayerID": -1, "md5": "9feb5593fed51e88dbb3128cfc290d29.svg", "type": "sprite", "tags": [ @@ -13400,7 +13621,7 @@ "costumes": [ { "costumeName": "Block-s", - "baseLayerID": 32, + "baseLayerID": -1, "baseLayerMD5": "9feb5593fed51e88dbb3128cfc290d29.svg", "bitmapResolution": 1, "rotationCenterX": 13, @@ -13420,7 +13641,6 @@ }, { "name": "Block-T", - "baseLayerID": -1, "md5": "d29c1caf5cf195740c38f279e82a77a4.svg", "type": "sprite", "tags": [ @@ -13447,7 +13667,7 @@ "costumes": [ { "costumeName": "Block-t", - "baseLayerID": 37, + "baseLayerID": -1, "baseLayerMD5": "d29c1caf5cf195740c38f279e82a77a4.svg", "bitmapResolution": 1, "rotationCenterX": 25, @@ -13467,7 +13687,6 @@ }, { "name": "Block-U", - "baseLayerID": -1, "md5": "faef46b7bf589c36300142f6f03c5d32.svg", "type": "sprite", "tags": [ @@ -13494,7 +13713,7 @@ "costumes": [ { "costumeName": "Block-u", - "baseLayerID": 39, + "baseLayerID": -1, "baseLayerMD5": "faef46b7bf589c36300142f6f03c5d32.svg", "bitmapResolution": 1, "rotationCenterX": 28, @@ -13514,7 +13733,6 @@ }, { "name": "Block-V", - "baseLayerID": -1, "md5": "65e2f4821ab084827e22920acb61c92b.svg", "type": "sprite", "tags": [ @@ -13541,7 +13759,7 @@ "costumes": [ { "costumeName": "Block-v", - "baseLayerID": 42, + "baseLayerID": -1, "baseLayerMD5": "65e2f4821ab084827e22920acb61c92b.svg", "bitmapResolution": 1, "rotationCenterX": 35, @@ -13561,7 +13779,6 @@ }, { "name": "Block-W", - "baseLayerID": -1, "md5": "5ab197b4f70b2f98a3658c7ccdc3351d.svg", "type": "sprite", "tags": [ @@ -13588,7 +13805,7 @@ "costumes": [ { "costumeName": "Block-w", - "baseLayerID": 44, + "baseLayerID": -1, "baseLayerMD5": "5ab197b4f70b2f98a3658c7ccdc3351d.svg", "bitmapResolution": 1, "rotationCenterX": 47, @@ -13608,7 +13825,6 @@ }, { "name": "Block-X", - "baseLayerID": -1, "md5": "cb9dff35f05e823d954e47e4a717a48c.svg", "type": "sprite", "tags": [ @@ -13635,7 +13851,7 @@ "costumes": [ { "costumeName": "Block-x", - "baseLayerID": 46, + "baseLayerID": -1, "baseLayerMD5": "cb9dff35f05e823d954e47e4a717a48c.svg", "bitmapResolution": 1, "rotationCenterX": 25, @@ -13655,7 +13871,6 @@ }, { "name": "Block-Y", - "baseLayerID": -1, "md5": "4c13c440bcb35c8c3aa6226374fced3f.svg", "type": "sprite", "tags": [ @@ -13682,7 +13897,7 @@ "costumes": [ { "costumeName": "Block-y", - "baseLayerID": 48, + "baseLayerID": -1, "baseLayerMD5": "4c13c440bcb35c8c3aa6226374fced3f.svg", "bitmapResolution": 1, "rotationCenterX": 26, @@ -13702,7 +13917,6 @@ }, { "name": "Block-Z", - "baseLayerID": -1, "md5": "0ccff1898f1bf1b25333d581db09fae2.svg", "type": "sprite", "tags": [ @@ -13729,7 +13943,7 @@ "costumes": [ { "costumeName": "Block-z", - "baseLayerID": 50, + "baseLayerID": -1, "baseLayerMD5": "0ccff1898f1bf1b25333d581db09fae2.svg", "bitmapResolution": 1, "rotationCenterX": 24, @@ -13749,7 +13963,6 @@ }, { "name": "Glow-0", - "baseLayerID": -1, "md5": "38b2b342659adc6fa289090975e0e71d.svg", "type": "sprite", "tags": [ @@ -13776,7 +13989,7 @@ "costumes": [ { "costumeName": "Glow-0", - "baseLayerID": 31, + "baseLayerID": -1, "baseLayerMD5": "38b2b342659adc6fa289090975e0e71d.svg", "bitmapResolution": 1, "rotationCenterX": 29, @@ -13796,7 +14009,6 @@ }, { "name": "Glow-1", - "baseLayerID": -1, "md5": "2c88706210672655401fe09edd8ff6a7.svg", "type": "sprite", "tags": [ @@ -13823,7 +14035,7 @@ "costumes": [ { "costumeName": "Glow-1", - "baseLayerID": 52, + "baseLayerID": -1, "baseLayerMD5": "2c88706210672655401fe09edd8ff6a7.svg", "bitmapResolution": 1, "rotationCenterX": 24, @@ -13843,7 +14055,6 @@ }, { "name": "Glow-2", - "baseLayerID": -1, "md5": "b9faa5708a799a1607f0325a7af2561c.svg", "type": "sprite", "tags": [ @@ -13870,7 +14081,7 @@ "costumes": [ { "costumeName": "Glow-2", - "baseLayerID": 53, + "baseLayerID": -1, "baseLayerMD5": "b9faa5708a799a1607f0325a7af2561c.svg", "bitmapResolution": 1, "rotationCenterX": 28, @@ -13890,7 +14101,6 @@ }, { "name": "Glow-3", - "baseLayerID": -1, "md5": "cf42a50552ce26032ead712ac4f36c23.svg", "type": "sprite", "tags": [ @@ -13917,7 +14127,7 @@ "costumes": [ { "costumeName": "Glow-3", - "baseLayerID": 54, + "baseLayerID": -1, "baseLayerMD5": "cf42a50552ce26032ead712ac4f36c23.svg", "bitmapResolution": 1, "rotationCenterX": 33, @@ -13937,7 +14147,6 @@ }, { "name": "Glow-4", - "baseLayerID": -1, "md5": "3ffa6aee373e28fc36b9395ac4d0467e.svg", "type": "sprite", "tags": [ @@ -13964,7 +14173,7 @@ "costumes": [ { "costumeName": "Glow-4", - "baseLayerID": 55, + "baseLayerID": -1, "baseLayerMD5": "3ffa6aee373e28fc36b9395ac4d0467e.svg", "bitmapResolution": 1, "rotationCenterX": 31, @@ -13984,7 +14193,6 @@ }, { "name": "Glow-5", - "baseLayerID": -1, "md5": "85d87d32e7e9e6be122c905b0d2e7e33.svg", "type": "sprite", "tags": [ @@ -14011,7 +14219,7 @@ "costumes": [ { "costumeName": "Glow-5", - "baseLayerID": 56, + "baseLayerID": -1, "baseLayerMD5": "85d87d32e7e9e6be122c905b0d2e7e33.svg", "bitmapResolution": 1, "rotationCenterX": 30, @@ -14031,7 +14239,6 @@ }, { "name": "Glow-6", - "baseLayerID": -1, "md5": "62cc2a6def27f19d11ed56e86e95aac5.svg", "type": "sprite", "tags": [ @@ -14058,7 +14265,7 @@ "costumes": [ { "costumeName": "Glow-6", - "baseLayerID": 57, + "baseLayerID": -1, "baseLayerMD5": "62cc2a6def27f19d11ed56e86e95aac5.svg", "bitmapResolution": 1, "rotationCenterX": 30, @@ -14078,7 +14285,6 @@ }, { "name": "Glow-7", - "baseLayerID": -1, "md5": "8887983eb4df2e62a2ed4770a1d98d60.svg", "type": "sprite", "tags": [ @@ -14105,7 +14311,7 @@ "costumes": [ { "costumeName": "Glow-7", - "baseLayerID": 58, + "baseLayerID": -1, "baseLayerMD5": "8887983eb4df2e62a2ed4770a1d98d60.svg", "bitmapResolution": 1, "rotationCenterX": 31, @@ -14125,7 +14331,6 @@ }, { "name": "Glow-8", - "baseLayerID": -1, "md5": "4c42c4cb0c1e090d0f9570416d3c80c8.svg", "type": "sprite", "tags": [ @@ -14152,7 +14357,7 @@ "costumes": [ { "costumeName": "Glow-8", - "baseLayerID": 59, + "baseLayerID": -1, "baseLayerMD5": "4c42c4cb0c1e090d0f9570416d3c80c8.svg", "bitmapResolution": 1, "rotationCenterX": 31, @@ -14172,7 +14377,6 @@ }, { "name": "Glow-9", - "baseLayerID": -1, "md5": "7bcb7e2e48f5cb770c83d4267922fec0.svg", "type": "sprite", "tags": [ @@ -14199,7 +14403,7 @@ "costumes": [ { "costumeName": "Glow-9", - "baseLayerID": 60, + "baseLayerID": -1, "baseLayerMD5": "7bcb7e2e48f5cb770c83d4267922fec0.svg", "bitmapResolution": 1, "rotationCenterX": 28, @@ -14219,7 +14423,6 @@ }, { "name": "Glow-A", - "baseLayerID": -1, "md5": "d5aa299350c24c747200a64b63b1aa52.svg", "type": "sprite", "tags": [ @@ -14246,7 +14449,7 @@ "costumes": [ { "costumeName": "Glow-A", - "baseLayerID": 5, + "baseLayerID": -1, "baseLayerMD5": "d5aa299350c24c747200a64b63b1aa52.svg", "bitmapResolution": 1, "rotationCenterX": 36, @@ -14266,7 +14469,6 @@ }, { "name": "Glow-B", - "baseLayerID": -1, "md5": "a2e95f268a6cab03f3e94b3b0b792d83.svg", "type": "sprite", "tags": [ @@ -14293,7 +14495,7 @@ "costumes": [ { "costumeName": "Glow-B", - "baseLayerID": 7, + "baseLayerID": -1, "baseLayerMD5": "a2e95f268a6cab03f3e94b3b0b792d83.svg", "bitmapResolution": 1, "rotationCenterX": 32, @@ -14313,7 +14515,6 @@ }, { "name": "Glow-C", - "baseLayerID": -1, "md5": "9779a4a40934f04a4bf84920b258d7c9.svg", "type": "sprite", "tags": [ @@ -14340,7 +14541,7 @@ "costumes": [ { "costumeName": "Glow-C", - "baseLayerID": 8, + "baseLayerID": -1, "baseLayerMD5": "9779a4a40934f04a4bf84920b258d7c9.svg", "bitmapResolution": 1, "rotationCenterX": 27, @@ -14360,7 +14561,6 @@ }, { "name": "Glow-D", - "baseLayerID": -1, "md5": "3555b8bbbbcdc00354bf6fa81ac7042f.svg", "type": "sprite", "tags": [ @@ -14387,7 +14587,7 @@ "costumes": [ { "costumeName": "Glow-D", - "baseLayerID": 10, + "baseLayerID": -1, "baseLayerMD5": "3555b8bbbbcdc00354bf6fa81ac7042f.svg", "bitmapResolution": 1, "rotationCenterX": 33, @@ -14407,7 +14607,6 @@ }, { "name": "Glow-E", - "baseLayerID": -1, "md5": "44dbc655d5ac9f13618473848e23484e.svg", "type": "sprite", "tags": [ @@ -14434,7 +14633,7 @@ "costumes": [ { "costumeName": "Glow-E", - "baseLayerID": 12, + "baseLayerID": -1, "baseLayerMD5": "44dbc655d5ac9f13618473848e23484e.svg", "bitmapResolution": 1, "rotationCenterX": 34, @@ -14454,7 +14653,6 @@ }, { "name": "Glow-F", - "baseLayerID": -1, "md5": "dec417e749e43d7de3985155f5f5a7a0.svg", "type": "sprite", "tags": [ @@ -14481,7 +14679,7 @@ "costumes": [ { "costumeName": "Glow-F", - "baseLayerID": 14, + "baseLayerID": -1, "baseLayerMD5": "dec417e749e43d7de3985155f5f5a7a0.svg", "bitmapResolution": 1, "rotationCenterX": 35, @@ -14501,7 +14699,6 @@ }, { "name": "Glow-G", - "baseLayerID": -1, "md5": "cf4aa465cd8fb7049cc571d7546a7eb1.svg", "type": "sprite", "tags": [ @@ -14528,7 +14725,7 @@ "costumes": [ { "costumeName": "Glow-G", - "baseLayerID": 16, + "baseLayerID": -1, "baseLayerMD5": "cf4aa465cd8fb7049cc571d7546a7eb1.svg", "bitmapResolution": 1, "rotationCenterX": 32, @@ -14548,7 +14745,6 @@ }, { "name": "Glow-H", - "baseLayerID": -1, "md5": "8d9bd5f00ea1ac6f92d0f97ee491b0f3.svg", "type": "sprite", "tags": [ @@ -14575,7 +14771,7 @@ "costumes": [ { "costumeName": "Glow-H", - "baseLayerID": 18, + "baseLayerID": -1, "baseLayerMD5": "8d9bd5f00ea1ac6f92d0f97ee491b0f3.svg", "bitmapResolution": 1, "rotationCenterX": 35, @@ -14595,7 +14791,6 @@ }, { "name": "Glow-I", - "baseLayerID": -1, "md5": "0e86de55840103dcd50199ab2b765de7.svg", "type": "sprite", "tags": [ @@ -14622,7 +14817,7 @@ "costumes": [ { "costumeName": "Glow-I", - "baseLayerID": 20, + "baseLayerID": -1, "baseLayerMD5": "0e86de55840103dcd50199ab2b765de7.svg", "bitmapResolution": 1, "rotationCenterX": 21, @@ -14642,7 +14837,6 @@ }, { "name": "Glow-J", - "baseLayerID": -1, "md5": "b3832145eacc39f91bd3a9a6673fa05c.svg", "type": "sprite", "tags": [ @@ -14669,7 +14863,7 @@ "costumes": [ { "costumeName": "Glow-J", - "baseLayerID": 22, + "baseLayerID": -1, "baseLayerMD5": "b3832145eacc39f91bd3a9a6673fa05c.svg", "bitmapResolution": 1, "rotationCenterX": 29, @@ -14689,7 +14883,6 @@ }, { "name": "Glow-K", - "baseLayerID": -1, "md5": "f4e37a7552ba05e995613211a7146de5.svg", "type": "sprite", "tags": [ @@ -14716,7 +14909,7 @@ "costumes": [ { "costumeName": "Glow-K", - "baseLayerID": 24, + "baseLayerID": -1, "baseLayerMD5": "f4e37a7552ba05e995613211a7146de5.svg", "bitmapResolution": 1, "rotationCenterX": 38, @@ -14736,7 +14929,6 @@ }, { "name": "Glow-L", - "baseLayerID": -1, "md5": "a75e45773ea6afaf8ae44f79f936fc82.svg", "type": "sprite", "tags": [ @@ -14763,7 +14955,7 @@ "costumes": [ { "costumeName": "Glow-L", - "baseLayerID": 26, + "baseLayerID": -1, "baseLayerMD5": "a75e45773ea6afaf8ae44f79f936fc82.svg", "bitmapResolution": 1, "rotationCenterX": 33, @@ -14783,7 +14975,6 @@ }, { "name": "Glow-M", - "baseLayerID": -1, "md5": "219b06faa5b816347165450d148213b4.svg", "type": "sprite", "tags": [ @@ -14810,7 +15001,7 @@ "costumes": [ { "costumeName": "Glow-M", - "baseLayerID": 28, + "baseLayerID": -1, "baseLayerMD5": "219b06faa5b816347165450d148213b4.svg", "bitmapResolution": 1, "rotationCenterX": 42, @@ -14830,7 +15021,6 @@ }, { "name": "Glow-N", - "baseLayerID": -1, "md5": "4b724479fb3b2184fd8be6f83fb20e54.svg", "type": "sprite", "tags": [ @@ -14857,7 +15047,7 @@ "costumes": [ { "costumeName": "Glow-N", - "baseLayerID": 29, + "baseLayerID": -1, "baseLayerMD5": "4b724479fb3b2184fd8be6f83fb20e54.svg", "bitmapResolution": 1, "rotationCenterX": 37, @@ -14877,7 +15067,6 @@ }, { "name": "Glow-O", - "baseLayerID": -1, "md5": "38b2b342659adc6fa289090975e0e71d.svg", "type": "sprite", "tags": [ @@ -14904,7 +15093,7 @@ "costumes": [ { "costumeName": "Glow-O", - "baseLayerID": 31, + "baseLayerID": -1, "baseLayerMD5": "38b2b342659adc6fa289090975e0e71d.svg", "bitmapResolution": 1, "rotationCenterX": 29, @@ -14924,7 +15113,6 @@ }, { "name": "Glow-P", - "baseLayerID": -1, "md5": "1cfa849cc967069730b7e9d0809c9dc1.svg", "type": "sprite", "tags": [ @@ -14951,7 +15139,7 @@ "costumes": [ { "costumeName": "Glow-P", - "baseLayerID": 33, + "baseLayerID": -1, "baseLayerMD5": "1cfa849cc967069730b7e9d0809c9dc1.svg", "bitmapResolution": 1, "rotationCenterX": 32, @@ -14971,7 +15159,6 @@ }, { "name": "Glow-Q", - "baseLayerID": -1, "md5": "9d35979e9404ac234301269fcd7de288.svg", "type": "sprite", "tags": [ @@ -14998,7 +15185,7 @@ "costumes": [ { "costumeName": "Glow-Q", - "baseLayerID": 34, + "baseLayerID": -1, "baseLayerMD5": "9d35979e9404ac234301269fcd7de288.svg", "bitmapResolution": 1, "rotationCenterX": 33, @@ -15018,7 +15205,6 @@ }, { "name": "Glow-R", - "baseLayerID": -1, "md5": "fc067ee076ecaba8430ccd54d9414c1b.svg", "type": "sprite", "tags": [ @@ -15045,7 +15231,7 @@ "costumes": [ { "costumeName": "Glow-R", - "baseLayerID": 36, + "baseLayerID": -1, "baseLayerMD5": "fc067ee076ecaba8430ccd54d9414c1b.svg", "bitmapResolution": 1, "rotationCenterX": 35, @@ -15065,7 +15251,6 @@ }, { "name": "Glow-S", - "baseLayerID": -1, "md5": "19a93db8a294ccaec4d6eef4020a446f.svg", "type": "sprite", "tags": [ @@ -15092,7 +15277,7 @@ "costumes": [ { "costumeName": "Glow-S", - "baseLayerID": 38, + "baseLayerID": -1, "baseLayerMD5": "19a93db8a294ccaec4d6eef4020a446f.svg", "bitmapResolution": 1, "rotationCenterX": 27, @@ -15112,7 +15297,6 @@ }, { "name": "Glow-T", - "baseLayerID": -1, "md5": "d7bcda522a1e9504dafcf2fa0fcde39b.svg", "type": "sprite", "tags": [ @@ -15139,7 +15323,7 @@ "costumes": [ { "costumeName": "Glow-T", - "baseLayerID": 40, + "baseLayerID": -1, "baseLayerMD5": "d7bcda522a1e9504dafcf2fa0fcde39b.svg", "bitmapResolution": 1, "rotationCenterX": 35, @@ -15159,7 +15343,6 @@ }, { "name": "Glow-U", - "baseLayerID": -1, "md5": "790482a3c3691a1e96ef34eee7303872.svg", "type": "sprite", "tags": [ @@ -15186,7 +15369,7 @@ "costumes": [ { "costumeName": "Glow-U", - "baseLayerID": 41, + "baseLayerID": -1, "baseLayerMD5": "790482a3c3691a1e96ef34eee7303872.svg", "bitmapResolution": 1, "rotationCenterX": 37, @@ -15206,7 +15389,6 @@ }, { "name": "Glow-V", - "baseLayerID": -1, "md5": "6a00388d8dc6be645b843cef9c22681c.svg", "type": "sprite", "tags": [ @@ -15233,7 +15415,7 @@ "costumes": [ { "costumeName": "Glow-V", - "baseLayerID": 43, + "baseLayerID": -1, "baseLayerMD5": "6a00388d8dc6be645b843cef9c22681c.svg", "bitmapResolution": 1, "rotationCenterX": 35, @@ -15253,7 +15435,6 @@ }, { "name": "Glow-W", - "baseLayerID": -1, "md5": "1a9ea7305a85b271c1de79beafe16cb4.svg", "type": "sprite", "tags": [ @@ -15280,7 +15461,7 @@ "costumes": [ { "costumeName": "Glow-W", - "baseLayerID": 45, + "baseLayerID": -1, "baseLayerMD5": "1a9ea7305a85b271c1de79beafe16cb4.svg", "bitmapResolution": 1, "rotationCenterX": 45, @@ -15300,7 +15481,6 @@ }, { "name": "Glow-X", - "baseLayerID": -1, "md5": "ec4e65b9ae475a676973128f4205df5f.svg", "type": "sprite", "tags": [ @@ -15327,7 +15507,7 @@ "costumes": [ { "costumeName": "Glow-X", - "baseLayerID": 47, + "baseLayerID": -1, "baseLayerMD5": "ec4e65b9ae475a676973128f4205df5f.svg", "bitmapResolution": 1, "rotationCenterX": 40, @@ -15347,7 +15527,6 @@ }, { "name": "Glow-Y", - "baseLayerID": -1, "md5": "683cd093bb3b254733a15df6f843464c.svg", "type": "sprite", "tags": [ @@ -15374,7 +15553,7 @@ "costumes": [ { "costumeName": "Glow-Y", - "baseLayerID": 49, + "baseLayerID": -1, "baseLayerMD5": "683cd093bb3b254733a15df6f843464c.svg", "bitmapResolution": 1, "rotationCenterX": 38, @@ -15394,7 +15573,6 @@ }, { "name": "Glow-Z", - "baseLayerID": -1, "md5": "db89a4c9b123123542e0b7556ed3ff9f.svg", "type": "sprite", "tags": [ @@ -15421,7 +15599,7 @@ "costumes": [ { "costumeName": "Glow-Z", - "baseLayerID": 51, + "baseLayerID": -1, "baseLayerMD5": "db89a4c9b123123542e0b7556ed3ff9f.svg", "bitmapResolution": 1, "rotationCenterX": 30, @@ -15441,7 +15619,6 @@ }, { "name": "Story-A", - "baseLayerID": -1, "md5": "5406b37278d819d4787a588b9c91f68e.svg", "type": "sprite", "tags": [ @@ -15468,7 +15645,7 @@ "costumes": [ { "costumeName": "story-A-1", - "baseLayerID": 61, + "baseLayerID": -1, "baseLayerMD5": "5406b37278d819d4787a588b9c91f68e.svg", "bitmapResolution": 1, "rotationCenterX": 23, @@ -15476,7 +15653,7 @@ }, { "costumeName": "story-A-2", - "baseLayerID": 62, + "baseLayerID": -1, "baseLayerMD5": "f277943adf8d79b41b9b568321a786ee.svg", "bitmapResolution": 1, "rotationCenterX": 23, @@ -15484,7 +15661,7 @@ }, { "costumeName": "story-A-3", - "baseLayerID": 63, + "baseLayerID": -1, "baseLayerMD5": "cc0cc7ae3240eab7d040e148cc663325.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -15504,7 +15681,6 @@ }, { "name": "Story-B", - "baseLayerID": -1, "md5": "2a8fac3c82d95f13203843a597b5757b.svg", "type": "sprite", "tags": [ @@ -15531,7 +15707,7 @@ "costumes": [ { "costumeName": "story-B-1", - "baseLayerID": 64, + "baseLayerID": -1, "baseLayerMD5": "2a8fac3c82d95f13203843a597b5757b.svg", "bitmapResolution": 1, "rotationCenterX": 20, @@ -15539,7 +15715,7 @@ }, { "costumeName": "story-B-2", - "baseLayerID": 65, + "baseLayerID": -1, "baseLayerMD5": "07fa4ebc421d84743b6ced189dd2f9cf.svg", "bitmapResolution": 1, "rotationCenterX": 19, @@ -15547,7 +15723,7 @@ }, { "costumeName": "story-B-3", - "baseLayerID": 66, + "baseLayerID": -1, "baseLayerMD5": "6c9a9203155f93f24f31b30e3bd76b6d.svg", "bitmapResolution": 1, "rotationCenterX": 18, @@ -15567,7 +15743,6 @@ }, { "name": "Story-C", - "baseLayerID": -1, "md5": "144845715016910e88e2a223ed4d3df1.svg", "type": "sprite", "tags": [ @@ -15594,7 +15769,7 @@ "costumes": [ { "costumeName": "story-C-1", - "baseLayerID": 67, + "baseLayerID": -1, "baseLayerMD5": "144845715016910e88e2a223ed4d3df1.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -15602,7 +15777,7 @@ }, { "costumeName": "story-C-2", - "baseLayerID": 68, + "baseLayerID": -1, "baseLayerMD5": "1045c56c4be3d8d0650579864417fbc7.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -15610,7 +15785,7 @@ }, { "costumeName": "story-C-3", - "baseLayerID": 69, + "baseLayerID": -1, "baseLayerMD5": "c8fd35294d17a369fecb6d6e4725d04a.svg", "bitmapResolution": 1, "rotationCenterX": 20, @@ -15630,7 +15805,6 @@ }, { "name": "Story-D", - "baseLayerID": -1, "md5": "dfd362f2da975c20aa7849a8fa2fb4df.svg", "type": "sprite", "tags": [ @@ -15657,7 +15831,7 @@ "costumes": [ { "costumeName": "story-D-1", - "baseLayerID": 70, + "baseLayerID": -1, "baseLayerMD5": "dfd362f2da975c20aa7849a8fa2fb4df.svg", "bitmapResolution": 1, "rotationCenterX": 25, @@ -15665,7 +15839,7 @@ }, { "costumeName": "story-D-2", - "baseLayerID": 71, + "baseLayerID": -1, "baseLayerMD5": "3e4cc4cff08bb42bc690eff66dffbbe9.svg", "bitmapResolution": 1, "rotationCenterX": 25, @@ -15673,7 +15847,7 @@ }, { "costumeName": "story-D-3", - "baseLayerID": 72, + "baseLayerID": -1, "baseLayerMD5": "bd7f984fe82d9d0fdcff0a87b3c0f9e0.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -15693,7 +15867,6 @@ }, { "name": "Story-E", - "baseLayerID": -1, "md5": "56473bacbdf6f0dbca1afb04e5aebaf7.svg", "type": "sprite", "tags": [ @@ -15720,7 +15893,7 @@ "costumes": [ { "costumeName": "story-E-1", - "baseLayerID": 73, + "baseLayerID": -1, "baseLayerMD5": "56473bacbdf6f0dbca1afb04e5aebaf7.svg", "bitmapResolution": 1, "rotationCenterX": 20, @@ -15728,7 +15901,7 @@ }, { "costumeName": "story-E-2", - "baseLayerID": 74, + "baseLayerID": -1, "baseLayerMD5": "8bba14966fe35f0dccb66ef06a9843ca.svg", "bitmapResolution": 1, "rotationCenterX": 20, @@ -15736,7 +15909,7 @@ }, { "costumeName": "story-E-3", - "baseLayerID": 75, + "baseLayerID": -1, "baseLayerMD5": "e8cfc63375f6d6c2a580823489427f38.svg", "bitmapResolution": 1, "rotationCenterX": 18, @@ -15756,7 +15929,6 @@ }, { "name": "Story-F", - "baseLayerID": -1, "md5": "5844ff29fc8663c8613f12169d2f07ef.svg", "type": "sprite", "tags": [ @@ -15783,7 +15955,7 @@ "costumes": [ { "costumeName": "story-F-1", - "baseLayerID": 76, + "baseLayerID": -1, "baseLayerMD5": "5844ff29fc8663c8613f12169d2f07ef.svg", "bitmapResolution": 1, "rotationCenterX": 18, @@ -15791,7 +15963,7 @@ }, { "costumeName": "story-F-2", - "baseLayerID": 77, + "baseLayerID": -1, "baseLayerMD5": "0dbe4a064abea1a9a3bc0d2732643e6b.svg", "bitmapResolution": 1, "rotationCenterX": 18, @@ -15799,7 +15971,7 @@ }, { "costumeName": "story-F-3", - "baseLayerID": 78, + "baseLayerID": -1, "baseLayerMD5": "3db373f4482e391e66d1b06335a96144.svg", "bitmapResolution": 1, "rotationCenterX": 16, @@ -15819,7 +15991,6 @@ }, { "name": "Story-G", - "baseLayerID": -1, "md5": "ee6454d15fbbe93e908a2ebbfad483a0.svg", "type": "sprite", "tags": [ @@ -15846,7 +16017,7 @@ "costumes": [ { "costumeName": "story-G-1", - "baseLayerID": 79, + "baseLayerID": -1, "baseLayerMD5": "ee6454d15fbbe93e908a2ebbfad483a0.svg", "bitmapResolution": 1, "rotationCenterX": 23, @@ -15854,7 +16025,7 @@ }, { "costumeName": "story-G-2", - "baseLayerID": 80, + "baseLayerID": -1, "baseLayerMD5": "991023d303f79ce092f070392ffbd69f.svg", "bitmapResolution": 1, "rotationCenterX": 23, @@ -15862,7 +16033,7 @@ }, { "costumeName": "story-G-3", - "baseLayerID": 81, + "baseLayerID": -1, "baseLayerMD5": "38f22c0d8dbe541bde409ba1f241d4c1.svg", "bitmapResolution": 1, "rotationCenterX": 21, @@ -15882,7 +16053,6 @@ }, { "name": "Story-H", - "baseLayerID": -1, "md5": "2a0e1308d6cb806818af696a89b21863.svg", "type": "sprite", "tags": [ @@ -15909,7 +16079,7 @@ "costumes": [ { "costumeName": "story-H-1", - "baseLayerID": 82, + "baseLayerID": -1, "baseLayerMD5": "2a0e1308d6cb806818af696a89b21863.svg", "bitmapResolution": 1, "rotationCenterX": 24, @@ -15917,7 +16087,7 @@ }, { "costumeName": "story-H-2", - "baseLayerID": 83, + "baseLayerID": -1, "baseLayerMD5": "ca33be5270308a695c9b88af73f590dc.svg", "bitmapResolution": 1, "rotationCenterX": 24, @@ -15925,7 +16095,7 @@ }, { "costumeName": "story-H-3", - "baseLayerID": 84, + "baseLayerID": -1, "baseLayerMD5": "668ba2b891f82ce78d8590f0287632b1.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -15945,7 +16115,6 @@ }, { "name": "Story-I", - "baseLayerID": -1, "md5": "705297637ea83af5b94b6fe2e34aeef4.svg", "type": "sprite", "tags": [ @@ -15972,7 +16141,7 @@ "costumes": [ { "costumeName": "story-I-1", - "baseLayerID": 85, + "baseLayerID": -1, "baseLayerMD5": "705297637ea83af5b94b6fe2e34aeef4.svg", "bitmapResolution": 1, "rotationCenterX": 9, @@ -15980,7 +16149,7 @@ }, { "costumeName": "story-I-2", - "baseLayerID": 86, + "baseLayerID": -1, "baseLayerMD5": "7b3ae96764795727fa1cb0be68a9ca5e.svg", "bitmapResolution": 1, "rotationCenterX": 9, @@ -15988,7 +16157,7 @@ }, { "costumeName": "story-I-3", - "baseLayerID": 87, + "baseLayerID": -1, "baseLayerMD5": "3475aa570304accb7e6dbd2516234135.svg", "bitmapResolution": 1, "rotationCenterX": 7, @@ -16008,7 +16177,6 @@ }, { "name": "Story-J", - "baseLayerID": -1, "md5": "ac2e7eaecb80c5501e5e56802d03af00.svg", "type": "sprite", "tags": [ @@ -16035,7 +16203,7 @@ "costumes": [ { "costumeName": "story-J-1", - "baseLayerID": 88, + "baseLayerID": -1, "baseLayerMD5": "ac2e7eaecb80c5501e5e56802d03af00.svg", "bitmapResolution": 1, "rotationCenterX": 14, @@ -16043,7 +16211,7 @@ }, { "costumeName": "story-J-2", - "baseLayerID": 89, + "baseLayerID": -1, "baseLayerMD5": "0ab9a94fc2e32160efc113a8e5ffb984.svg", "bitmapResolution": 1, "rotationCenterX": 14, @@ -16051,7 +16219,7 @@ }, { "costumeName": "story-J-3", - "baseLayerID": 90, + "baseLayerID": -1, "baseLayerMD5": "c9356a022cfbc25be6c484e9781e4637.svg", "bitmapResolution": 1, "rotationCenterX": 12, @@ -16071,7 +16239,6 @@ }, { "name": "Story-K", - "baseLayerID": -1, "md5": "62dcc92dc3c6cb0271244190320c4f71.svg", "type": "sprite", "tags": [ @@ -16098,7 +16265,7 @@ "costumes": [ { "costumeName": "story-K-1", - "baseLayerID": 91, + "baseLayerID": -1, "baseLayerMD5": "62dcc92dc3c6cb0271244190320c4f71.svg", "bitmapResolution": 1, "rotationCenterX": 24, @@ -16106,7 +16273,7 @@ }, { "costumeName": "story-K-2", - "baseLayerID": 92, + "baseLayerID": -1, "baseLayerMD5": "ef02339e8a0382367f0b5a414915b885.svg", "bitmapResolution": 1, "rotationCenterX": 24, @@ -16114,7 +16281,7 @@ }, { "costumeName": "story-K-3", - "baseLayerID": 93, + "baseLayerID": -1, "baseLayerMD5": "07977708617d12381b22d1ee0f4926a3.svg", "bitmapResolution": 1, "rotationCenterX": 21, @@ -16134,7 +16301,6 @@ }, { "name": "Story-L", - "baseLayerID": -1, "md5": "7ce306e9c9c0dd0a24279606301f1d05.svg", "type": "sprite", "tags": [ @@ -16161,7 +16327,7 @@ "costumes": [ { "costumeName": "story-L-1", - "baseLayerID": 94, + "baseLayerID": -1, "baseLayerMD5": "7ce306e9c9c0dd0a24279606301f1d05.svg", "bitmapResolution": 1, "rotationCenterX": 19, @@ -16169,7 +16335,7 @@ }, { "costumeName": "story-L-2", - "baseLayerID": 95, + "baseLayerID": -1, "baseLayerMD5": "067c21a9b2f91ed33e07131ce5a59210.svg", "bitmapResolution": 1, "rotationCenterX": 19, @@ -16177,7 +16343,7 @@ }, { "costumeName": "story-L-3", - "baseLayerID": 96, + "baseLayerID": -1, "baseLayerMD5": "488d66f17c0089a7796d44cfc70792e8.svg", "bitmapResolution": 1, "rotationCenterX": 17, @@ -16197,7 +16363,6 @@ }, { "name": "Story-M", - "baseLayerID": -1, "md5": "b27f166f9ab4a3fb93a50a77c58c3df3.svg", "type": "sprite", "tags": [ @@ -16224,7 +16389,7 @@ "costumes": [ { "costumeName": "story-M-1", - "baseLayerID": 97, + "baseLayerID": -1, "baseLayerMD5": "b27f166f9ab4a3fb93a50a77c58c3df3.svg", "bitmapResolution": 1, "rotationCenterX": 30, @@ -16232,7 +16397,7 @@ }, { "costumeName": "story-M-2", - "baseLayerID": 98, + "baseLayerID": -1, "baseLayerMD5": "55f00a23d0f5cc57be9533f126a7ac8c.svg", "bitmapResolution": 1, "rotationCenterX": 30, @@ -16240,7 +16405,7 @@ }, { "costumeName": "story-M-3", - "baseLayerID": 99, + "baseLayerID": -1, "baseLayerMD5": "613df2bd97784a239ab992f7a95458a0.svg", "bitmapResolution": 1, "rotationCenterX": 27, @@ -16260,7 +16425,6 @@ }, { "name": "Story-N", - "baseLayerID": -1, "md5": "293589fd5bbc358a20c165ab49c19833.svg", "type": "sprite", "tags": [ @@ -16287,7 +16451,7 @@ "costumes": [ { "costumeName": "story-N-1", - "baseLayerID": 100, + "baseLayerID": -1, "baseLayerMD5": "293589fd5bbc358a20c165ab49c19833.svg", "bitmapResolution": 1, "rotationCenterX": 26, @@ -16295,7 +16459,7 @@ }, { "costumeName": "story-N-2", - "baseLayerID": 101, + "baseLayerID": -1, "baseLayerMD5": "5e07ee61cb20bc575720774584dfec53.svg", "bitmapResolution": 1, "rotationCenterX": 26, @@ -16303,7 +16467,7 @@ }, { "costumeName": "story-N-3", - "baseLayerID": 102, + "baseLayerID": -1, "baseLayerMD5": "435697335345f946d943c1d89fdb459a.svg", "bitmapResolution": 1, "rotationCenterX": 24, @@ -16323,7 +16487,6 @@ }, { "name": "Story-O", - "baseLayerID": -1, "md5": "088beed7ce0dff554da06f54d0558bc0.svg", "type": "sprite", "tags": [ @@ -16350,7 +16513,7 @@ "costumes": [ { "costumeName": "story-O-1", - "baseLayerID": 103, + "baseLayerID": -1, "baseLayerMD5": "088beed7ce0dff554da06f54d0558bc0.svg", "bitmapResolution": 1, "rotationCenterX": 25, @@ -16358,7 +16521,7 @@ }, { "costumeName": "story-O-2", - "baseLayerID": 104, + "baseLayerID": -1, "baseLayerMD5": "e8fa671bb1ca53c044bfb27225321c25.svg", "bitmapResolution": 1, "rotationCenterX": 24, @@ -16366,7 +16529,7 @@ }, { "costumeName": "story-O-3", - "baseLayerID": 105, + "baseLayerID": -1, "baseLayerMD5": "a132bf3d4084ef8ca9e0797f64c0f082.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -16386,7 +16549,6 @@ }, { "name": "Story-P", - "baseLayerID": -1, "md5": "ad4a101b83f28ced16849be3e393caa9.svg", "type": "sprite", "tags": [ @@ -16413,7 +16575,7 @@ "costumes": [ { "costumeName": "story-P-1", - "baseLayerID": 106, + "baseLayerID": -1, "baseLayerMD5": "ad4a101b83f28ced16849be3e393caa9.svg", "bitmapResolution": 1, "rotationCenterX": 20, @@ -16421,7 +16583,7 @@ }, { "costumeName": "story-P-2", - "baseLayerID": 107, + "baseLayerID": -1, "baseLayerMD5": "781c42f9da36bbc0ee3775f18ac98124.svg", "bitmapResolution": 1, "rotationCenterX": 20, @@ -16429,7 +16591,7 @@ }, { "costumeName": "story-P-3", - "baseLayerID": 108, + "baseLayerID": -1, "baseLayerMD5": "bcaec7c778920d8d74c275c1aff634fe.svg", "bitmapResolution": 1, "rotationCenterX": 17, @@ -16449,7 +16611,6 @@ }, { "name": "Story-Q", - "baseLayerID": -1, "md5": "484e44f908e84d795c87cf994364e722.svg", "type": "sprite", "tags": [ @@ -16476,7 +16637,7 @@ "costumes": [ { "costumeName": "story-Q-1", - "baseLayerID": 109, + "baseLayerID": -1, "baseLayerMD5": "484e44f908e84d795c87cf994364e722.svg", "bitmapResolution": 1, "rotationCenterX": 25, @@ -16484,7 +16645,7 @@ }, { "costumeName": "story-Q-2", - "baseLayerID": 110, + "baseLayerID": -1, "baseLayerMD5": "31f28be74dc7de42a5c4a38504d666ca.svg", "bitmapResolution": 1, "rotationCenterX": 25, @@ -16492,7 +16653,7 @@ }, { "costumeName": "story-Q-3", - "baseLayerID": 111, + "baseLayerID": -1, "baseLayerMD5": "aef19097378515308e934a79f147032e.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -16512,7 +16673,6 @@ }, { "name": "Story-R", - "baseLayerID": -1, "md5": "55999cb6783ef8351d841294d75af942.svg", "type": "sprite", "tags": [ @@ -16539,7 +16699,7 @@ "costumes": [ { "costumeName": "story-R-1", - "baseLayerID": 112, + "baseLayerID": -1, "baseLayerMD5": "55999cb6783ef8351d841294d75af942.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -16547,7 +16707,7 @@ }, { "costumeName": "story-R-2", - "baseLayerID": 113, + "baseLayerID": -1, "baseLayerMD5": "926f8ff770cb15b42b12f209fd02d98c.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -16555,7 +16715,7 @@ }, { "costumeName": "story-R-3", - "baseLayerID": 114, + "baseLayerID": -1, "baseLayerMD5": "a66d8f0ba6d40c624873edc8df58c014.svg", "bitmapResolution": 1, "rotationCenterX": 20, @@ -16575,7 +16735,6 @@ }, { "name": "Story-S", - "baseLayerID": -1, "md5": "fca1555f335392f1c4ef620bf098c0de.svg", "type": "sprite", "tags": [ @@ -16602,7 +16761,7 @@ "costumes": [ { "costumeName": "story-S-1", - "baseLayerID": 115, + "baseLayerID": -1, "baseLayerMD5": "fca1555f335392f1c4ef620bf098c0de.svg", "bitmapResolution": 1, "rotationCenterX": 16, @@ -16610,7 +16769,7 @@ }, { "costumeName": "story-S-2", - "baseLayerID": 116, + "baseLayerID": -1, "baseLayerMD5": "c529ed7b40f4a949539f8f454e3fe475.svg", "bitmapResolution": 1, "rotationCenterX": 16, @@ -16618,7 +16777,7 @@ }, { "costumeName": "story-S-3", - "baseLayerID": 117, + "baseLayerID": -1, "baseLayerMD5": "e96388c9197733bdadbad3ce014c0e59.svg", "bitmapResolution": 1, "rotationCenterX": 14, @@ -16638,7 +16797,6 @@ }, { "name": "Story-T", - "baseLayerID": -1, "md5": "d3b342c795a620b69639c02a419e8535.svg", "type": "sprite", "tags": [ @@ -16665,7 +16823,7 @@ "costumes": [ { "costumeName": "story-T-1", - "baseLayerID": 118, + "baseLayerID": -1, "baseLayerMD5": "d3b342c795a620b69639c02a419e8535.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -16673,7 +16831,7 @@ }, { "costumeName": "story-T-2", - "baseLayerID": 119, + "baseLayerID": -1, "baseLayerMD5": "eeb0fd25c9273747ac38766d1959ba2b.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -16681,7 +16839,7 @@ }, { "costumeName": "story-T-3", - "baseLayerID": 120, + "baseLayerID": -1, "baseLayerMD5": "a9683d4946b08a76864a51bd21d811cb.svg", "bitmapResolution": 1, "rotationCenterX": 20, @@ -16701,7 +16859,6 @@ }, { "name": "Story-U", - "baseLayerID": -1, "md5": "fcf99b6e8aeb2d504e1e9b2194640916.svg", "type": "sprite", "tags": [ @@ -16728,7 +16885,7 @@ "costumes": [ { "costumeName": "story-U-1", - "baseLayerID": 121, + "baseLayerID": -1, "baseLayerMD5": "fcf99b6e8aeb2d504e1e9b2194640916.svg", "bitmapResolution": 1, "rotationCenterX": 24, @@ -16736,7 +16893,7 @@ }, { "costumeName": "story-U-2", - "baseLayerID": 122, + "baseLayerID": -1, "baseLayerMD5": "f442802f17225d6506ac9718810f179e.svg", "bitmapResolution": 1, "rotationCenterX": 24, @@ -16744,7 +16901,7 @@ }, { "costumeName": "story-U-3", - "baseLayerID": 123, + "baseLayerID": -1, "baseLayerMD5": "0779f03a6589c60352b1d4806a4a61c0.svg", "bitmapResolution": 1, "rotationCenterX": 21, @@ -16764,7 +16921,6 @@ }, { "name": "Story-V", - "baseLayerID": -1, "md5": "750b47f1de2143f76354239b27e1e5f0.svg", "type": "sprite", "tags": [ @@ -16791,7 +16947,7 @@ "costumes": [ { "costumeName": "story-V-1", - "baseLayerID": 124, + "baseLayerID": -1, "baseLayerMD5": "750b47f1de2143f76354239b27e1e5f0.svg", "bitmapResolution": 1, "rotationCenterX": 25, @@ -16799,7 +16955,7 @@ }, { "costumeName": "story-V-2", - "baseLayerID": 125, + "baseLayerID": -1, "baseLayerMD5": "03de7add77e31799ca568a9c671012b4.svg", "bitmapResolution": 1, "rotationCenterX": 25, @@ -16807,7 +16963,7 @@ }, { "costumeName": "story-V-3", - "baseLayerID": 126, + "baseLayerID": -1, "baseLayerMD5": "29befe20b105b69471f5507d025ec3e0.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -16827,7 +16983,6 @@ }, { "name": "Story-W", - "baseLayerID": -1, "md5": "7d9d4c0da9bd1a3ddf253d1bea26f4e9.svg", "type": "sprite", "tags": [ @@ -16854,7 +17009,7 @@ "costumes": [ { "costumeName": "story-W-1", - "baseLayerID": 127, + "baseLayerID": -1, "baseLayerMD5": "7d9d4c0da9bd1a3ddf253d1bea26f4e9.svg", "bitmapResolution": 1, "rotationCenterX": 37, @@ -16862,7 +17017,7 @@ }, { "costumeName": "story-W-2", - "baseLayerID": 128, + "baseLayerID": -1, "baseLayerMD5": "c0f48eb69cae4a611d3e7b7e06b0d1c1.svg", "bitmapResolution": 1, "rotationCenterX": 37, @@ -16870,7 +17025,7 @@ }, { "costumeName": "story-W-3", - "baseLayerID": 129, + "baseLayerID": -1, "baseLayerMD5": "d1c922c9e9d53d2f6f36ca637e85de6b.svg", "bitmapResolution": 1, "rotationCenterX": 34, @@ -16890,7 +17045,6 @@ }, { "name": "Story-X", - "baseLayerID": -1, "md5": "92c452555b3d5a4993f107810043ea03.svg", "type": "sprite", "tags": [ @@ -16917,7 +17071,7 @@ "costumes": [ { "costumeName": "story-X-1", - "baseLayerID": 130, + "baseLayerID": -1, "baseLayerMD5": "92c452555b3d5a4993f107810043ea03.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -16925,7 +17079,7 @@ }, { "costumeName": "story-X-2", - "baseLayerID": 131, + "baseLayerID": -1, "baseLayerMD5": "f688425da41c2b7f80d4b8752de69bc9.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -16933,7 +17087,7 @@ }, { "costumeName": "story-X-3", - "baseLayerID": 132, + "baseLayerID": -1, "baseLayerMD5": "ec90479a0ce3c7706f1916daef0f3c67.svg", "bitmapResolution": 1, "rotationCenterX": 20, @@ -16953,7 +17107,6 @@ }, { "name": "Story-Y", - "baseLayerID": -1, "md5": "b3c252450d413fc75be0eafdbe4490dc.svg", "type": "sprite", "tags": [ @@ -16980,7 +17133,7 @@ "costumes": [ { "costumeName": "story-Y-1", - "baseLayerID": 133, + "baseLayerID": -1, "baseLayerMD5": "b3c252450d413fc75be0eafdbe4490dc.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -16988,7 +17141,7 @@ }, { "costumeName": "story-Y-2", - "baseLayerID": 134, + "baseLayerID": -1, "baseLayerMD5": "1cfa161ae5d60ea163e4e0aa34d08f02.svg", "bitmapResolution": 1, "rotationCenterX": 22, @@ -16996,7 +17149,7 @@ }, { "costumeName": "story-Y-3", - "baseLayerID": 135, + "baseLayerID": -1, "baseLayerMD5": "a1fc3c0fa304255364c0f98547e0e448.svg", "bitmapResolution": 1, "rotationCenterX": 20, @@ -17016,7 +17169,6 @@ }, { "name": "Story-Z", - "baseLayerID": -1, "md5": "86326c9180c485b557a075f4794939d7.svg", "type": "sprite", "tags": [ @@ -17043,7 +17195,7 @@ "costumes": [ { "costumeName": "story-Z-1", - "baseLayerID": 136, + "baseLayerID": -1, "baseLayerMD5": "86326c9180c485b557a075f4794939d7.svg", "bitmapResolution": 1, "rotationCenterX": 19, @@ -17051,7 +17203,7 @@ }, { "costumeName": "story-Z-2", - "baseLayerID": 137, + "baseLayerID": -1, "baseLayerMD5": "e10b203e47bbb41edab78be59e628449.svg", "bitmapResolution": 1, "rotationCenterX": 19, @@ -17059,7 +17211,7 @@ }, { "costumeName": "story-Z-3", - "baseLayerID": 138, + "baseLayerID": -1, "baseLayerMD5": "0788df7b1d9cf02dfdebc021d4f30ce4.svg", "bitmapResolution": 1, "rotationCenterX": 17, diff --git a/src/lib/make-toolbox-xml.js b/src/lib/make-toolbox-xml.js index a159f41dd74f4f4c197ff466b386ce0743fe359c..6dcaff2456e2d57d761c3292ecf35202a888f2c2 100644 --- a/src/lib/make-toolbox-xml.js +++ b/src/lib/make-toolbox-xml.js @@ -4,7 +4,7 @@ const blockSeparator = '<sep gap="36"/>'; // At default scale, about 28px const motion = function (isStage, targetId) { return ` - <category name="Motion" id="motion" colour="#4C97FF" secondaryColour="#3373CC"> + <category name="%{BKY_CATEGORY_MOTION}" id="motion" colour="#4C97FF" secondaryColour="#3373CC"> ${isStage ? ` <label text="Stage selected: no motion blocks"></label> ` : ` @@ -134,7 +134,7 @@ const motion = function (isStage, targetId) { const looks = function (isStage, targetId) { return ` - <category name="Looks" id="looks" colour="#9966FF" secondaryColour="#774DCB"> + <category name="%{BKY_CATEGORY_LOOKS}" id="looks" colour="#9966FF" secondaryColour="#774DCB"> ${isStage ? '' : ` <block type="looks_sayforsecs"> <value name="MESSAGE"> @@ -261,7 +261,7 @@ const looks = function (isStage, targetId) { const sound = function (isStage, targetId) { return ` - <category name="Sound" id="sound" colour="#D65CD6" secondaryColour="#BD42BD"> + <category name="%{BKY_CATEGORY_SOUND}" id="sound" colour="#D65CD6" secondaryColour="#BD42BD"> <block id="${targetId}_sound_play" type="sound_play"> <value name="SOUND_MENU"> <shadow type="sound_sounds_menu"/> @@ -312,7 +312,7 @@ const sound = function (isStage, targetId) { const events = function (isStage) { return ` - <category name="Events" id="events" colour="#FFD500" secondaryColour="#CC9900"> + <category name="%{BKY_CATEGORY_EVENTS}" id="events" colour="#FFD500" secondaryColour="#CC9900"> <block type="event_whenflagclicked"/> <block type="event_whenkeypressed"> </block> @@ -351,7 +351,7 @@ const events = function (isStage) { const control = function (isStage) { return ` - <category name="Control" id="control" colour="#FFAB19" secondaryColour="#CF8B17"> + <category name="%{BKY_CATEGORY_CONTROL}" id="control" colour="#FFAB19" secondaryColour="#CF8B17"> <block type="control_wait"> <value name="DURATION"> <shadow type="math_positive_number"> @@ -398,7 +398,7 @@ const control = function (isStage) { const sensing = function (isStage) { return ` - <category name="Sensing" id="sensing" colour="#4CBFE6" secondaryColour="#2E8EB8"> + <category name="%{BKY_CATEGORY_SENSING}" id="sensing" colour="#4CBFE6" secondaryColour="#2E8EB8"> ${isStage ? '' : ` <block type="sensing_touchingobject"> <value name="TOUCHINGOBJECTMENU"> @@ -470,7 +470,7 @@ const sensing = function (isStage) { const operators = function () { return ` - <category name="Operators" id="operators" colour="#40BF4A" secondaryColour="#389438"> + <category name="%{BKY_CATEGORY_OPERATORS}" id="operators" colour="#40BF4A" secondaryColour="#389438"> <block type="operator_add"> <value name="NUM1"> <shadow type="math_number"> @@ -652,14 +652,24 @@ const operators = function () { const variables = function () { return ` - <category name="Variables" id="variables" colour="#FF8C1A" secondaryColour="#DB6E00" custom="VARIABLE"> + <category + name="%{BKY_CATEGORY_VARIABLES}" + id="variables" + colour="#FF8C1A" + secondaryColour="#DB6E00" + custom="VARIABLE"> </category> `; }; const myBlocks = function () { return ` - <category name="My Blocks" id="myBlocks" colour="#FF6680" secondaryColour="#FF4D6A" custom="PROCEDURE"> + <category + name="%{BKY_CATEGORY_MYBLOCKS}" + id="myBlocks" + colour="#FF6680" + secondaryColour="#FF4D6A" + custom="PROCEDURE"> </category> `; }; diff --git a/src/lib/sortable-hoc.jsx b/src/lib/sortable-hoc.jsx index 665c5bc43a64fb055217786e4e96551de3c496ba..d3f9c59e14ed37e8fbe5967a265aca0659fa9a97 100644 --- a/src/lib/sortable-hoc.jsx +++ b/src/lib/sortable-hoc.jsx @@ -9,12 +9,15 @@ const SortableHOC = function (WrappedComponent) { constructor (props) { super(props); bindAll(this, [ + 'setRef', 'handleAddSortable', 'handleRemoveSortable' ]); this.sortableRefs = []; this.boxes = null; + this.ref = null; + this.containerBox = null; } componentWillReceiveProps (newProps) { @@ -25,9 +28,15 @@ const SortableHOC = function (WrappedComponent) { if (a.top === b.top) return a.left - b.left; return a.top - b.top; }); + if (!this.ref) { + throw new Error('The containerRef must be assigned to the sortable area'); + } + this.containerBox = this.ref.getBoundingClientRect(); } else if (!newProps.dragInfo.dragging && this.props.dragInfo.dragging) { - this.props.onDrop(Object.assign({}, - this.props.dragInfo, {newIndex: this.getMouseOverIndex()})); + const newIndex = this.getMouseOverIndex(); + if (newIndex !== null) { + this.props.onDrop(Object.assign({}, this.props.dragInfo, {newIndex})); + } } } @@ -64,17 +73,25 @@ const SortableHOC = function (WrappedComponent) { // the dragging object. Obviously only exists if there is a drag (i.e. currentOffset). let mouseOverIndex = null; if (this.props.dragInfo.currentOffset) { - mouseOverIndex = indexForPositionOnList( - this.props.dragInfo.currentOffset, this.boxes); + const {x, y} = this.props.dragInfo.currentOffset; + const {top, left, bottom, right} = this.containerBox; + if (x >= left && x <= right && y >= top && y <= bottom) { + mouseOverIndex = indexForPositionOnList( + this.props.dragInfo.currentOffset, this.boxes); + } } return mouseOverIndex; } + setRef (el) { + this.ref = el; + } render () { const {dragInfo: {index: dragIndex, dragType}, items} = this.props; const mouseOverIndex = this.getMouseOverIndex(); const ordering = this.getOrdering(items, dragIndex, mouseOverIndex); return ( <WrappedComponent + containerRef={this.setRef} draggingIndex={dragIndex} draggingType={dragType} mouseOverIndex={mouseOverIndex} diff --git a/src/playground/index.jsx b/src/playground/index.jsx index 9c0879f2c67f3ce92d1a1f3c60ef53ddbed1b7cd..47abac0462bf137acf6ce03201cb7a2394549655 100644 --- a/src/playground/index.jsx +++ b/src/playground/index.jsx @@ -25,7 +25,7 @@ GUI.setAppElement(appTarget); const WrappedGui = HashParserHOC(AppStateHOC(GUI)); // TODO a hack for testing the backpack, allow backpack host to be set by url param -const backpackHostMatches = window.location.href.match(/[?&]backpack_host=(.*)&?/); +const backpackHostMatches = window.location.href.match(/[?&]backpack_host=([^&]*)&?/); const backpackHost = backpackHostMatches ? backpackHostMatches[1] : null; const backpackOptions = { diff --git a/src/playground/intl.js b/src/playground/intl.js deleted file mode 100644 index 42b72b003e59fed430ea5ae7d1a73f50e9f40bad..0000000000000000000000000000000000000000 --- a/src/playground/intl.js +++ /dev/null @@ -1,19 +0,0 @@ -import {addLocaleData} from 'react-intl'; - -import localeData from 'scratch-l10n'; -import editorMessages from 'scratch-l10n/locales/editor-msgs'; - -Object.keys(localeData).forEach(locale => { - addLocaleData(localeData[locale].localeData); -}); - -const intlDefault = { - defaultLocale: 'en', - locale: 'en', - messages: editorMessages.en -}; - -export { - intlDefault as default, - editorMessages -}; diff --git a/src/reducers/gui.js b/src/reducers/gui.js index 829f0b0446171e56ca2c3157ea316c5611727d2a..7d98ae2f3f74a757bc101910bbabe6fd491fc192 100644 --- a/src/reducers/gui.js +++ b/src/reducers/gui.js @@ -58,6 +58,7 @@ const initFullScreen = function (currentState) { }} ); }; + const guiReducer = combineReducers({ assetDrag: assetDragReducer, blockDrag: blockDragReducer, diff --git a/src/reducers/intl.js b/src/reducers/intl.js deleted file mode 100644 index 8c49ee10475c5a960c35d6eba723203dbb772091..0000000000000000000000000000000000000000 --- a/src/reducers/intl.js +++ /dev/null @@ -1,14 +0,0 @@ -import {intlReducer} from 'react-intl-redux'; - -const intlInitialState = { - intl: { - defaultLocale: 'en', - locale: 'en', - messages: {} - } -}; - -export { - intlReducer as default, - intlInitialState -}; diff --git a/src/reducers/locales.js b/src/reducers/locales.js new file mode 100644 index 0000000000000000000000000000000000000000..fda8f9dc36d14dac09f72fad62f704617b87e0cf --- /dev/null +++ b/src/reducers/locales.js @@ -0,0 +1,71 @@ +import {addLocaleData} from 'react-intl'; + +import {localeData} from 'scratch-l10n'; +import editorMessages from 'scratch-l10n/locales/editor-msgs'; + +addLocaleData(localeData); + +const UPDATE_LOCALES = 'scratch-gui/locales/UPDATE_LOCALES'; +const SELECT_LOCALE = 'scratch-gui/locales/SELECT_LOCALE'; + +const initialState = { + locale: 'en', + messagesByLocale: editorMessages, + messages: editorMessages.en +}; + +const reducer = function (state, action) { + if (typeof state === 'undefined') state = initialState; + switch (action.type) { + case SELECT_LOCALE: + return Object.assign({}, state, { + locale: action.locale, + messagesByLocale: state.messagesByLocale, + messages: state.messagesByLocale[action.locale] + }); + case UPDATE_LOCALES: + return Object.assign({}, state, { + locale: state.locale, + messagesByLocale: action.messagesByLocale, + messages: action.messagesByLocale[state.locale] + }); + default: + return state; + } +}; + +const selectLocale = function (locale) { + return { + type: SELECT_LOCALE, + locale: locale + }; +}; + +const setLocales = function (localesMessages) { + return { + type: UPDATE_LOCALES, + messagesByLocale: localesMessages + }; +}; +const initLocale = function (currentState, locale) { + if (currentState.messagesByLocale.hasOwnProperty(locale)) { + return Object.assign( + {}, + currentState, + { + locale: locale, + messagesByLocale: currentState.messagesByLocale, + messages: currentState.messagesByLocale[locale] + } + ); + } + // don't change locale if it's not in the current messages + return currentState; +}; +export { + reducer as default, + initialState as localesInitialState, + initLocale, + selectLocale, + setLocales +}; diff --git a/test/integration/how-tos.test.js b/test/integration/how-tos.test.js index 3877ce3e8e519c2ae1cc2bfd7d498595f1b679f3..7a08385e814b2bfb971a6df3ad36535e9f5c8af8 100644 --- a/test/integration/how-tos.test.js +++ b/test/integration/how-tos.test.js @@ -4,6 +4,7 @@ import SeleniumHelper from '../helpers/selenium-helper'; const { clickText, clickXpath, + findByXpath, getDriver, getLogs, loadUri @@ -28,7 +29,8 @@ describe('Working with the how-to library', () => { await clickText('Costumes'); await clickXpath('//*[@aria-label="How-to Library"]'); await clickText('Getting Started'); // Modal should close - await clickText('Add a Move Block and a Say Block'); // Make sure first card appears + // Make sure YouTube video on first card appears + await findByXpath('//div[contains(@class, "step-video")]'); const logs = await getLogs(); await expect(logs).toEqual([]); }); diff --git a/test/unit/util/hash-project-loader-hoc.test.jsx b/test/unit/util/hash-project-loader-hoc.test.jsx index 5cf78747ad9b580c2aa506f1e949daa57f7f26e1..1242385d62241588f60b89ea9be57f169f1516fd 100644 --- a/test/unit/util/hash-project-loader-hoc.test.jsx +++ b/test/unit/util/hash-project-loader-hoc.test.jsx @@ -8,9 +8,9 @@ describe('HashParserHOC', () => { test('when there is a hash, it passes the hash as projectId', () => { const Component = ({projectId}) => <div>{projectId}</div>; const WrappedComponent = HashParserHOC(Component); - window.location.hash = '#winning'; + window.location.hash = '#1234567'; const mounted = mount(<WrappedComponent />); - expect(mounted.state().projectId).toEqual('winning'); + expect(mounted.state().projectId).toEqual('1234567'); }); test('when there is no hash, it passes 0 as the projectId', () => { @@ -21,14 +21,22 @@ describe('HashParserHOC', () => { expect(mounted.state().projectId).toEqual(0); }); + test('when the hash is not a number, it passes 0 as projectId', () => { + const Component = ({projectId}) => <div>{projectId}</div>; + const WrappedComponent = HashParserHOC(Component); + window.location.hash = '#winning'; + const mounted = mount(<WrappedComponent />); + expect(mounted.state().projectId).toEqual(0); + }); + test('when hash change happens, the projectId state is changed', () => { const Component = ({projectId}) => <div>{projectId}</div>; const WrappedComponent = HashParserHOC(Component); window.location.hash = ''; const mounted = mount(<WrappedComponent />); expect(mounted.state().projectId).toEqual(0); - window.location.hash = '#winning'; + window.location.hash = '#1234567'; mounted.instance().handleHashChange(); - expect(mounted.state().projectId).toEqual('winning'); + expect(mounted.state().projectId).toEqual('1234567'); }); });