OpenMW
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
importsplm.h
Go to the documentation of this file.
1 #ifndef OPENMW_ESSIMPORT_IMPORTSPLM_H
2 #define OPENMW_ESSIMPORT_IMPORTSPLM_H
3 
4 #include <vector>
7 
8 namespace ESM
9 {
10  class ESMReader;
11 }
12 
13 namespace ESSImport
14 {
15 
16 struct SPLM
17 {
18 
19 #pragma pack(push)
20 #pragma pack(1)
21  struct SPDT // 160 bytes
22  {
23  int mType; // 1 = spell, 2 = enchantment, 3 = potion
24  ESM::NAME32 mId; // base ID of a spell/enchantment/potion
25  unsigned char mUnknown[4*4];
27  ESM::NAME32 mSourceId; // empty for spells
28  unsigned char mUnknown2[4*11];
29  };
30 
31  struct NPDT // 56 bytes
32  {
34  unsigned char mUnknown[4*2];
37  unsigned char mUnknown2[4*2];
38  };
39 
40  struct INAM // 40 bytes
41  {
42  int mUnknown;
43  unsigned char mUnknown2;
44  ESM::FIXED_STRING<35> mItemId; // disintegrated item / bound item / item to re-equip after expiration
45  };
46 
47  struct CNAM // 36 bytes
48  {
49  int mUnknown; // seems to always be 0
51  };
52 
53  struct VNAM // 4 bytes
54  {
55  int mUnknown;
56  };
57 
58 
59 #pragma pack(pop)
60 
61  struct ActiveEffect
62  {
64  };
65 
66  struct ActiveSpell
67  {
68  int mIndex;
70  std::string mTarget;
71  std::vector<ActiveEffect> mActiveEffects;
72  };
73 
74  std::vector<ActiveSpell> mActiveSpells;
75 
76  void load(ESM::ESMReader& esm);
77 };
78 
79 }
80 
81 #endif
std::vector< ActiveSpell > mActiveSpells
Definition: importsplm.h:74
Definition: importsplm.h:21
ESM::NAME32 mAffectedActorId
Definition: importsplm.h:33
Definition: esmreader.hpp:21
Definition: importsplm.h:61
Definition: importsplm.h:47
ESM::NAME32 mSourceId
Definition: importsplm.h:27
std::string mTarget
Definition: importsplm.h:70
void load(ESM::ESMReader &esm)
Definition: importsplm.cpp:8
int mType
Definition: importsplm.h:23
Definition: importsplm.h:16
Definition: importsplm.h:53
int mUnknown
Definition: importsplm.h:49
std::vector< ActiveEffect > mActiveEffects
Definition: importsplm.h:71
int mMagnitude
Definition: importsplm.h:35
Definition: importsplm.h:66
unsigned char mUnknown2
Definition: importsplm.h:43
NPDT mNPDT
Definition: importsplm.h:63
ESM::FIXED_STRING< 35 > mItemId
Definition: importsplm.h:44
ESM::NAME32 mCasterId
Definition: importsplm.h:26
float mSecondsActive
Definition: importsplm.h:36
Definition: importsplm.h:40
Definition: importsplm.h:31
unsigned char mUnknown2[4 *11]
Definition: importsplm.h:28
ESM::NAME32 mId
Definition: importsplm.h:24
int mUnknown
Definition: importsplm.h:42
unsigned char mUnknown2[4 *2]
Definition: importsplm.h:37
ESM::NAME32 mSummonedOrCommandedActor[32]
Definition: importsplm.h:50
int mUnknown
Definition: importsplm.h:55
unsigned char mUnknown[4 *2]
Definition: importsplm.h:34
unsigned char mUnknown[4 *4]
Definition: importsplm.h:25
int mIndex
Definition: importsplm.h:68
SPDT mSPDT
Definition: importsplm.h:69