2012-09-23 22:11:08 +04:00
|
|
|
#ifndef OPENMW_ESM_LOCKS_H
|
|
|
|
#define OPENMW_ESM_LOCKS_H
|
2010-02-21 17:55:12 +01:00
|
|
|
|
2012-10-01 00:51:54 +04:00
|
|
|
#include <string>
|
2010-02-21 17:55:12 +01:00
|
|
|
|
2011-04-08 17:58:21 +04:00
|
|
|
namespace ESM
|
|
|
|
{
|
2010-02-21 17:55:12 +01:00
|
|
|
|
2012-10-01 00:51:54 +04:00
|
|
|
class ESMReader;
|
|
|
|
class ESMWriter;
|
|
|
|
|
2010-02-21 17:55:12 +01:00
|
|
|
/*
|
|
|
|
* This file covers lockpicks (LOCK), probes (PROB) and armor repair
|
|
|
|
* items (REPA). These have nearly identical data structures.
|
|
|
|
*/
|
|
|
|
|
2012-09-30 23:34:53 +04:00
|
|
|
struct Tool
|
2010-02-21 17:55:12 +01:00
|
|
|
{
|
2012-04-06 21:04:30 +02:00
|
|
|
enum Type
|
|
|
|
{
|
|
|
|
Type_Pick,
|
|
|
|
Type_Probe,
|
|
|
|
Type_Repair
|
|
|
|
};
|
|
|
|
|
2011-04-08 17:58:21 +04:00
|
|
|
struct Data
|
|
|
|
{
|
2012-09-17 11:37:50 +04:00
|
|
|
float mWeight;
|
|
|
|
int mValue;
|
2010-02-21 17:55:12 +01:00
|
|
|
|
2012-09-17 11:37:50 +04:00
|
|
|
float mQuality; // And when I say nearly identical structure, I
|
|
|
|
int mUses; // mean perfectly identical except that these two
|
2011-04-08 17:58:21 +04:00
|
|
|
// variables are swaped for repair items. Don't ask
|
|
|
|
// me why.
|
|
|
|
}; // Size = 16
|
2010-02-21 17:55:12 +01:00
|
|
|
|
2012-09-17 11:37:50 +04:00
|
|
|
Data mData;
|
|
|
|
Type mType;
|
2012-10-07 21:24:47 +04:00
|
|
|
std::string mId, mName, mModel, mIcon, mScript;
|
2010-02-21 17:55:12 +01:00
|
|
|
|
2011-04-08 17:58:21 +04:00
|
|
|
void load(ESMReader &esm);
|
2012-04-06 21:04:30 +02:00
|
|
|
void save(ESMWriter &esm);
|
2010-02-21 17:55:12 +01:00
|
|
|
};
|
2010-08-03 15:24:44 +02:00
|
|
|
|
2011-04-08 17:58:21 +04:00
|
|
|
struct Probe: Tool
|
2010-08-03 15:24:44 +02:00
|
|
|
{
|
2012-09-17 11:37:50 +04:00
|
|
|
Probe() { mType = Type_Probe; }
|
2010-08-03 15:24:44 +02:00
|
|
|
};
|
|
|
|
|
2011-04-08 17:58:21 +04:00
|
|
|
struct Repair: Tool
|
2010-08-03 15:24:44 +02:00
|
|
|
{
|
2012-09-17 11:37:50 +04:00
|
|
|
Repair() { mType = Type_Repair; }
|
2010-08-03 15:24:44 +02:00
|
|
|
};
|
|
|
|
|
2010-02-21 17:55:12 +01:00
|
|
|
}
|
|
|
|
#endif
|