rodecomp/Source/Resource/ResourceFailures.cpp
ragnarok-clanker a47d20f8be Reconstruct readable C++ and organize cohesive source subsystems
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
2026-10-25 07:42:41 +00:00

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);
}
}