aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kernel.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/engine/kernel.h')
-rw-r--r--engines/sci/engine/kernel.h23
1 files changed, 9 insertions, 14 deletions
diff --git a/engines/sci/engine/kernel.h b/engines/sci/engine/kernel.h
index 2c90728fb0..997cdaea77 100644
--- a/engines/sci/engine/kernel.h
+++ b/engines/sci/engine/kernel.h
@@ -32,6 +32,8 @@
#include "sci/uinput.h"
#include "sci/vocabulary.h"
+#include "sci/engine/vm_types.h" // for reg_t
+#include "sci/engine/vm.h"
namespace Sci {
@@ -58,14 +60,17 @@ struct KernelFuncWithSignature {
enum AutoDetectedFeatures {
kFeatureOldScriptHeader = 1 << 0,
kFeatureOldGfxFunctions = 1 << 1,
- kFeatureLofsAbsolute = 1 << 2,
- kFeatureSci01Sound = 1 << 3,
- kFeatureSci1Sound = 1 << 4
+ kFeatureLofsAbsolute = 1 << 2
};
class Kernel {
public:
- Kernel(ResourceManager *resmgr);
+ /**
+ * Initializes the SCI kernel
+ * @param minimalLoad If true, only the selector names are loaded, to detect game features.
+ * It's set to true by the advanced game detector to speed it up
+ */
+ Kernel(ResourceManager *resmgr, bool minimalLoad = false);
~Kernel();
uint getOpcodesSize() const { return _opcodes.size(); }
@@ -117,16 +122,6 @@ public:
*/
bool hasLofsAbsolute() const { return (features & kFeatureLofsAbsolute); }
- /**
- * Determines if the game is using SCI01 sound functions
- */
- bool usesSci01SoundFunctions() const { return (features & kFeatureSci01Sound); }
-
- /**
- * Determines if the game is using SCI1 sound functions
- */
- bool usesSci1SoundFunctions() const { return (features & kFeatureSci1Sound); }
-
// Script dissection/dumping functions
void dissectScript(int scriptNumber, Vocabulary *vocab);
void dumpScriptObject(char *data, int seeker, int objsize);