#ifndef OPENMW_ESM_SCPT_H #define OPENMW_ESM_SCPT_H #include <string> #include <vector> #include "esmcommon.hpp" namespace ESM { class ESMReader; class ESMWriter; /* * Script definitions */ class Script { public: static unsigned int sRecordId; struct SCHDstruct { /// Data from script-precompling in the editor. /// \warning Do not use them. OpenCS currently does not precompile scripts. int mNumShorts, mNumLongs, mNumFloats, mScriptDataSize, mStringTableSize; }; // 52 bytes std::string mId; SCHDstruct mData; /// Variable names generated by script-precompiling in the editor. /// \warning Do not use this field. OpenCS currently does not precompile scripts. std::vector<std::string> mVarNames; /// Bytecode generated from script-precompiling in the editor. /// \warning Do not use this field. OpenCS currently does not precompile scripts. std::vector<unsigned char> mScriptData; /// Script source code std::string mScriptText; void load(ESMReader &esm); void save(ESMWriter &esm) const; void blank(); ///< Set record to default state (does not touch the ID/index). }; } #endif