// SPDX-FileCopyrightText: 2023 Joshua Goins // SPDX-License-Identifier: GPL-3.0-or-later #pragma once #include #include #include #include #include #include "novuscommon_export.h" struct GameData; class NOVUSCOMMON_EXPORT FileCache { public: explicit FileCache(GameData &data); bool fileExists(const QString &path); physis_Buffer &lookupFile(const QString &path); private: QMap cachedBuffers; QHash cachedExist; GameData &data; QMutex bufferMutex, existMutex; };