Skip to content

Commit 898fc26

Browse files
author
DD Liu
committed
Merge branch 'develop' into takeSvgRend
2 parents 6b979cb + b514a79 commit 898fc26

File tree

1,309 files changed

+28368
-32312
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,309 files changed

+28368
-32312
lines changed

package-lock.json

Lines changed: 1229 additions & 986 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,12 @@
4545
"keymirror": "0.1.1",
4646
"lodash.bindall": "4.4.0",
4747
"lodash.debounce": "4.0.8",
48-
"lodash.defaultsdeep": "4.6.0",
48+
"lodash.defaultsdeep": "4.6.1",
4949
"lodash.omit": "4.5.0",
5050
"lodash.throttle": "4.0.1",
5151
"minilog": "3.1.0",
5252
"omggif": "1.0.9",
53-
"papaparse": "5.1.1",
53+
"papaparse": "5.3.0",
5454
"postcss-import": "^12.0.0",
5555
"postcss-loader": "^3.0.0",
5656
"postcss-simple-vars": "^5.0.1",
@@ -59,7 +59,7 @@
5959
"raw-loader": "^0.5.1",
6060
"react": "16.2.0",
6161
"react-contextmenu": "2.9.4",
62-
"react-dom": "16.2.0",
62+
"react-dom": "16.2.1",
6363
"react-draggable": "3.0.5",
6464
"react-ga": "2.5.3",
6565
"react-intl": "2.9.0",
@@ -74,13 +74,13 @@
7474
"redux": "3.7.2",
7575
"redux-throttle": "0.1.1",
7676
"scratch-audio": "0.1.0-prerelease.20200528195344",
77-
"scratch-blocks": "0.1.0-prerelease.20201007031713",
78-
"scratch-l10n": "3.10.20201007030856",
79-
"scratch-paint": "0.2.0-prerelease.20201008211625",
80-
"scratch-render": "0.1.0-prerelease.20201008195134",
77+
"scratch-blocks": "0.1.0-prerelease.20210107033838",
78+
"scratch-l10n": "3.10.20210107031515",
8179
"scratch-storage": "1.3.3",
82-
"scratch-svg-renderer": "0.2.0-prerelease.20201008203328",
83-
"scratch-vm": "0.2.0-prerelease.20200924195620",
80+
"scratch-vm": "0.2.0-prerelease.20201125065300",
81+
"scratch-paint": "0.2.0-prerelease.20201020103914",
82+
"scratch-render": "0.1.0-prerelease.20201113223804",
83+
"scratch-svg-renderer": "0.2.0-prerelease.20201019174008",
8484
"startaudiocontext": "1.2.1",
8585
"style-loader": "^0.23.0",
8686
"text-encoding": "0.7.0",

