aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/script.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/engine/script.h')
-rw-r--r--engines/sci/engine/script.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/engines/sci/engine/script.h b/engines/sci/engine/script.h
index 3817f8aae1..8334cc838c 100644
--- a/engines/sci/engine/script.h
+++ b/engines/sci/engine/script.h
@@ -31,6 +31,15 @@
namespace Sci {
+struct SciScriptSignature {
+ uint16 scriptNr;
+ const char *description;
+ uint32 magicDWord;
+ int magicOffset;
+ const byte *data;
+ const int16 *patch;
+};
+
struct EngineState;
class ResourceManager;
@@ -100,6 +109,9 @@ public:
void init(int script_nr, ResourceManager *resMan);
void load(ResourceManager *resMan);
+ void matchSignatureAndPatch(uint16 scriptNr, const byte *scriptData, const uint32 scriptSize);
+ int32 findSignature(const SciScriptSignature *signature, const byte *scriptData, const uint32 scriptSize);
+
virtual bool isValidOffset(uint16 offset) const;
virtual SegmentRef dereference(reg_t pointer);
virtual reg_t findCanonicAddress(SegManager *segMan, reg_t sub_addr) const;