diff options
author | Martin Kiewitz | 2010-08-06 18:54:58 +0000 |
---|---|---|
committer | Martin Kiewitz | 2010-08-06 18:54:58 +0000 |
commit | 753c431937ce3cb080b24c6a79f5e90548bfe431 (patch) | |
tree | a9856a95159b2a27f5607220d4753be15c4f9d82 /engines/sci/engine/script.h | |
parent | 993c8b70f29a90ecfc9b663836302af7f50afd2b (diff) | |
download | scummvm-rg350-753c431937ce3cb080b24c6a79f5e90548bfe431.tar.gz scummvm-rg350-753c431937ce3cb080b24c6a79f5e90548bfe431.tar.bz2 scummvm-rg350-753c431937ce3cb080b24c6a79f5e90548bfe431.zip |
SCI: adding script patching
including a patch for hoyle 4 and commenting out the workaround code inside kDisposeWindow
svn-id: r51795
Diffstat (limited to 'engines/sci/engine/script.h')
-rw-r--r-- | engines/sci/engine/script.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/engines/sci/engine/script.h b/engines/sci/engine/script.h index 8334cc838c..4e38c68954 100644 --- a/engines/sci/engine/script.h +++ b/engines/sci/engine/script.h @@ -37,7 +37,7 @@ struct SciScriptSignature { uint32 magicDWord; int magicOffset; const byte *data; - const int16 *patch; + const uint16 *patch; }; struct EngineState; @@ -109,8 +109,9 @@ public: void init(int script_nr, ResourceManager *resMan); void load(ResourceManager *resMan); - void matchSignatureAndPatch(uint16 scriptNr, const byte *scriptData, const uint32 scriptSize); + void matchSignatureAndPatch(uint16 scriptNr, byte *scriptData, const uint32 scriptSize); int32 findSignature(const SciScriptSignature *signature, const byte *scriptData, const uint32 scriptSize); + void applyPatch(const uint16 *patch, byte *scriptData, const uint32 scriptSize, int32 signatureOffset); virtual bool isValidOffset(uint16 offset) const; virtual SegmentRef dereference(reg_t pointer); |