Exemple #1
0
bool Unitsync::LoadUnitSyncLib(const std::string& unitsyncloc)
{
	LOCK_UNITSYNC;
	ClearCache();
	const bool ret = susynclib().Load(unitsyncloc);
	if (!ret) {
		return false;
	}
	const std::string datadir = LSL::Util::config().GetDataDir();
	const std::string curdatadir = susynclib().GetSpringDataDir();
	if (datadir != curdatadir) {
		LslWarning("Reloading unitsync due to datadir change: %s -> %s", curdatadir.c_str(), datadir.c_str());
		SetSpringDataPath(datadir);
		susynclib().Load(unitsyncloc);
	}
	supportsManualUnLoad = LSL::susynclib().GetSpringConfigInt("UnitsyncAutoUnLoadMapsIsSupported", 0) != 0;
	if (supportsManualUnLoad) {
		LslDebug("Unitsync supports manual loading of archives (faster, yey!)");
		LSL::usync().SetSpringConfigInt("UnitsyncAutoUnLoadMaps", 1);
	} else {
		LslDebug("Unitsync doesn't support manual loading of archives :-/");
	}


	m_cache_path = LSL::Util::config().GetCachePath();
	PopulateArchiveList();
	return true;
}
bool SpringUnitSync::LoadUnitSyncLib( const wxString& unitsyncloc )
{
   LOCK_UNITSYNC;
   UiEvents::ScopedStatusMessage staus(_("loading unitsync"), 0);
   wxLogDebugFunc( _T("") );
   bool ret = _LoadUnitSyncLib( unitsyncloc );
   if (ret)
   {
      m_cache_path = sett().GetCachePath();
      PopulateArchiveList();
      GetGlobalEventSender(GlobalEvents::OnUnitsyncReloaded).SendEvent( 0 );
   }
   return ret;
}
bool SpringUnitSync::FastLoadUnitSyncLibInit()
{
	LOCK_UNITSYNC;
	m_cache_thread = new WorkerThread();
	m_cache_thread->Create();
	m_cache_thread->SetPriority( WXTHREAD_MIN_PRIORITY );
	m_cache_thread->Run();

	UiEvents::ScopedStatusMessage staus(_("loading unitsync"), 0);
	wxLogDebugFunc( _T("") );
	if ( IsLoaded() )
	{
	   m_cache_path = sett().GetCachePath();
	   PopulateArchiveList();
	}
	return true;
}
bool SpringUnitSync::LoadUnitSyncLib( const wxString& unitsyncloc )
{
   LOCK_UNITSYNC;
   m_cache_thread = new WorkerThread();
   m_cache_thread->Create();
   m_cache_thread->SetPriority( WXTHREAD_MIN_PRIORITY );
   m_cache_thread->Run();

   UiEvents::ScopedStatusMessage staus(_("loading unitsync"), 0);
   wxLogDebugFunc( _T("") );
   bool ret = _LoadUnitSyncLib( unitsyncloc );
   if (ret)
   {
      m_cache_path = sett().GetCachePath();
      PopulateArchiveList();
      GetGlobalEventSender(GlobalEvents::OnUnitsyncReloaded).SendEvent( 0 );
   }
   return ret;
}