aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kernel.h
diff options
context:
space:
mode:
authorFilippos Karapetis2009-09-29 14:24:07 +0000
committerFilippos Karapetis2009-09-29 14:24:07 +0000
commitf9296a64459a09961bdf61fa4dbb3d3f524a4c25 (patch)
tree47e58f397493e87f18560b7891cbb23afa668eb2 /engines/sci/engine/kernel.h
parentaf4c6c5f5b642e6a53596b7a00d57e2060ba0693 (diff)
downloadscummvm-rg350-f9296a64459a09961bdf61fa4dbb3d3f524a4c25.tar.gz
scummvm-rg350-f9296a64459a09961bdf61fa4dbb3d3f524a4c25.tar.bz2
scummvm-rg350-f9296a64459a09961bdf61fa4dbb3d3f524a4c25.zip
- Changed the unimplemented debug SCI kernel functions (InspectObj, ShowSends, ShowObjs, ShowFree, StackUsage and Profiler) to be dummy functions - we have our own debugger, and don't use these functions for debugging
- Removed the function number parameter from all kernel functions, as it's no longer needed, and removed the FAKE_FUNCT_NR hack - Removed kUnknown() and kStub() - Dummy/unknown kernel functions are no longer invoked, and a warning is shown instead, with the paremeters passed to them Note: there is an evil hack used for debugging scripts in invoke_selector(), which probably no longer works now svn-id: r44461
Diffstat (limited to 'engines/sci/engine/kernel.h')
-rw-r--r--engines/sci/engine/kernel.h285
1 files changed, 137 insertions, 148 deletions
diff --git a/engines/sci/engine/kernel.h b/engines/sci/engine/kernel.h
index 9d20a99b58..bb88fab45c 100644
--- a/engines/sci/engine/kernel.h
+++ b/engines/sci/engine/kernel.h
@@ -44,12 +44,13 @@ struct List; // from vm.h
//#define DEBUG_PARSER // enable for parser debugging
/* Generic description: */
-typedef reg_t KernelFunc(EngineState *s, int, int argc, reg_t *argv);
+typedef reg_t KernelFunc(EngineState *s, int argc, reg_t *argv);
struct KernelFuncWithSignature {
KernelFunc *fun; /**< The actual function */
const char *signature; /**< KernelFunc signature */
Common::String orig_name; /**< Original name, in case we couldn't map it */
+ bool isDummy;
};
enum AutoDetectedFeatures {
@@ -187,13 +188,8 @@ enum SelectorInvocation {
*/
-enum {
- // FIXME: FAKE_FUNCT_NR is a hack used to substitute for an opcode number in certain places
- FAKE_FUNCT_NR = -1
-};
-
#define INV_SEL(_object_, _selector_, _noinvalid_) \
- s, _object_, s->_kernel->_selectorCache._selector_, _noinvalid_, FAKE_FUNCT_NR, argv, argc, __FILE__, __LINE__
+ s, _object_, s->_kernel->_selectorCache._selector_, _noinvalid_, argv, argc, __FILE__, __LINE__
/* Kludge for use with invoke_selector(). Used for compatibility with compilers that can't
** handle vararg macros.
*/
@@ -201,7 +197,7 @@ enum {
reg_t read_selector(SegManager *segMan, reg_t object, Selector selector_id, const char *fname, int line);
void write_selector(SegManager *segMan, reg_t object, Selector selector_id, reg_t value, const char *fname, int line);
-int invoke_selector(EngineState *s, reg_t object, int selector_id, SelectorInvocation noinvalid, int kfunct,
+int invoke_selector(EngineState *s, reg_t object, int selector_id, SelectorInvocation noinvalid,
StackPtr k_argp, int k_argc, const char *fname, int line, int argc, ...);
@@ -326,146 +322,139 @@ enum {
/******************** Kernel functions ********************/
// New kernel functions
-reg_t kStrLen(EngineState *s, int, int argc, reg_t *argv);
-reg_t kGetFarText(EngineState *s, int, int argc, reg_t *argv);
-reg_t kReadNumber(EngineState *s, int, int argc, reg_t *argv);
-reg_t kStrCat(EngineState *s, int, int argc, reg_t *argv);
-reg_t kStrCmp(EngineState *s, int, int argc, reg_t *argv);
-reg_t kSetSynonyms(EngineState *s, int, int argc, reg_t *argv);
-reg_t kLock(EngineState *s, int, int argc, reg_t *argv);
-reg_t kPalette(EngineState *s, int, int argc, reg_t *argv);
-reg_t kNumCels(EngineState *s, int, int argc, reg_t *argv);
-reg_t kNumLoops(EngineState *s, int, int argc, reg_t *argv);
-reg_t kDrawCel(EngineState *s, int, int argc, reg_t *argv);
-reg_t kCoordPri(EngineState *s, int, int argc, reg_t *argv);
-reg_t kPriCoord(EngineState *s, int, int argc, reg_t *argv);
-reg_t kShakeScreen(EngineState *s, int, int argc, reg_t *argv);
-reg_t kSetCursor(EngineState *s, int, int argc, reg_t *argv);
-reg_t kMoveCursor(EngineState *s, int, int argc, reg_t *argv);
-reg_t kShow(EngineState *s, int, int argc, reg_t *argv);
-reg_t kPicNotValid(EngineState *s, int, int argc, reg_t *argv);
-reg_t kOnControl(EngineState *s, int, int argc, reg_t *argv);
-reg_t kDrawPic(EngineState *s, int, int argc, reg_t *argv);
-reg_t kGetPort(EngineState *s, int, int argc, reg_t *argv);
-reg_t kSetPort(EngineState *s, int, int argc, reg_t *argv);
-reg_t kNewWindow(EngineState *s, int, int argc, reg_t *argv);
-reg_t kDisposeWindow(EngineState *s, int, int argc, reg_t *argv);
-reg_t kCelWide(EngineState *s, int, int argc, reg_t *argv);
-reg_t kCelHigh(EngineState *s, int, int argc, reg_t *argv);
-reg_t kSetJump(EngineState *s, int, int argc, reg_t *argv);
-reg_t kDirLoop(EngineState *s, int, int argc, reg_t *argv);
-reg_t kDoAvoider(EngineState *s, int, int argc, reg_t *argv);
-reg_t kGetAngle(EngineState *s, int, int argc, reg_t *argv);
-reg_t kGetDistance(EngineState *s, int, int argc, reg_t *argv);
-reg_t kRandom(EngineState *s, int, int argc, reg_t *argv);
-reg_t kAbs(EngineState *s, int, int argc, reg_t *argv);
-reg_t kSqrt(EngineState *s, int, int argc, reg_t *argv);
-reg_t kTimesSin(EngineState *s, int, int argc, reg_t *argv);
-reg_t kTimesCos(EngineState *s, int, int argc, reg_t *argv);
-reg_t kCosMult(EngineState *s, int, int argc, reg_t *argv);
-reg_t kSinMult(EngineState *s, int, int argc, reg_t *argv);
-reg_t kTimesTan(EngineState *s, int, int argc, reg_t *argv);
-reg_t kTimesCot(EngineState *s, int, int argc, reg_t *argv);
-reg_t kCosDiv(EngineState *s, int, int argc, reg_t *argv);
-reg_t kSinDiv(EngineState *s, int, int argc, reg_t *argv);
-reg_t kValidPath(EngineState *s, int, int argc, reg_t *argv);
-reg_t kFOpen(EngineState *s, int, int argc, reg_t *argv);
-reg_t kFPuts(EngineState *s, int, int argc, reg_t *argv);
-reg_t kFGets(EngineState *s, int, int argc, reg_t *argv);
-reg_t kFClose(EngineState *s, int, int argc, reg_t *argv);
-reg_t kMapKeyToDir(EngineState *s, int, int argc, reg_t *argv);
-reg_t kGlobalToLocal(EngineState *s, int, int argc, reg_t *argv);
-reg_t kLocalToGlobal(EngineState *s, int, int argc, reg_t *argv);
-reg_t kWait(EngineState *s, int, int argc, reg_t *argv);
-reg_t kRestartGame(EngineState *s, int, int argc, reg_t *argv);
-reg_t kDeviceInfo(EngineState *s, int, int argc, reg_t *argv);
-reg_t kGetEvent(EngineState *s, int, int argc, reg_t *argv);
-reg_t kCheckFreeSpace(EngineState *s, int, int argc, reg_t *argv);
-reg_t kFlushResources(EngineState *s, int, int argc, reg_t *argv);
-reg_t kGetSaveFiles(EngineState *s, int, int argc, reg_t *argv);
-reg_t kSetDebug(EngineState *s, int, int argc, reg_t *argv);
-reg_t kCheckSaveGame(EngineState *s, int, int argc, reg_t *argv);
-reg_t kSaveGame(EngineState *s, int, int argc, reg_t *argv);
-reg_t kRestoreGame(EngineState *s, int, int argc, reg_t *argv);
-reg_t kFileIO(EngineState *s, int, int argc, reg_t *argv);
-reg_t kGetTime(EngineState *s, int, int argc, reg_t *argv);
-reg_t kHaveMouse(EngineState *s, int, int argc, reg_t *argv);
-reg_t kJoystick(EngineState *s, int, int argc, reg_t *argv);
-reg_t kGameIsRestarting(EngineState *s, int, int argc, reg_t *argv);
-reg_t kGetCWD(EngineState *s, int, int argc, reg_t *argv);
-reg_t kSort(EngineState *s, int, int argc, reg_t *argv);
-reg_t kStrEnd(EngineState *s, int, int argc, reg_t *argv);
-reg_t kMemory(EngineState *s, int, int argc, reg_t *argv);
-reg_t kAvoidPath(EngineState *s, int, int argc, reg_t *argv);
-reg_t kParse(EngineState *s, int, int argc, reg_t *argv);
-reg_t kSaid(EngineState *s, int, int argc, reg_t *argv);
-reg_t kStrCpy(EngineState *s, int, int argc, reg_t *argv);
-reg_t kStrAt(EngineState *s, int, int argc, reg_t *argv);
-reg_t kEditControl(EngineState *s, int, int argc, reg_t *argv);
-reg_t kDrawControl(EngineState *s, int, int argc, reg_t *argv);
-reg_t kHiliteControl(EngineState *s, int, int argc, reg_t *argv);
-reg_t kClone(EngineState *s, int, int argc, reg_t *argv);
-reg_t kDisposeClone(EngineState *s, int, int argc, reg_t *argv);
-reg_t kCanBeHere(EngineState *s, int, int argc, reg_t *argv);
-reg_t kCantBeHere(EngineState *s, int, int argc, reg_t *argv);
-reg_t kSetNowSeen(EngineState *s, int, int argc, reg_t *argv);
-reg_t kInitBresen(EngineState *s, int, int argc, reg_t *argv);
-reg_t kDoBresen(EngineState *s, int, int argc, reg_t *argv);
-reg_t kBaseSetter(EngineState *s, int, int argc, reg_t *argv);
-reg_t kAddToPic(EngineState *s, int, int argc, reg_t *argv);
-reg_t kAnimate(EngineState *s, int, int argc, reg_t *argv);
-reg_t kDisplay(EngineState *s, int, int argc, reg_t *argv);
-reg_t kGraph(EngineState *s, int, int argc, reg_t *argv);
-reg_t kFormat(EngineState *s, int, int argc, reg_t *argv);
-reg_t kDoSound(EngineState *s, int, int argc, reg_t *argv);
-reg_t kAddMenu(EngineState *s, int, int argc, reg_t *argv);
-reg_t kSetMenu(EngineState *s, int, int argc, reg_t *argv);
-reg_t kGetMenu(EngineState *s, int, int argc, reg_t *argv);
-reg_t kDrawStatus(EngineState *s, int, int argc, reg_t *argv);
-reg_t kDrawMenuBar(EngineState *s, int, int argc, reg_t *argv);
-reg_t kMenuSelect(EngineState *s, int, int argc, reg_t *argv);
-
-reg_t kLoad(EngineState *s, int, int argc, reg_t *argv);
-reg_t kUnLoad(EngineState *s, int, int argc, reg_t *argv);
-reg_t kScriptID(EngineState *s, int, int argc, reg_t *argv);
-reg_t kDisposeScript(EngineState *s, int, int argc, reg_t *argv);
-reg_t kIsObject(EngineState *s, int, int argc, reg_t *argv);
-reg_t kRespondsTo(EngineState *s, int, int argc, reg_t *argv);
-reg_t kNewList(EngineState *s, int, int argc, reg_t *argv);
-reg_t kDisposeList(EngineState *s, int, int argc, reg_t *argv);
-reg_t kNewNode(EngineState *s, int, int argc, reg_t *argv);
-reg_t kFirstNode(EngineState *s, int, int argc, reg_t *argv);
-reg_t kLastNode(EngineState *s, int, int argc, reg_t *argv);
-reg_t kEmptyList(EngineState *s, int, int argc, reg_t *argv);
-reg_t kNextNode(EngineState *s, int, int argc, reg_t *argv);
-reg_t kPrevNode(EngineState *s, int, int argc, reg_t *argv);
-reg_t kNodeValue(EngineState *s, int, int argc, reg_t *argv);
-reg_t kAddAfter(EngineState *s, int, int argc, reg_t *argv);
-reg_t kAddToFront(EngineState *s, int, int argc, reg_t *argv);
-reg_t kAddToEnd(EngineState *s, int, int argc, reg_t *argv);
-reg_t kFindKey(EngineState *s, int, int argc, reg_t *argv);
-reg_t kDeleteKey(EngineState *s, int, int argc, reg_t *argv);
-reg_t kMemoryInfo(EngineState *s, int, int argc, reg_t *argv);
-reg_t kGetSaveDir(EngineState *s, int, int argc, reg_t *argv);
-reg_t kTextSize(EngineState *s, int, int argc, reg_t *argv);
-reg_t kIsItSkip(EngineState *s, int, int argc, reg_t *argv);
-reg_t kMessage(EngineState *s, int, int argc, reg_t *argv);
-reg_t kDoAudio(EngineState *s, int, int argc, reg_t *argv);
-reg_t kDoSync(EngineState *s, int, int argc, reg_t *argv);
-reg_t kResCheck(EngineState *s, int, int argc, reg_t *argv);
-reg_t kSetQuitStr(EngineState *s, int, int argc, reg_t *argv);
-reg_t kShowMovie(EngineState *s, int, int argc, reg_t *argv);
-reg_t kSetVideoMode(EngineState *s, int, int argc, reg_t *argv);
-reg_t kStrSplit(EngineState *s, int, int argc, reg_t *argv);
-reg_t kPlatform(EngineState *s, int, int argc, reg_t *argv);
-reg_t kPalVary(EngineState *s, int, int argc, reg_t *argv);
-
-// for unknown/unnamed kernel function
-reg_t kUnknown(EngineState *s, int, int argc, reg_t *argv);
-
-// for named but unimplemented kernel functions
-reg_t kStub(EngineState *s, int, int argc, reg_t *argv);
-
+reg_t kStrLen(EngineState *s, int argc, reg_t *argv);
+reg_t kGetFarText(EngineState *s, int argc, reg_t *argv);
+reg_t kReadNumber(EngineState *s, int argc, reg_t *argv);
+reg_t kStrCat(EngineState *s, int argc, reg_t *argv);
+reg_t kStrCmp(EngineState *s, int argc, reg_t *argv);
+reg_t kSetSynonyms(EngineState *s, int argc, reg_t *argv);
+reg_t kLock(EngineState *s, int argc, reg_t *argv);
+reg_t kPalette(EngineState *s, int argc, reg_t *argv);
+reg_t kNumCels(EngineState *s, int argc, reg_t *argv);
+reg_t kNumLoops(EngineState *s, int argc, reg_t *argv);
+reg_t kDrawCel(EngineState *s, int argc, reg_t *argv);
+reg_t kCoordPri(EngineState *s, int argc, reg_t *argv);
+reg_t kPriCoord(EngineState *s, int argc, reg_t *argv);
+reg_t kShakeScreen(EngineState *s, int argc, reg_t *argv);
+reg_t kSetCursor(EngineState *s, int argc, reg_t *argv);
+reg_t kMoveCursor(EngineState *s, int argc, reg_t *argv);
+reg_t kShow(EngineState *s, int argc, reg_t *argv);
+reg_t kPicNotValid(EngineState *s, int argc, reg_t *argv);
+reg_t kOnControl(EngineState *s, int argc, reg_t *argv);
+reg_t kDrawPic(EngineState *s, int argc, reg_t *argv);
+reg_t kGetPort(EngineState *s, int argc, reg_t *argv);
+reg_t kSetPort(EngineState *s, int argc, reg_t *argv);
+reg_t kNewWindow(EngineState *s, int argc, reg_t *argv);
+reg_t kDisposeWindow(EngineState *s, int argc, reg_t *argv);
+reg_t kCelWide(EngineState *s, int argc, reg_t *argv);
+reg_t kCelHigh(EngineState *s, int argc, reg_t *argv);
+reg_t kSetJump(EngineState *s, int argc, reg_t *argv);
+reg_t kDirLoop(EngineState *s, int argc, reg_t *argv);
+reg_t kDoAvoider(EngineState *s, int argc, reg_t *argv);
+reg_t kGetAngle(EngineState *s, int argc, reg_t *argv);
+reg_t kGetDistance(EngineState *s, int argc, reg_t *argv);
+reg_t kRandom(EngineState *s, int argc, reg_t *argv);
+reg_t kAbs(EngineState *s, int argc, reg_t *argv);
+reg_t kSqrt(EngineState *s, int argc, reg_t *argv);
+reg_t kTimesSin(EngineState *s, int argc, reg_t *argv);
+reg_t kTimesCos(EngineState *s, int argc, reg_t *argv);
+reg_t kCosMult(EngineState *s, int argc, reg_t *argv);
+reg_t kSinMult(EngineState *s, int argc, reg_t *argv);
+reg_t kTimesTan(EngineState *s, int argc, reg_t *argv);
+reg_t kTimesCot(EngineState *s, int argc, reg_t *argv);
+reg_t kCosDiv(EngineState *s, int argc, reg_t *argv);
+reg_t kSinDiv(EngineState *s, int argc, reg_t *argv);
+reg_t kValidPath(EngineState *s, int argc, reg_t *argv);
+reg_t kFOpen(EngineState *s, int argc, reg_t *argv);
+reg_t kFPuts(EngineState *s, int argc, reg_t *argv);
+reg_t kFGets(EngineState *s, int argc, reg_t *argv);
+reg_t kFClose(EngineState *s, int argc, reg_t *argv);
+reg_t kMapKeyToDir(EngineState *s, int argc, reg_t *argv);
+reg_t kGlobalToLocal(EngineState *s, int argc, reg_t *argv);
+reg_t kLocalToGlobal(EngineState *s, int argc, reg_t *argv);
+reg_t kWait(EngineState *s, int argc, reg_t *argv);
+reg_t kRestartGame(EngineState *s, int argc, reg_t *argv);
+reg_t kDeviceInfo(EngineState *s, int argc, reg_t *argv);
+reg_t kGetEvent(EngineState *s, int argc, reg_t *argv);
+reg_t kCheckFreeSpace(EngineState *s, int argc, reg_t *argv);
+reg_t kFlushResources(EngineState *s, int argc, reg_t *argv);
+reg_t kGetSaveFiles(EngineState *s, int argc, reg_t *argv);
+reg_t kSetDebug(EngineState *s, int argc, reg_t *argv);
+reg_t kCheckSaveGame(EngineState *s, int argc, reg_t *argv);
+reg_t kSaveGame(EngineState *s, int argc, reg_t *argv);
+reg_t kRestoreGame(EngineState *s, int argc, reg_t *argv);
+reg_t kFileIO(EngineState *s, int argc, reg_t *argv);
+reg_t kGetTime(EngineState *s, int argc, reg_t *argv);
+reg_t kHaveMouse(EngineState *s, int argc, reg_t *argv);
+reg_t kJoystick(EngineState *s, int argc, reg_t *argv);
+reg_t kGameIsRestarting(EngineState *s, int argc, reg_t *argv);
+reg_t kGetCWD(EngineState *s, int argc, reg_t *argv);
+reg_t kSort(EngineState *s, int argc, reg_t *argv);
+reg_t kStrEnd(EngineState *s, int argc, reg_t *argv);
+reg_t kMemory(EngineState *s, int argc, reg_t *argv);
+reg_t kAvoidPath(EngineState *s, int argc, reg_t *argv);
+reg_t kParse(EngineState *s, int argc, reg_t *argv);
+reg_t kSaid(EngineState *s, int argc, reg_t *argv);
+reg_t kStrCpy(EngineState *s, int argc, reg_t *argv);
+reg_t kStrAt(EngineState *s, int argc, reg_t *argv);
+reg_t kEditControl(EngineState *s, int argc, reg_t *argv);
+reg_t kDrawControl(EngineState *s, int argc, reg_t *argv);
+reg_t kHiliteControl(EngineState *s, int argc, reg_t *argv);
+reg_t kClone(EngineState *s, int argc, reg_t *argv);
+reg_t kDisposeClone(EngineState *s, int argc, reg_t *argv);
+reg_t kCanBeHere(EngineState *s, int argc, reg_t *argv);
+reg_t kCantBeHere(EngineState *s, int argc, reg_t *argv);
+reg_t kSetNowSeen(EngineState *s, int argc, reg_t *argv);
+reg_t kInitBresen(EngineState *s, int argc, reg_t *argv);
+reg_t kDoBresen(EngineState *s, int argc, reg_t *argv);
+reg_t kBaseSetter(EngineState *s, int argc, reg_t *argv);
+reg_t kAddToPic(EngineState *s, int argc, reg_t *argv);
+reg_t kAnimate(EngineState *s, int argc, reg_t *argv);
+reg_t kDisplay(EngineState *s, int argc, reg_t *argv);
+reg_t kGraph(EngineState *s, int argc, reg_t *argv);
+reg_t kFormat(EngineState *s, int argc, reg_t *argv);
+reg_t kDoSound(EngineState *s, int argc, reg_t *argv);
+reg_t kAddMenu(EngineState *s, int argc, reg_t *argv);
+reg_t kSetMenu(EngineState *s, int argc, reg_t *argv);
+reg_t kGetMenu(EngineState *s, int argc, reg_t *argv);
+reg_t kDrawStatus(EngineState *s, int argc, reg_t *argv);
+reg_t kDrawMenuBar(EngineState *s, int argc, reg_t *argv);
+reg_t kMenuSelect(EngineState *s, int argc, reg_t *argv);
+
+reg_t kLoad(EngineState *s, int argc, reg_t *argv);
+reg_t kUnLoad(EngineState *s, int argc, reg_t *argv);
+reg_t kScriptID(EngineState *s, int argc, reg_t *argv);
+reg_t kDisposeScript(EngineState *s, int argc, reg_t *argv);
+reg_t kIsObject(EngineState *s, int argc, reg_t *argv);
+reg_t kRespondsTo(EngineState *s, int argc, reg_t *argv);
+reg_t kNewList(EngineState *s, int argc, reg_t *argv);
+reg_t kDisposeList(EngineState *s, int argc, reg_t *argv);
+reg_t kNewNode(EngineState *s, int argc, reg_t *argv);
+reg_t kFirstNode(EngineState *s, int argc, reg_t *argv);
+reg_t kLastNode(EngineState *s, int argc, reg_t *argv);
+reg_t kEmptyList(EngineState *s, int argc, reg_t *argv);
+reg_t kNextNode(EngineState *s, int argc, reg_t *argv);
+reg_t kPrevNode(EngineState *s, int argc, reg_t *argv);
+reg_t kNodeValue(EngineState *s, int argc, reg_t *argv);
+reg_t kAddAfter(EngineState *s, int argc, reg_t *argv);
+reg_t kAddToFront(EngineState *s, int argc, reg_t *argv);
+reg_t kAddToEnd(EngineState *s, int argc, reg_t *argv);
+reg_t kFindKey(EngineState *s, int argc, reg_t *argv);
+reg_t kDeleteKey(EngineState *s, int argc, reg_t *argv);
+reg_t kMemoryInfo(EngineState *s, int argc, reg_t *argv);
+reg_t kGetSaveDir(EngineState *s, int argc, reg_t *argv);
+reg_t kTextSize(EngineState *s, int argc, reg_t *argv);
+reg_t kIsItSkip(EngineState *s, int argc, reg_t *argv);
+reg_t kMessage(EngineState *s, int argc, reg_t *argv);
+reg_t kDoAudio(EngineState *s, int argc, reg_t *argv);
+reg_t kDoSync(EngineState *s, int argc, reg_t *argv);
+reg_t kResCheck(EngineState *s, int argc, reg_t *argv);
+reg_t kSetQuitStr(EngineState *s, int argc, reg_t *argv);
+reg_t kShowMovie(EngineState *s, int argc, reg_t *argv);
+reg_t kSetVideoMode(EngineState *s, int argc, reg_t *argv);
+reg_t kStrSplit(EngineState *s, int argc, reg_t *argv);
+reg_t kPlatform(EngineState *s, int argc, reg_t *argv);
+reg_t kPalVary(EngineState *s, int argc, reg_t *argv);
} // End of namespace Sci