diff --git a/src/compiler/irgen.js b/src/compiler/irgen.js index efecc28d..ea15d519 100644 --- a/src/compiler/irgen.js +++ b/src/compiler/irgen.js @@ -904,14 +904,8 @@ class ScriptTreeGenerator { case 'looks_changesizeby': return { - kind: 'looks.setSize', - size: { - kind: 'op.add', - left: { - kind: 'looks.size' - }, - right: this.descendInput(block, 'CHANGE') - } + kind: 'looks.changeSize', + size: this.descendInput(block, 'CHANGE') }; case 'looks_cleargraphiceffects': return { diff --git a/src/compiler/jsgen.js b/src/compiler/jsgen.js index 6aa81ab2..75d2eb86 100644 --- a/src/compiler/jsgen.js +++ b/src/compiler/jsgen.js @@ -703,6 +703,9 @@ class JSGenerator { case 'looks.clearEffects': this.source += 'target.clearEffects();\n'; break; + case 'looks.changeSize': + this.source += `target.setSize(target.size + ${this.descendInput(node.size).asNumber()});\n`; + break; case 'looks.forwardLayers': this.source += `target.goForwardLayers(${this.descendInput(node.layers).asNumber()});\n`; break; diff --git a/test/fixtures/execute/tw-change-size-does-not-use-rounded-size.sb3 b/test/fixtures/execute/tw-change-size-does-not-use-rounded-size.sb3 new file mode 100644 index 00000000..dfffe493 Binary files /dev/null and b/test/fixtures/execute/tw-change-size-does-not-use-rounded-size.sb3 differ