diff options
Diffstat (limited to 'engines/sci/engine/kernel.h')
-rw-r--r-- | engines/sci/engine/kernel.h | 38 |
1 files changed, 28 insertions, 10 deletions
diff --git a/engines/sci/engine/kernel.h b/engines/sci/engine/kernel.h index e3ecddca26..da3d255329 100644 --- a/engines/sci/engine/kernel.h +++ b/engines/sci/engine/kernel.h @@ -83,14 +83,22 @@ public: */ bool hasKernelFunction(const char *functionName) const; - /* Applies to all versions before 0.000.502 - ** Old SCI versions used to interpret the third DrawPic() parameter inversely, - ** with the opposite default value (obviously). - ** Also, they used 15 priority zones from 42 to 200 instead of 14 priority - ** zones from 42 to 190. - */ + /** + * Applies to all versions before 0.000.502 + * Old SCI versions used to interpret the third DrawPic() parameter inversely, + * with the opposite default value (obviously). + * Also, they used 15 priority zones from 42 to 200 instead of 14 priority + * zones from 42 to 190. + */ bool usesOldGfxFunctions() const { return _oldGfxFunctions; } + /** + * Applies to all SCI1 versions after 1.000.200 + * In late SCI1 versions, the argument of lofs[as] instructions + * is absolute rather than relative. + */ + bool hasLofsAbsolute() const { return _hasLofsAbsolute; } + // Script dissection/dumping functions void dissectScript(int scriptNumber, Vocabulary *vocab); void dumpScriptObject(char *data, int seeker, int objsize); @@ -112,10 +120,19 @@ private: bool loadKernelNames(); /** - * Loads the kernel selector names. - * @return True upon success, false otherwise. - */ - bool loadSelectorNames(bool isOldSci0); + * Sets the default kernel function names, based on the SCI version used + */ + void setDefaultKernelNames(); + + /** + * Loads the kernel selector names. + */ + void loadSelectorNames(bool isOldSci0); + + /** + * Prints auto-detected features from selectors + */ + void printAutoDetectedFeatures(); /** * Maps special selectors @@ -135,6 +152,7 @@ private: ResourceManager *_resmgr; bool _oldGfxFunctions; + bool _hasLofsAbsolute; // Kernel-related lists /** |