Difference between revisions of "SCI/Script Patching Scope"

Jump to navigation Jump to search
m
typo fix
(Created page with "==Script Patches== ScummVM's SCI engine features a script patcher written by Martin Kiewitz. We use this to fix bugs in the original games and even add new features. ScummVM'...")
 
m (typo fix)
 
Line 3: Line 3:
ScummVM's SCI engine features a script patcher written by Martin Kiewitz. We use this to fix bugs in the original games and even add new features. ScummVM's SCI engine is now so stable that most reported bugs turn out to be bugs in Sierra's scripts.
ScummVM's SCI engine features a script patcher written by Martin Kiewitz. We use this to fix bugs in the original games and even add new features. ScummVM's SCI engine is now so stable that most reported bugs turn out to be bugs in Sierra's scripts.


We have [https://github.com/scummvm/scummvm/blob/master/engines/sci/engine/script_patches.cpp many script patches] There are two parts to each: a signature of known bytes and the new bytes to replace them with. When a script is loaded and a signature matches, the bytes are replaced in memory before the script is run. Inline patching technique is an effective technique, but there are limits to what it can do. That is probably for the best.
We have [https://github.com/scummvm/scummvm/blob/master/engines/sci/engine/script_patches.cpp many script patches] There are two parts to each: a signature of known bytes and the new bytes to replace them with. When a script is loaded and a signature matches, the bytes are replaced in memory before the script is run. Inline patching is an effective technique, but there are limits to what it can do. That is probably for the best.


The ability to modify games is a great power with a great responsibility. ScummVM developers, and the FreeSCI developers before them, spent a tremendous amount of effort to accurately reproduce the SCI engine. They did not do this work just to rewrite the games to be different. The question is what do we change, and what do we not.
The ability to modify games is a great power with a great responsibility. ScummVM developers, and the FreeSCI developers before them, spent a tremendous amount of effort to accurately reproduce the SCI engine. They did not do this work just to rewrite the games to be different. The question is what do we change, and what do we not.
33

edits

Navigation menu