2013-08-16 11:01:52 +00:00
|
|
|
#ifndef MWRENDER_TERRAINSTORAGE_H
|
|
|
|
#define MWRENDER_TERRAINSTORAGE_H
|
|
|
|
|
2014-08-07 18:31:07 +00:00
|
|
|
#include <components/esmterrain/storage.hpp>
|
2013-08-16 11:01:52 +00:00
|
|
|
|
|
|
|
namespace MWRender
|
|
|
|
{
|
|
|
|
|
2014-08-07 18:31:07 +00:00
|
|
|
/// @brief Connects the ESM Store used in OpenMW with the ESMTerrain storage.
|
|
|
|
class TerrainStorage : public ESMTerrain::Storage
|
2013-08-16 11:01:52 +00:00
|
|
|
{
|
|
|
|
private:
|
2015-08-31 12:17:11 +00:00
|
|
|
virtual const ESM::Land* getLand (int cellX, int cellY);
|
2013-08-16 11:01:52 +00:00
|
|
|
virtual const ESM::LandTexture* getLandTexture(int index, short plugin);
|
|
|
|
public:
|
2014-02-13 09:13:53 +00:00
|
|
|
|
2015-01-29 02:30:07 +00:00
|
|
|
///@param preload Preload all Land records at startup? If using the multithreaded terrain component, this
|
|
|
|
/// should be set to "true" in order to avoid race conditions.
|
2015-06-02 23:18:36 +00:00
|
|
|
TerrainStorage(const VFS::Manager* vfs, bool preload);
|
2015-01-29 02:30:07 +00:00
|
|
|
|
2014-02-13 09:13:53 +00:00
|
|
|
/// Get bounds of the whole terrain in cell units
|
2014-02-16 12:07:32 +00:00
|
|
|
virtual void getBounds(float& minX, float& maxX, float& minY, float& maxY);
|
2013-08-16 11:01:52 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|