Fix dragpoint()!!! There was a bug that omitted setting the new position of certain wall-points since the TROR introduction.

git-svn-id: https://svn.eduke32.com/eduke32@2070 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
helixhorned 2011-10-03 17:43:51 +00:00
parent 48c49e751f
commit 2a4a7cd731

View file

@ -11443,7 +11443,7 @@ int32_t dragpoint_noreset = 0;
void dragpoint(int16_t pointhighlight, int32_t dax, int32_t day) void dragpoint(int16_t pointhighlight, int32_t dax, int32_t day)
#ifdef YAX_ENABLE #ifdef YAX_ENABLE
{ {
int32_t thelastwall, cnt, w, clockwise; int32_t thelastwall, cnt, w, tmpstartwall, clockwise;
int32_t i, j, numyaxwalls=0, tmpcf; int32_t i, j, numyaxwalls=0, tmpcf;
static int16_t yaxwalls[MAXWALLS]; static int16_t yaxwalls[MAXWALLS];
@ -11456,6 +11456,8 @@ void dragpoint(int16_t pointhighlight, int32_t dax, int32_t day)
for (i=0; i<numyaxwalls; i++) for (i=0; i<numyaxwalls; i++)
{ {
w = yaxwalls[i]; w = yaxwalls[i];
tmpstartwall = w;
cnt = MAXWALLS; cnt = MAXWALLS;
clockwise = 0; clockwise = 0;
@ -11479,7 +11481,10 @@ void dragpoint(int16_t pointhighlight, int32_t dax, int32_t day)
if (wall[w].nextwall >= 0) if (wall[w].nextwall >= 0)
w = wall[wall[w].nextwall].point2; w = wall[wall[w].nextwall].point2;
else else
{
w = tmpstartwall;
clockwise = 1; clockwise = 1;
}
} }
if (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].x = dax;
wall[tempshort].y = day; wall[tempshort].y = day;
if (editstatus) if (editstatus)
{ {
wall[pointhighlight].cstat |= (1<<14); 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) if (wall[tempshort].nextwall >= 0)
{ {
tempshort = wall[wall[tempshort].nextwall].point2; tempshort = wall[wall[tempshort].nextwall].point2;
wall[tempshort].x = dax; wall[tempshort].x = dax;
wall[tempshort].y = day; wall[tempshort].y = day;
wall[tempshort].cstat |= (1<<14); wall[tempshort].cstat |= (1<<14);