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, while the index either refers to the number of the string in the specified source, or to a relative position inside the text.
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.