2014-01-14 12:25:35 +01:00
|
|
|
#ifndef OPENMW_ESM_CELLID_H
|
|
|
|
#define OPENMW_ESM_CELLID_H
|
|
|
|
|
2022-12-01 19:37:35 +01:00
|
|
|
#include <components/esm/refid.hpp>
|
2022-12-01 20:02:39 +01:00
|
|
|
#include <string>
|
2014-01-14 12:25:35 +01:00
|
|
|
|
|
|
|
namespace ESM
|
|
|
|
{
|
|
|
|
class ESMReader;
|
|
|
|
class ESMWriter;
|
|
|
|
|
|
|
|
struct CellId
|
|
|
|
{
|
|
|
|
struct CellIndex
|
|
|
|
{
|
|
|
|
int mX;
|
|
|
|
int mY;
|
|
|
|
};
|
|
|
|
|
2023-01-19 17:31:45 +01:00
|
|
|
std::string mWorldspace;
|
2014-01-14 12:25:35 +01:00
|
|
|
CellIndex mIndex;
|
|
|
|
bool mPaged;
|
|
|
|
|
|
|
|
void load(ESMReader& esm);
|
|
|
|
void save(ESMWriter& esm) const;
|
2023-02-19 21:18:15 +01:00
|
|
|
|
|
|
|
// TODO tetramir: this probably shouldn't exist, needs it because some CellIds are saved on disk
|
|
|
|
static CellId extractFromRefId(const ESM::RefId& id);
|
2014-01-14 12:25:35 +01:00
|
|
|
};
|
2014-02-23 21:39:18 +01:00
|
|
|
|
|
|
|
bool operator==(const CellId& left, const CellId& right);
|
|
|
|
bool operator!=(const CellId& left, const CellId& right);
|
2015-07-17 20:49:10 +02:00
|
|
|
bool operator<(const CellId& left, const CellId& right);
|
2014-01-14 12:25:35 +01:00
|
|
|
}
|
|
|
|
|
2015-03-11 10:54:45 -04:00
|
|
|
#endif
|