MCPcopy Create free account
hub / github.com/deathkiller/jazz2-native / EndLoading

Method EndLoading

Sources/Jazz2/ContentResolver.cpp:389–459  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

387 }
388
389 void ContentResolver::EndLoading()
390 {
391#if defined(DEATH_DEBUG)
392 std::int32_t metadataKept = 0, metadataReleased = 0;
393 std::int32_t animationsKept = 0, animationsReleased = 0;
394 std::int32_t soundsKept = 0, soundsReleased = 0;
395#endif
396
397 // Release unreferenced metadata
398 {
399 auto it = _cachedMetadata.begin();
400 while (it != _cachedMetadata.end()) {
401 if ((it->second->Flags & MetadataFlags::Referenced) != MetadataFlags::Referenced) {
402 it = _cachedMetadata.erase(it);
403#if defined(DEATH_DEBUG)
404 metadataReleased++;
405#endif
406 } else {
407 ++it;
408#if defined(DEATH_DEBUG)
409 metadataKept++;
410#endif
411 }
412 }
413 }
414
415 // Released unreferenced graphics
416 {
417 auto it = _cachedGraphics.begin();
418 while (it != _cachedGraphics.end()) {
419 if ((it->second->Flags & GenericGraphicResourceFlags::Referenced) != GenericGraphicResourceFlags::Referenced) {
420 it = _cachedGraphics.erase(it);
421#if defined(DEATH_DEBUG)
422 animationsReleased++;
423#endif
424 } else {
425 ++it;
426#if defined(DEATH_DEBUG)
427 animationsKept++;
428#endif
429 }
430 }
431 }
432
433#if defined(WITH_AUDIO)
434 // Released unreferenced sounds
435 {
436 auto it = _cachedSounds.begin();
437 while (it != _cachedSounds.end()) {
438 if ((it->second->Flags & GenericSoundResourceFlags::Referenced) != GenericSoundResourceFlags::Referenced) {
439 it = _cachedSounds.erase(it);
440# if defined(DEATH_DEBUG)
441 soundsReleased++;
442# endif
443 } else {
444 ++it;
445# if defined(DEATH_DEBUG)
446 soundsKept++;

Callers 2

InitializeMethod · 0.80
MainMenuMethod · 0.80

Calls 3

beginMethod · 0.45
endMethod · 0.45
eraseMethod · 0.45

Tested by

no test coverage detected