diff --git a/source/duke3d/src/gamedef.cpp b/source/duke3d/src/gamedef.cpp index 0c27bfc66..532d85d51 100644 --- a/source/duke3d/src/gamedef.cpp +++ b/source/duke3d/src/gamedef.cpp @@ -5068,7 +5068,7 @@ DO_DEFSTATE: C_GetNextVar(); intptr_t *tempscrptr= g_scriptPtr; - tempoffset = (unsigned)(tempscrptr-apScript); + tempoffset = (unsigned)(g_scriptPtr-apScript); BITPTR_CLEAR(g_scriptPtr-apScript); *g_scriptPtr++=0; // leave spot for end location (for after processing) BITPTR_CLEAR(g_scriptPtr-apScript); @@ -5097,6 +5097,7 @@ DO_DEFSTATE: if (tempscrptr) { tempscrptr[1]=(intptr_t)j; // save count of cases + BITPTR_CLEAR(&tempscrptr[1]-apScript); } else { @@ -5146,17 +5147,13 @@ DO_DEFSTATE: if (n != i) { - t = tempscrptr[i]; - tempscrptr[i] = tempscrptr[n]; - tempscrptr[n] = t; - t = tempscrptr[i + 1]; - tempscrptr[i + 1] = tempscrptr[n + 1]; - tempscrptr[n + 1] = t; + swapptr(&tempscrptr[i], &tempscrptr[n]); + swapptr(&tempscrptr[i+1], &tempscrptr[n+1]); } } // for (j=3;j<3+tempscrptr[1]*2;j+=2)initprintf("%5d %8x\n",tempscrptr[j],tempscrptr[j+1]); tempscrptr[0]= (intptr_t)g_scriptPtr - (intptr_t)&apScript[0]; // save 'end' location - // BITPTR_POINTER_SET(tempscrptr-script); + BITPTR_CLEAR(tempscrptr-apScript); } else {