void ProcessLoop(void *tmp) { #else void *ProcessLoop(void *tmp) { #endif srand(time(NULL)); bool worldwasconnected = worldserver.Connected(); ProcessLoopRunning = true; while(RunLoops) { if (worldserver.Connected()) { worldserver.Process(); worldwasconnected = true; } else { if (worldwasconnected && ZoneLoaded) entity_list.ChannelMessageFromWorld(0, 0, 6, 0, 0, "WARNING: World server connection lost"); worldwasconnected = false; } if (ZoneLoaded) { if (numclients > 0) // Don't run entity_list Process() unless there are clients inside. entity_list.Process(); else entity_list.BoatProcessOnly(); // Tazadar : We move boats even if the zone is empty ! if (!zone->Process()) { Zone::Shutdown(); } } Sleep(1); } ProcessLoopRunning = false; #ifndef WIN32 return 0; #endif }