Administrative source import: native x86 compilation passed for 423 authored units. Source placement and submission states are migrated separately; this commit does not imply peer acceptance.
Previous head: 35d2a8cb36
Payload SHA256: 592f016d2730c5593bb653aa054c1e5f76a6df72c8f5a09e66f74876e2e33dee
32 lines
890 B
C++
32 lines
890 B
C++
#include "Resource/ResourceFailures.h"
|
|
#include "Utility/Threading/NSyncObject.h"
|
|
|
|
#include <cstring>
|
|
|
|
ResourceFailures::ResourceFailures(ResourceMessages& messages) : m_messages(&messages) {
|
|
InitializeCriticalSection(&this->m_lock);
|
|
}
|
|
|
|
ResourceFailures::~ResourceFailures() {
|
|
DeleteCriticalSection(&this->m_lock);
|
|
}
|
|
|
|
// OFFSET: 0x00AEE310
|
|
// FUNCTION: fn_18171
|
|
void ResourceFailures::Report(std::string requested, std::string resolved) {
|
|
const char* extension = std::strrchr(resolved.c_str(), '.');
|
|
if (extension && _stricmp(extension, ".ebm") == 0) {
|
|
return;
|
|
}
|
|
|
|
bool report;
|
|
{
|
|
NSyncObject lock(&this->m_lock);
|
|
report = this->m_reported.insert(resolved).second;
|
|
}
|
|
if (report) {
|
|
this->m_messages->Message("Resource File Loading fail", 255);
|
|
this->m_messages->Message(requested.c_str(), 255);
|
|
this->m_messages->Message(resolved.c_str(), 255);
|
|
}
|
|
}
|