From 20b1d80d598e6f741e28c9a85d186e463d111816 Mon Sep 17 00:00:00 2001 From: Martin Kiewitz Date: Fri, 23 Jul 2010 14:32:24 +0000 Subject: 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 --- engines/sci/engine/workarounds.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'engines/sci/engine/workarounds.h') 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 -- cgit v1.2.3