| 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++; |
no test coverage detected