Flint Engine
Modular C++20 2D game engine powered by SDL3
Loading...
Searching...
No Matches
asset-loader.h
1// SPDX-License-Identifier: MIT
2// SPDX-FileCopyrightText: 2025-2026 Manuel Osorio
3#pragma once
4
5#include <cstdint>
6#include <string>
7#include <vector>
8
9namespace Flint {
10
19 public:
20 virtual ~IAssetLoader() = default;
28 virtual std::vector<char> getAsset(const std::string &path) = 0;
35 virtual bool hasAsset(const std::string &path) const = 0;
44 virtual bool isDoneLoading() const = 0;
45
61 virtual uint64_t getAssetRevision(const std::string &path) const = 0;
62 };
63
64}
virtual uint64_t getAssetRevision(const std::string &path) const =0
Return an opaque token that changes when path's contents change.
virtual bool hasAsset(const std::string &path) const =0
Check whether an asset exists without loading it.
virtual bool isDoneLoading() const =0
Query whether all assets have finished loading.
virtual std::vector< char > getAsset(const std::string &path)=0
Load the asset at path and return its raw bytes.
Abstract interface for loading raw asset data by path.