void MULTIPLAY::Disconnect() { bool wasconnected = Connected(); net.Disconnect(); remote_players = 0; remote_playernum = 0; int i; for (i = 0; i < MAX_PLAYERS; i++) timeindex[i] = 0.0; if (MP_RECORD && dbgnumpackets > 0) { int slot = 0; if (MP_REMOTE_RECORD) slot = 1; FILE * dbgout = fopen("replays/mpdebug.vdr", "wb"); if (dbgout) { replay.WriteHeader(dbgout, GetFuncMem(slot), NumFuncs(slot), slot); replay.WritePackets(dbgout, dbgpacket, dbgnumpackets, dbgstate, dbgnumstates); fclose(dbgout); } dbgnumpackets = 0; dbgnumstates = 0; } if (wasconnected) mq1.AddMessage("Disconnected"); }
bool FuncIndexOk(int n, bool warn = true){ //ida will crash if out of bounds.. char buf[100]; if(n < 0 || n >= NumFuncs()){ if(warn){ sprintf(&buf[0], "Invalid FunctionStart(%x)", n); MessageBoxA(0,buf,"PLW",0); } return false; } return true; }