aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kernel.h
diff options
context:
space:
mode:
authorMax Horn2010-07-21 14:54:06 +0000
committerMax Horn2010-07-21 14:54:06 +0000
commit175d6e297d5d50a96f1af6ddc2e37c7c56f84763 (patch)
tree2fb46d548c652019a27e160beedcaffd54f43e7a /engines/sci/engine/kernel.h
parent2ed45d3719a9d75f35aff7cc80b23468e1ceac3e (diff)
downloadscummvm-rg350-175d6e297d5d50a96f1af6ddc2e37c7c56f84763.tar.gz
scummvm-rg350-175d6e297d5d50a96f1af6ddc2e37c7c56f84763.tar.bz2
scummvm-rg350-175d6e297d5d50a96f1af6ddc2e37c7c56f84763.zip
SCI: More rest of the workaround defs to workarounds.h
svn-id: r51090
Diffstat (limited to 'engines/sci/engine/kernel.h')
-rw-r--r--engines/sci/engine/kernel.h27
1 files changed, 1 insertions, 26 deletions
diff --git a/engines/sci/engine/kernel.h b/engines/sci/engine/kernel.h
index 8de95f56ef..8467a640af 100644
--- a/engines/sci/engine/kernel.h
+++ b/engines/sci/engine/kernel.h
@@ -40,6 +40,7 @@ namespace Sci {
struct Node; // from segment.h
struct List; // from segment.h
struct SelectorCache; // from selector.h
+struct SciWorkaroundEntry; // from workarounds.h
/**
* @defgroup VocabularyResources Vocabulary resources in SCI
@@ -120,32 +121,6 @@ enum {
/* Generic description: */
typedef reg_t KernelFunctionCall(EngineState *s, int argc, reg_t *argv);
-enum SciWorkaroundType {
- WORKAROUND_NONE, // only used by terminator or when no workaround was found
- WORKAROUND_IGNORE, // ignore kernel call
- WORKAROUND_STILLCALL, // still do kernel call
- WORKAROUND_FAKE // fake kernel call / replace temp value / fake opcode
-};
-
-struct SciWorkaroundSolution {
- SciWorkaroundType type;
- uint16 value;
-};
-
-struct SciWorkaroundEntry {
- SciGameId gameId;
- int roomNr;
- int scriptNr;
- int16 inheritanceLevel;
- const char *objectName;
- const char *methodName;
- int localCallOffset;
- int index;
- SciWorkaroundSolution newValue;
-};
-
-#define SCI_WORKAROUNDENTRY_TERMINATOR { (SciGameId)0, -1, -1, 0, NULL, NULL, -1, 0, { WORKAROUND_NONE, 0 } }
-
struct KernelSubFunction {
KernelFunctionCall *function;
const char *name;