1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-10 15:39:02 +00:00
OpenMW/apps/openmw/mwworld/groundcoverstore.hpp
florent.teppe 65cdd489fb create a specific esm reader function for RefID to avoid allocation for string and then again for RefId
Fixed some types

removed useless header

applied clang format

fixed compile tests

fixed clang tidy, and closer to logic before this MR

Removed hardcoded refids

unless there is a returned value we don't use static RefIds
can use == between RefId and hardcoded string

Fix clang format

Fixed a few instances where std::string was used, when only const std::string& was needed

removed unused variable
2022-12-27 19:15:57 +01:00

53 lines
1.0 KiB
C++

#ifndef GAME_MWWORLD_GROUNDCOVER_STORE_H
#define GAME_MWWORLD_GROUNDCOVER_STORE_H
#include <components/esm/refid.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:
std::map<ESM::RefId, std::string> mMeshCache;
std::map<std::pair<int, int>, std::vector<ESM::ESM_Context>> mCellContexts;
public:
void init(const Store<ESM::Static>& statics, const Files::Collections& fileCollections,
const std::vector<std::string>& groundcoverFiles, ToUTF8::Utf8Encoder* encoder,
Loading::Listener* listener);
std::string getGroundcoverModel(const ESM::RefId& id) const;
void initCell(ESM::Cell& cell, int cellX, int cellY) const;
};
}
#endif