diff --git a/src/containers/costume-library.jsx b/src/containers/costume-library.jsx index 0de5fba13ef18fc579d2b8014d41224d8ea77552..c4884c169a41789925281e6dcfa5f9d87958fa44 100644 --- a/src/containers/costume-library.jsx +++ b/src/containers/costume-library.jsx @@ -26,10 +26,13 @@ class CostumeLibrary extends React.PureComponent { ]); } handleItemSelected (item) { + const type = item.md5.split('.')[1]; + const rotationCenterX = type === 'svg' ? item.info[0] : item.info[0] / 2; + const rotationCenterY = type === 'svg' ? item.info[1] : item.info[1] / 2; const vmCostume = { name: item.name, - rotationCenterX: item.info[0] / 2, - rotationCenterY: item.info[1] / 2, + rotationCenterX, + rotationCenterY, bitmapResolution: item.info.length > 2 ? item.info[2] : 1, skinId: null }; diff --git a/src/containers/costume-tab.jsx b/src/containers/costume-tab.jsx index 9cd10ec8b9a787c73669b6aca6a043d982fc57db..34b64a2ffbf52e4ffaf431809843b8ec2b664534 100644 --- a/src/containers/costume-tab.jsx +++ b/src/containers/costume-tab.jsx @@ -161,11 +161,14 @@ class CostumeTab extends React.Component { } handleSurpriseCostume () { const item = costumeLibraryContent[Math.floor(Math.random() * costumeLibraryContent.length)]; + const type = item.md5.split('.')[1]; + const rotationCenterX = type === 'svg' ? item.info[0] : item.info[0] / 2; + const rotationCenterY = type === 'svg' ? item.info[1] : item.info[1] / 2; const vmCostume = { name: item.name, md5: item.md5, - rotationCenterX: item.info[0] / 2, - rotationCenterY: item.info[1] / 2, + rotationCenterX, + rotationCenterY, bitmapResolution: item.info.length > 2 ? item.info[2] : 1, skinId: null }; diff --git a/src/lib/file-uploader.js b/src/lib/file-uploader.js index 2df9f8593907012efa71aba51bde5359880167b6..785b85d43f03fb1e9b1dd3d5fa795a5aedd0e862 100644 --- a/src/lib/file-uploader.js +++ b/src/lib/file-uploader.js @@ -132,12 +132,7 @@ const costumeUpload = function (fileData, fileType, costumeName, storage, handle addCostumeFromBuffer(null, new Uint8Array(fileData)); } else { // otherwise it's a bitmap - let dataURI = fileData; - if (fileData instanceof ArrayBuffer) { - dataURI = bitmapAdapter.convertBinaryToDataURI(fileData, fileType); - } - // @todo show an error message to user on failure? - bitmapAdapter.importBitmap(dataURI).then(value => addCostumeFromBuffer(value)); + bitmapAdapter.importBitmap(fileData, fileType).then(value => addCostumeFromBuffer(value)); } };