diff --git a/core/vip.c b/core/vip.c index 85308bf..ce94d22 100644 --- a/core/vip.c +++ b/core/vip.c @@ -1065,8 +1065,13 @@ static void vipDrawAffine(VB *sim, World *world) { /* Adjust left-edge parameters */ if ((mp < 0) ^ i) { - mx += dx * (wx + mp); - my += dy * (wx + mp); + if (mp < 0) { + mx += dx * (wx - mp); + my += dy * (wx - mp); + } else { + mx += dx * (wx + mp); + my += dy * (wx + mp); + } } else { mx += dx * wx; my += dy * wx;