OpenMW
components/esm/loaddial.hpp
Go to the documentation of this file.
00001 #ifndef OPENMW_ESM_DIAL_H
00002 #define OPENMW_ESM_DIAL_H
00003 
00004 #include <string>
00005 #include <vector>
00006 
00007 #include "loadinfo.hpp"
00008 
00009 namespace ESM
00010 {
00011 
00012 class ESMReader;
00013 class ESMWriter;
00014 
00015 /*
00016  * Dialogue topic and journal entries. The actual data is contained in
00017  * the INFO records following the DIAL.
00018  */
00019 
00020 struct Dialogue
00021 {
00022     static unsigned int sRecordId;
00023 
00024     enum Type
00025     {
00026         Topic = 0,
00027         Voice = 1,
00028         Greeting = 2,
00029         Persuasion = 3,
00030         Journal = 4,
00031         Deleted = -1
00032     };
00033 
00034     std::string mId;
00035     signed char mType;
00036     std::vector<DialInfo> mInfo;
00037 
00038     void load(ESMReader &esm);
00039     void save(ESMWriter &esm) const;
00040 
00041     void blank();
00043 };
00044 }
00045 #endif