ScriptFile.h 857 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef ScriptFILE_H
  2. #define ScriptFILE_H
  3. #include "common/File.h"
  4. struct StackItem
  5. {
  6. u32 value_int;
  7. Ogre::String value_string;
  8. };
  9. class ScriptFile : public File
  10. {
  11. public:
  12. ScriptFile(const Ogre::String& file);
  13. ScriptFile(File* pFile);
  14. ScriptFile(File* pFile, u32 offset, u32 length);
  15. ScriptFile(u8* pBuffer, u32 offset, u32 length);
  16. virtual ~ScriptFile();
  17. void DumpScripts();
  18. void StackOpcodeParse();
  19. u32 StackOpcode80Parse( u32 stack_opcode );
  20. Ogre::String LoadVariable( const StackItem& item );
  21. Ogre::String GetStringFromStack( int position = -1 );
  22. Ogre::String StoreVariableByStack( const Ogre::String& value );
  23. Ogre::String Get8Variable();
  24. Ogre::String Get16Variable();
  25. Ogre::String Get24Variable();
  26. void AdvanceScript( u32 value, u32 jump = 0 );
  27. };
  28. #endif // ScriptFILE_H