/** Initialises all track objects. */ void TrackObjectManager::init() { int moveable_objects = 0; bool warned = false; for (unsigned i = 0; i < m_all_objects.m_contents_vector.size(); i++) { TrackObject* curr = m_all_objects.m_contents_vector[i]; curr->onWorldReady(); if (moveable_objects > stk_config->m_max_moveable_objects) { if (!warned) { Log::warn("TrackObjectManager", "Too many moveable objects (>%d) in networking.", stk_config->m_max_moveable_objects); warned = true; } curr->setInitiallyVisible(false); curr->setEnabled(false); continue; } // onWorldReady will hide some track objects using scripting if (NetworkConfig::get()->isNetworking() && curr->isEnabled() && curr->getPhysicalObject() && curr->getPhysicalObject()->isDynamic()) { curr->getPhysicalObject()->getBody() ->setActivationState(DISABLE_DEACTIVATION); curr->getPhysicalObject()->addForRewind(); moveable_objects++; } } } // init