void LUA_InvalidatePlayer(player_t *player) { if (!gL) return; LUA_InvalidateUserdata(player); LUA_InvalidateUserdata(player->powers); LUA_InvalidateUserdata(&player->cmd); }
// // P_RemoveThinker // // Deallocation is lazy -- it will not actually be freed // until its thinking turn comes up. // // killough 4/25/98: // // Instead of marking the function with -1 value cast to a function pointer, // set the function to P_RemoveThinkerDelayed(), so that later, it will be // removed automatically as part of the thinker process. // void P_RemoveThinker(thinker_t *thinker) { #ifdef HAVE_BLUA LUA_InvalidateUserdata(thinker); #endif thinker->function.acp1 = P_RemoveThinkerDelayed; }
// Invalidate level data arrays void LUA_InvalidateLevel(void) { thinker_t *th; size_t i; if (!gL) return; for (th = thinkercap.next; th && th != &thinkercap; th = th->next) LUA_InvalidateUserdata(th); LUA_InvalidateMapthings(); for (i = 0; i < numsubsectors; i++) LUA_InvalidateUserdata(&subsectors[i]); for (i = 0; i < numsectors; i++) LUA_InvalidateUserdata(§ors[i]); for (i = 0; i < numlines; i++) { LUA_InvalidateUserdata(&lines[i]); LUA_InvalidateUserdata(lines[i].sidenum); } for (i = 0; i < numsides; i++) LUA_InvalidateUserdata(&sides[i]); for (i = 0; i < numvertexes; i++) LUA_InvalidateUserdata(&vertexes[i]); }
void LUA_InvalidateMapthings(void) { size_t i; if (!gL) return; for (i = 0; i < nummapthings; i++) LUA_InvalidateUserdata(&mapthings[i]); }