From 2d54b72882551d45ccff7c5f8c003e30e16b6d09 Mon Sep 17 00:00:00 2001 From: tobspr Date: Mon, 27 Jul 2020 13:49:40 +0200 Subject: [PATCH] Add checks to stacking logic --- src/js/game/shape_definition.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/js/game/shape_definition.js b/src/js/game/shape_definition.js index 3a777f6f..a9e9e7ba 100644 --- a/src/js/game/shape_definition.js +++ b/src/js/game/shape_definition.js @@ -570,10 +570,12 @@ export class ShapeDefinition extends BasicSerializableObject { const bottomShapeLayer = mergedLayers[layerMergingAt]; const topShapeLayer = topShapeLayers[layer]; for (let quad = 0; quad < 4; quad++) { + assert(!(bottomShapeLayer[quad] && topShapeLayer[quad]), "Shape merge: Sub shape got lost"); bottomShapeLayer[quad] = bottomShapeLayer[quad] || topShapeLayer[quad]; } } + // Limit to 4 layers at max mergedLayers.splice(4); return new ShapeDefinition({ layers: mergedLayers });