Modules | |
Vocabulary resources in SCI | |
Typedefs | |
typedef Common::Array< KernelFunction > | Sci::Kernel::KernelFunctionArray |
Functions | |
Sci::Kernel::Kernel (ResourceManager *resMan, SegManager *segMan) | |
uint | Sci::Kernel::getSelectorNamesSize () const |
const Common::String & | Sci::Kernel::getSelectorName (uint selector) |
int | Sci::Kernel::findKernelFuncPos (Common::String kernelFuncName) |
uint | Sci::Kernel::getKernelNamesSize () const |
const Common::String & | Sci::Kernel::getKernelName (uint number) const |
Common::String | Sci::Kernel::getKernelName (uint number, uint subFunction) const |
int | Sci::Kernel::findSelector (const char *selectorName) const |
void | Sci::Kernel::dissectScript (int scriptNumber, Vocabulary *vocab) |
void | Sci::Kernel::dumpScriptObject (const SciSpan< const byte > &script, SciSpan< const byte > object) |
void | Sci::Kernel::dumpScriptClass (const SciSpan< const byte > &script, SciSpan< const byte > clazz) |
bool | Sci::Kernel::signatureMatch (const uint16 *sig, int argc, const reg_t *argv) |
void | Sci::Kernel::signatureDebug (Common::String &signatureDetails, const uint16 *sig, int argc, const reg_t *argv) |
uint16 | Sci::Kernel::findRegType (reg_t reg) |
Common::String | Sci::Kernel::lookupText (reg_t address, int index) |
void | Sci::Kernel::loadKernelNames (GameFeatures *features) |
Variables | |
KernelFunctionCall * | Sci::KernelSubFunction::function |
const char * | Sci::KernelSubFunction::name |
uint16 * | Sci::KernelSubFunction::signature |
const SciWorkaroundEntry * | Sci::KernelSubFunction::workarounds |
bool | Sci::KernelSubFunction::debugLogging |
bool | Sci::KernelSubFunction::debugBreakpoint |
KernelFunctionCall * | Sci::KernelFunction::function |
const char * | Sci::KernelFunction::name |
uint16 * | Sci::KernelFunction::signature |
const SciWorkaroundEntry * | Sci::KernelFunction::workarounds |
KernelSubFunction * | Sci::KernelFunction::subFunctions |
uint16 | Sci::KernelFunction::subFunctionCount |
SelectorCache | Sci::Kernel::_selectorCache |
KernelFunctionArray | Sci::Kernel::_kernelFuncs |
Sci::Kernel::Kernel | ( | ResourceManager * | resMan, |
SegManager * | segMan | ||
) |
Initializes the SCI kernel.
int Sci::Kernel::findSelector | ( | const char * | selectorName | ) | const |
Determines the selector ID of a selector by its name.
selectorName | Name of the selector to look up |
bool Sci::Kernel::signatureMatch | ( | const uint16 * | sig, |
int | argc, | ||
const reg_t * | argv | ||
) |
Determines whether a list of registers matches a given signature. If no signature is given (i.e., if sig is NULL), this is always treated as a match.
sig | signature to test against |
argc | number of arguments to test |
argv | argument list |
uint16 Sci::Kernel::findRegType | ( | reg_t | reg | ) |
Determines the type of the object indicated by reg.
reg | register to check |
Common::String Sci::Kernel::lookupText | ( | reg_t | address, |
int | index | ||
) |
Looks up text referenced by scripts. SCI uses two values to reference to text: An address, and an index. The address determines whether the text should be read from a resource file, or from the heap. If the text is read from a resource file, then the index refers to the index of the string in the text resource. If the index does not exist in the resource, an empty string is returned.
address | The address to look up |
index | The relative index |
void Sci::Kernel::loadKernelNames | ( | GameFeatures * | features | ) |
Loads the kernel function names.
This function reads the kernel function name table from resource_map, and fills the _kernelNames array with them. The resulting list has the same format regardless of the format of the name table of the resource (the format changed between version 0 and 1).
SelectorCache Sci::Kernel::_selectorCache |
Shortcut list for important selectors.
KernelFunctionArray Sci::Kernel::_kernelFuncs |
Table of kernel functions.