commit b379d2d7db30f92436b0bd63d491a39316a64cb1
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Fri Aug 6 11:06:29 2021 +0200

    New sticker mechanism: improvements for concave stickers.

diff --git a/src/main/java/org/distorted/helpers/FactorySticker.java b/src/main/java/org/distorted/helpers/FactorySticker.java
index 46fcc490..8f6a6025 100644
--- a/src/main/java/org/distorted/helpers/FactorySticker.java
+++ b/src/main/java/org/distorted/helpers/FactorySticker.java
@@ -177,16 +177,18 @@ public class FactorySticker
 
     canvas.drawArc( left+o1x-r1, top+o1y-r1, left+o1x+r1, top+o1y+r1, startA, sweepA, false, paint);
 
-    float r3  = r*TEXTURE_HEIGHT + stroke/2;
-    findCircleIntersection(o1x,o1y,r1-r3,o2x,o2y,r2-r3,cX,cY);
+    float r3 = r*TEXTURE_HEIGHT + stroke/2;
+    float R1 = r1 + (pA < 0 ? r3:-r3);
+    float R2 = r2 + (cA < 0 ? r3:-r3);
+    findCircleIntersection(o1x,o1y,R1,o2x,o2y,R2,cX,cY);
     float o3x = mOX;
     float o3y = mOY;
 
-    dx = o1x-o3x;
-    dy = o1y-o3y;
+    dx = pA<0 ? o3x-o1x : o1x-o3x;
+    dy = pA<0 ? o3y-o1y : o1y-o3y;
     startA = computeAngle(dy,dx);
-    dx = o2x-o3x;
-    dy = o2y-o3y;
+    dx = cA<0 ? o3x-o2x : o2x-o3x;
+    dy = cA<0 ? o3y-o2y : o2y-o3y;
     float endA = computeAngle(dy,dx);
 
     sweepA = endA-startA;
