MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / fullyLoad

Method fullyLoad

source/game/StarRoot.cpp:311–368  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

309}
310
311void Root::fullyLoad() {
312 auto workerPool = WorkerPool("Root::fullyLoad", RootLoadThreads);
313 List<WorkerPoolHandle> loaders;
314
315 loaders.reserve(40);
316
317 loaders.append(workerPool.addWork(swallow(bind(&Root::assets, this))));
318 loaders.append(workerPool.addWork(swallow(bind(&Root::configuration, this))));
319 loaders.append(workerPool.addWork(swallow(bind(&Root::codexDatabase, this))));
320 loaders.append(workerPool.addWork(swallow(bind(&Root::behaviorDatabase, this))));
321 loaders.append(workerPool.addWork(swallow(bind(&Root::techDatabase, this))));
322 loaders.append(workerPool.addWork(swallow(bind(&Root::aiDatabase, this))));
323 loaders.append(workerPool.addWork(swallow(bind(&Root::questTemplateDatabase, this))));
324 loaders.append(workerPool.addWork(swallow(bind(&Root::emoteProcessor, this))));
325 loaders.append(workerPool.addWork(swallow(bind(&Root::terrainDatabase, this))));
326 loaders.append(workerPool.addWork(swallow(bind(&Root::particleDatabase, this))));
327 loaders.append(workerPool.addWork(swallow(bind(&Root::versioningDatabase, this))));
328 loaders.append(workerPool.addWork(swallow(bind(&Root::functionDatabase, this))));
329 loaders.append(workerPool.addWork(swallow(bind(&Root::imageMetadataDatabase, this))));
330 loaders.append(workerPool.addWork(swallow(bind(&Root::tenantDatabase, this))));
331 loaders.append(workerPool.addWork(swallow(bind(&Root::nameGenerator, this))));
332 loaders.append(workerPool.addWork(swallow(bind(&Root::danceDatabase, this))));
333 loaders.append(workerPool.addWork(swallow(bind(&Root::spawnTypeDatabase, this))));
334 loaders.append(workerPool.addWork(swallow(bind(&Root::radioMessageDatabase, this))));
335 loaders.append(workerPool.addWork(swallow(bind(&Root::collectionDatabase, this))));
336 loaders.append(workerPool.addWork(swallow(bind(&Root::statisticsDatabase, this))));
337 loaders.append(workerPool.addWork(swallow(bind(&Root::speciesDatabase, this))));
338 loaders.append(workerPool.addWork(swallow(bind(&Root::projectileDatabase, this))));
339 loaders.append(workerPool.addWork(swallow(bind(&Root::stagehandDatabase, this))));
340 loaders.append(workerPool.addWork(swallow(bind(&Root::damageDatabase, this))));
341 loaders.append(workerPool.addWork(swallow(bind(&Root::effectSourceDatabase, this))));
342 loaders.append(workerPool.addWork(swallow(bind(&Root::statusEffectDatabase, this))));
343 loaders.append(workerPool.addWork(swallow(bind(&Root::treasureDatabase, this))));
344 loaders.append(workerPool.addWork(swallow(bind(&Root::materialDatabase, this))));
345 loaders.append(workerPool.addWork(swallow(bind(&Root::objectDatabase, this))));
346 loaders.append(workerPool.addWork(swallow(bind(&Root::npcDatabase, this))));
347 loaders.append(workerPool.addWork(swallow(bind(&Root::plantDatabase, this))));
348 loaders.append(workerPool.addWork(swallow(bind(&Root::itemDatabase, this))));
349 loaders.append(workerPool.addWork(swallow(bind(&Root::monsterDatabase, this))));
350 loaders.append(workerPool.addWork(swallow(bind(&Root::vehicleDatabase, this))));
351 loaders.append(workerPool.addWork(swallow(bind(&Root::playerFactory, this))));
352 loaders.append(workerPool.addWork(swallow(bind(&Root::entityFactory, this))));
353 loaders.append(workerPool.addWork(swallow(bind(&Root::biomeDatabase, this))));
354 loaders.append(workerPool.addWork(swallow(bind(&Root::liquidsDatabase, this))));
355 loaders.append(workerPool.addWork(swallow(bind(&Root::dungeonDefinitions, this))));
356 loaders.append(workerPool.addWork(swallow(bind(&Root::tilesetDatabase, this))));
357
358 auto startSeconds = Time::monotonicTime();
359 for (auto& loader : loaders)
360 loader.finish();
361 Logger::info("Root: Loaded everything in {} seconds", Time::monotonicTime() - startSeconds);
362
363 {
364 MutexLocker locker(m_assetsMutex);
365 if (m_assets)
366 m_assets->clearCache();
367 }
368}

Callers 7

serverReloadMethod · 0.80
changeStateMethod · 0.80
handleInputEventMethod · 0.80
mainFunction · 0.80
mainFunction · 0.80
mainFunction · 0.80
mainFunction · 0.80

Calls 7

WorkerPoolClass · 0.85
swallowFunction · 0.85
addWorkMethod · 0.80
clearCacheMethod · 0.80
reserveMethod · 0.45
appendMethod · 0.45
finishMethod · 0.45

Tested by

no test coverage detected