22 #ifndef SCI_ENGINE_KERNEL_H 23 #define SCI_ENGINE_KERNEL_H 25 #include "common/scummsys.h" 26 #include "common/debug.h" 27 #include "common/rect.h" 28 #include "common/str-array.h" 30 #include "sci/engine/selector.h" 31 #include "sci/engine/vm_types.h" 32 #include "sci/engine/vm.h" 45 struct SciWorkaroundEntry;
109 kScummVMSleepId = 0xe0,
111 kScummVMSaveLoadId = 0xe1
117 SIG_TYPE_NULL = 0x01,
118 SIG_TYPE_INTEGER = 0x02,
119 SIG_TYPE_UNINITIALIZED = 0x04,
120 SIG_TYPE_OBJECT = 0x08,
121 SIG_TYPE_REFERENCE = 0x10,
122 SIG_TYPE_LIST = 0x20,
123 SIG_TYPE_NODE = 0x40,
124 SIG_TYPE_ERROR = 0x80,
125 SIG_IS_INVALID = 0x100,
126 SIG_IS_OPTIONAL = 0x200,
127 SIG_NEEDS_MORE = 0x400,
128 SIG_MORE_MAY_FOLLOW = 0x800
132 #define SIG_MAYBE_ANY (SIG_TYPE_NULL | SIG_TYPE_INTEGER | SIG_TYPE_OBJECT | SIG_TYPE_REFERENCE | SIG_TYPE_LIST | SIG_TYPE_NODE) 137 typedef reg_t KernelFunctionCall(EngineState *s,
int argc, reg_t *argv);
140 KernelFunctionCall *
function;
145 bool debugBreakpoint;
149 KernelFunctionCall *
function;
154 uint16 subFunctionCount;
165 uint getSelectorNamesSize()
const;
169 uint getKernelNamesSize()
const;
171 Common::String getKernelName(uint number, uint subFunction)
const;
178 int findSelector(
const char *selectorName)
const;
181 void dissectScript(
int scriptNumber,
Vocabulary *vocab);
199 bool signatureMatch(
const uint16 *sig,
int argc,
const reg_t *argv);
202 void signatureDebug(
Common::String &signatureDetails,
const uint16 *sig,
int argc,
const reg_t *argv);
211 uint16 findRegType(
reg_t reg);
242 void loadSelectorNames();
758 #endif // SCI_ENGINE_KERNEL_H
Definition: selector.h:33
Definition: vocabulary.h:189
KernelFunctionArray _kernelFuncs
Definition: kernel.h:187
Definition: resource.h:327
Definition: workarounds.h:49
SelectorCache _selectorCache
Definition: kernel.h:185
Definition: seg_manager.h:48
Definition: lobject.h:332
Definition: features.h:56
Definition: vm_types.h:39