aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/workarounds.h
diff options
context:
space:
mode:
authorMartin Kiewitz2010-07-23 14:32:24 +0000
committerMartin Kiewitz2010-07-23 14:32:24 +0000
commit20b1d80d598e6f741e28c9a85d186e463d111816 (patch)
tree673da2b35f29f460937a0af92900d0c9104e96ba /engines/sci/engine/workarounds.h
parent0bcc3af422754525304203edca34a3e6f44f5cfb (diff)
downloadscummvm-rg350-20b1d80d598e6f741e28c9a85d186e463d111816.tar.gz
scummvm-rg350-20b1d80d598e6f741e28c9a85d186e463d111816.tar.bz2
scummvm-rg350-20b1d80d598e6f741e28c9a85d186e463d111816.zip
SCI: adding table for kDisplay workarounds
and removing hardcoded checks, adding another workaround for kGraph(drawLine) in island of dr. brain (also gene explanation chart) Moving trackOriginAndFindWorkaround() into workarounds.cpp svn-id: r51209
Diffstat (limited to 'engines/sci/engine/workarounds.h')
-rw-r--r--engines/sci/engine/workarounds.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/engines/sci/engine/workarounds.h b/engines/sci/engine/workarounds.h
index f480fc5f05..ab88505103 100644
--- a/engines/sci/engine/workarounds.h
+++ b/engines/sci/engine/workarounds.h
@@ -38,6 +38,13 @@ enum SciWorkaroundType {
WORKAROUND_FAKE // fake kernel call / replace temp value / fake opcode
};
+struct SciTrackOriginReply {
+ int scriptNr;
+ Common::String objectName;
+ Common::String methodName;
+ int localCallOffset;
+};
+
struct SciWorkaroundSolution {
SciWorkaroundType type;
uint16 value;
@@ -65,6 +72,7 @@ extern const SciWorkaroundEntry opcodeDivWorkarounds[];
extern const SciWorkaroundEntry opcodeDptoaWorkarounds[];
extern const SciWorkaroundEntry uninitializedReadWorkarounds[];
extern const SciWorkaroundEntry kAbs_workarounds[];
+extern const SciWorkaroundEntry kDisplay_workarounds[];
extern const SciWorkaroundEntry kDisposeScript_workarounds[];
extern const SciWorkaroundEntry kDoSoundFade_workarounds[];
extern const SciWorkaroundEntry kGraphDrawLine_workarounds[];
@@ -76,6 +84,8 @@ extern const SciWorkaroundEntry kSetPort_workarounds[];
extern const SciWorkaroundEntry kUnLoad_workarounds[];
extern const SciWorkaroundEntry kStrCpy_workarounds[];
+extern SciWorkaroundSolution trackOriginAndFindWorkaround(int index, const SciWorkaroundEntry *workaroundList, SciTrackOriginReply *trackOrigin);
+
} // End of namespace Sci
#endif // SCI_ENGINE_WORKAROUNDS_H