diff --git a/polymer/eduke32/build/src/engine.c b/polymer/eduke32/build/src/engine.c index 1c188b4a3..cbeba25d2 100644 --- a/polymer/eduke32/build/src/engine.c +++ b/polymer/eduke32/build/src/engine.c @@ -11443,7 +11443,7 @@ int32_t dragpoint_noreset = 0; void dragpoint(int16_t pointhighlight, int32_t dax, int32_t day) #ifdef YAX_ENABLE { - int32_t thelastwall, cnt, w, clockwise; + int32_t thelastwall, cnt, w, tmpstartwall, clockwise; int32_t i, j, numyaxwalls=0, tmpcf; static int16_t yaxwalls[MAXWALLS]; @@ -11456,6 +11456,8 @@ void dragpoint(int16_t pointhighlight, int32_t dax, int32_t day) for (i=0; i= 0) w = wall[wall[w].nextwall].point2; else + { + w = tmpstartwall; clockwise = 1; + } } if (clockwise==1) @@ -11514,6 +11519,7 @@ void dragpoint(int16_t pointhighlight, int32_t dax, int32_t day) wall[tempshort].x = dax; wall[tempshort].y = day; + if (editstatus) { wall[pointhighlight].cstat |= (1<<14); @@ -11527,6 +11533,7 @@ void dragpoint(int16_t pointhighlight, int32_t dax, int32_t day) if (wall[tempshort].nextwall >= 0) { tempshort = wall[wall[tempshort].nextwall].point2; + wall[tempshort].x = dax; wall[tempshort].y = day; wall[tempshort].cstat |= (1<<14);