1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-30 12:32:36 +00:00
OpenMW/apps/openmw/mwworld/groundcoverstore.hpp

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

62 lines
1.2 KiB
C++
Raw Normal View History

#ifndef GAME_MWWORLD_GROUNDCOVER_STORE_H
#define GAME_MWWORLD_GROUNDCOVER_STORE_H
#include <components/esm/refid.hpp>
2024-10-12 14:16:50 +02:00
#include <components/vfs/pathutil.hpp>
#include <map>
#include <string>
#include <vector>
namespace ESM
{
struct ESM_Context;
struct Static;
struct Cell;
}
namespace Loading
{
class Listener;
}
namespace Files
{
class Collections;
}
namespace ToUTF8
{
class Utf8Encoder;
}
namespace MWWorld
{
template <class T>
class Store;
class GroundcoverStore
{
private:
2024-10-12 14:16:50 +02:00
std::map<ESM::RefId, VFS::Path::Normalized> mMeshCache;
std::map<std::pair<int, int>, std::vector<ESM::ESM_Context>> mCellContexts;
public:
2022-06-03 18:59:08 +02:00
void init(const Store<ESM::Static>& statics, const Files::Collections& fileCollections,
const std::vector<std::string>& groundcoverFiles, ToUTF8::Utf8Encoder* encoder,
Loading::Listener* listener);
2024-10-12 14:16:50 +02:00
VFS::Path::NormalizedView getGroundcoverModel(ESM::RefId id) const
{
auto it = mMeshCache.find(id);
if (it == mMeshCache.end())
return {};
return it->second;
}
void initCell(ESM::Cell& cell, int cellX, int cellY) const;
};
}
#endif