src/components/library/library.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,9 +217,9 @@ class LibraryComponent extends React.Component {
217217
extensionId={dataItem.extensionId}
218218
featured={dataItem.featured}
219219
hidden={dataItem.hidden}
220-
iconMd5={dataItem.md5}
220+
iconMd5={dataItem.costumes ? dataItem.costumes[0].md5ext : dataItem.md5ext}
221221
iconRawURL={dataItem.rawURL}
222-
icons={dataItem.json && dataItem.json.costumes}
222+
icons={dataItem.costumes}
223223
id={index}
224224
insetIconURL={dataItem.insetIconURL}
225225
internetConnectionRequired={dataItem.internetConnectionRequired}

src/components/sprite-selector/sprite-selector.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ const SpriteSelectorComponent = function (props) {
120120
title: intl.formatMessage(messages.addSpriteFromFile),
121121
img: fileUploadIcon,
122122
onClick: onFileUploadClick,
123-
fileAccept: '.svg, .png, .jpg, .jpeg, .sprite2, .sprite3, .gif',
123+
fileAccept: '.svg, .png, .bmp, .jpg, .jpeg, .sprite2, .sprite3, .gif',
124124
fileChange: onSpriteUpload,
125125
fileInput: spriteFileInput,
126126
fileMultiple: true

src/components/stage-selector/stage-selector.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ const StageSelector = props => {
102102
title: intl.formatMessage(messages.addBackdropFromFile),
103103
img: fileUploadIcon,
104104
onClick: onBackdropFileUploadClick,
105-
fileAccept: '.svg, .png, .jpg, .jpeg, .gif',
105+
fileAccept: '.svg, .png, .bmp, .jpg, .jpeg, .gif',
106106
fileChange: onBackdropFileUpload,
107107
fileInput: fileInputRef,
108108
fileMultiple: true

src/containers/backdrop-library.jsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ class BackdropLibrary extends React.Component {
2727
handleItemSelect (item) {
2828
const vmBackdrop = {
2929
name: item.name,
30-
rotationCenterX: item.info[0] && item.info[0] / 2,
31-
rotationCenterY: item.info[1] && item.info[1] / 2,
32-
bitmapResolution: item.info.length > 2 ? item.info[2] : 1,
30+
rotationCenterX: item.rotationCenterX,
31+
rotationCenterY: item.rotationCenterY,
32+
bitmapResolution: item.bitmapResolution,
3333
skinId: null
3434
};
3535
// Do not switch to stage, just add the backdrop
36-
this.props.vm.addBackdrop(item.md5, vmBackdrop);
36+
this.props.vm.addBackdrop(item.md5ext, vmBackdrop);
3737
}
3838
render () {
3939
return (

src/containers/costume-library.jsx

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,14 @@ class CostumeLibrary extends React.PureComponent {
2525
]);
2626
}
2727
handleItemSelected (item) {
28-
const split = item.md5.split('.');
29-
const type = split.length > 1 ? split[1] : null;
30-
const rotationCenterX = type === 'svg' ? item.info[0] : item.info[0] / 2;
31-
const rotationCenterY = type === 'svg' ? item.info[1] : item.info[1] / 2;
3228
const vmCostume = {
3329
name: item.name,
34-
rotationCenterX,
35-
rotationCenterY,
36-
bitmapResolution: item.info.length > 2 ? item.info[2] : 1,
30+
rotationCenterX: item.rotationCenterX,
31+
rotationCenterY: item.rotationCenterY,
32+
bitmapResolution: item.bitmapResolution,
3733
skinId: null
3834
};
39-
this.props.vm.addCostumeFromLibrary(item.md5, vmCostume);
35+
this.props.vm.addCostumeFromLibrary(item.md5ext, vmCostume);
4036
}
4137
render () {
4238
return (

src/containers/costume-tab.jsx

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -179,16 +179,12 @@ class CostumeTab extends React.Component {
179179
}
180180
handleSurpriseCostume () {
181181
const item = costumeLibraryContent[Math.floor(Math.random() * costumeLibraryContent.length)];
182-
const split = item.md5.split('.');
183-
const type = split.length > 1 ? split[1] : null;
184-
const rotationCenterX = type === 'svg' ? item.info[0] : item.info[0] / 2;
185-
const rotationCenterY = type === 'svg' ? item.info[1] : item.info[1] / 2;
186182
const vmCostume = {
187183
name: item.name,
188-
md5: item.md5,
189-
rotationCenterX,
190-
rotationCenterY,
191-
bitmapResolution: item.info.length > 2 ? item.info[2] : 1,
184+
md5: item.md5ext,
185+
rotationCenterX: item.rotationCenterX,
186+
rotationCenterY: item.rotationCenterY,
187+
bitmapResolution: item.bitmapResolution,
192188
skinId: null
193189
};
194190
this.handleNewCostume(vmCostume, true /* fromCostumeLibrary */);
@@ -197,10 +193,10 @@ class CostumeTab extends React.Component {
197193
const item = backdropLibraryContent[Math.floor(Math.random() * backdropLibraryContent.length)];
198194
const vmCostume = {
199195
name: item.name,
200-
md5: item.md5,
201-
rotationCenterX: item.info[0] && item.info[0] / 2,
202-
rotationCenterY: item.info[1] && item.info[1] / 2,
203-
bitmapResolution: item.info.length > 2 ? item.info[2] : 1,
196+
md5: item.md5ext,
197+
rotationCenterX: item.rotationCenterX,
198+
rotationCenterY: item.rotationCenterY,
199+
bitmapResolution: item.bitmapResolution,
204200
skinId: null
205201
};
206202
this.handleNewCostume(vmCostume);
@@ -312,7 +308,7 @@ class CostumeTab extends React.Component {
312308
title: intl.formatMessage(addFileMessage),
313309
img: fileUploadIcon,
314310
onClick: this.handleFileUploadClick,
315-
fileAccept: '.svg, .png, .jpg, .jpeg, .gif',
311+
fileAccept: '.svg, .png, .bmp, .jpg, .jpeg, .gif',
316312
fileChange: this.handleCostumeUpload,
317313
fileInput: this.setFileInput,
318314
fileMultiple: true

src/containers/sound-editor.jsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,10 @@ class SoundEditor extends React.Component {
8686
// Ignore keyboard shortcuts if a text input field is focused
8787
return;
8888
}
89+
if (this.props.isFullScreen) {
90+
// Ignore keyboard shortcuts if the stage is fullscreen mode
91+
return;
92+
}
8993
if (event.key === ' ') {
9094
event.preventDefault();
9195
if (this.state.playhead) {
@@ -465,6 +469,7 @@ class SoundEditor extends React.Component {
465469
}
466470

467471
SoundEditor.propTypes = {
472+
isFullScreen: PropTypes.bool,
468473
name: PropTypes.string.isRequired,
469474
sampleRate: PropTypes.number,
470475
samples: PropTypes.instanceOf(Float32Array),
@@ -483,6 +488,7 @@ const mapStateToProps = (state, {soundIndex}) => {
483488
soundId: sound.soundId,
484489
sampleRate: audioBuffer.sampleRate,
485490
samples: audioBuffer.getChannelData(0),
491+
isFullScreen: state.scratchGui.mode.isFullScreen,
486492
name: sound.name,
487493
vm: state.scratchGui.vm
488494
};

src/containers/sound-library.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,11 +149,11 @@ class SoundLibrary extends React.PureComponent {
149149
// @todo need to use this hack to avoid library using md5 for image
150150
const soundLibraryThumbnailData = soundLibraryContent.map(sound => {
151151
const {
152-
md5,
152+
md5ext,
153153
...otherData
154154
} = sound;
155155
return {
156-
_md5: md5,
156+
_md5: md5ext,
157157
rawURL: this.props.isRtl ? soundIconRtl : soundIcon,
158158
...otherData
159159
};

0 commit comments

Comments
 (0)