diff options
-rw-r--r-- | engines/sci/engine/kernel.cpp | 135 | ||||
-rw-r--r-- | engines/sci/engine/kernel.h | 138 |
2 files changed, 138 insertions, 135 deletions
diff --git a/engines/sci/engine/kernel.cpp b/engines/sci/engine/kernel.cpp index dc57e0da25..ca940625b3 100644 --- a/engines/sci/engine/kernel.cpp +++ b/engines/sci/engine/kernel.cpp @@ -38,141 +38,6 @@ namespace Sci { -// New kernel functions -reg_t kStrLen(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kGetFarText(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kReadNumber(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kStrCat(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kStrCmp(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kSetSynonyms(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kLock(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kPalette(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kNumCels(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kNumLoops(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kDrawCel(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kCoordPri(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kPriCoord(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kShakeScreen(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kSetCursor(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kMoveCursor(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kShow(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kPicNotValid(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kOnControl(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kDrawPic(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kGetPort(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kSetPort(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kNewWindow(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kDisposeWindow(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kCelWide(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kCelHigh(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kSetJump(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kDirLoop(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kDoAvoider(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kGetAngle(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kGetDistance(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kRandom(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kAbs(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kSqrt(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kTimesSin(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kTimesCos(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kCosMult(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kSinMult(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kTimesTan(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kTimesCot(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kCosDiv(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kSinDiv(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kValidPath(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kFOpen(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kFPuts(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kFGets(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kFClose(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kMapKeyToDir(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kGlobalToLocal(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kLocalToGlobal(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kWait(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kRestartGame(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kDeviceInfo(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kGetEvent(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kCheckFreeSpace(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kFlushResources(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kGetSaveFiles(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kSetDebug(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kCheckSaveGame(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kSaveGame(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kRestoreGame(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kFileIO(EngineState *s, int funct_nr, int argc, reg_t *argp); -reg_t kGetTime(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kHaveMouse(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kJoystick(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kGameIsRestarting(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kGetCWD(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kSort(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kStrEnd(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kMemory(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kAvoidPath(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kParse(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kSaid(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kStrCpy(EngineState *s, int funct_nr, int argc, reg_t *argp); -reg_t kStrAt(EngineState *s, int funct_nr, int argc, reg_t *argp); -reg_t kEditControl(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kDrawControl(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kHiliteControl(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kClone(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kDisposeClone(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kCanBeHere(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kSetNowSeen(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kInitBresen(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kDoBresen(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kBaseSetter(EngineState *s, int funct_nr, int argc, reg_t *argp); -reg_t kAddToPic(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kAnimate(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kDisplay(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kGraph(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kFormat(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kDoSound(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kAddMenu(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kSetMenu(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kGetMenu(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kDrawStatus(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kDrawMenuBar(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kMenuSelect(EngineState *s, int funct_nr, int argc, reg_t *argv); - -reg_t kLoad(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kUnLoad(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kScriptID(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kDisposeScript(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kIsObject(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kRespondsTo(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kNewList(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kDisposeList(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kNewNode(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kFirstNode(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kLastNode(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kEmptyList(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kNextNode(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kPrevNode(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kNodeValue(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kAddAfter(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kAddToFront(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kAddToEnd(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kFindKey(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kDeleteKey(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kMemoryInfo(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kGetSaveDir(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kTextSize(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kIsItSkip(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kMessage(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t kDoAudio(EngineState *s, int funct_nr, int argc, reg_t *argv); -reg_t k_Unknown(EngineState *s, int funct_nr, int argc, reg_t *argv); - -// The Unknown/Unnamed kernel function -reg_t kstub(EngineState *s, int funct_nr, int argc, reg_t *argv); -// for unimplemented kernel functions -reg_t kNOP(EngineState *s, int funct_nr, int argc, reg_t *argv); -// for kernel functions that don't do anything -reg_t kFsciEmu(EngineState *s, int funct_nr, int argc, reg_t *argv); -// Emulating "old" kernel functions on the heap - #define SCI_MAPPED_UNKNOWN_KFUNCTIONS_NR 0x75 // kfunct_mappers below doubles for unknown kfunctions diff --git a/engines/sci/engine/kernel.h b/engines/sci/engine/kernel.h index 68df325341..68ebbcc10f 100644 --- a/engines/sci/engine/kernel.h +++ b/engines/sci/engine/kernel.h @@ -322,6 +322,144 @@ struct SciKernelFunction { extern SciKernelFunction kfunct_mappers[]; + + +// New kernel functions +reg_t kStrLen(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kGetFarText(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kReadNumber(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kStrCat(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kStrCmp(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kSetSynonyms(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kLock(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kPalette(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kNumCels(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kNumLoops(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kDrawCel(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kCoordPri(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kPriCoord(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kShakeScreen(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kSetCursor(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kMoveCursor(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kShow(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kPicNotValid(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kOnControl(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kDrawPic(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kGetPort(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kSetPort(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kNewWindow(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kDisposeWindow(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kCelWide(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kCelHigh(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kSetJump(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kDirLoop(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kDoAvoider(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kGetAngle(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kGetDistance(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kRandom(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kAbs(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kSqrt(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kTimesSin(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kTimesCos(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kCosMult(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kSinMult(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kTimesTan(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kTimesCot(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kCosDiv(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kSinDiv(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kValidPath(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kFOpen(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kFPuts(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kFGets(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kFClose(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kMapKeyToDir(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kGlobalToLocal(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kLocalToGlobal(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kWait(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kRestartGame(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kDeviceInfo(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kGetEvent(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kCheckFreeSpace(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kFlushResources(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kGetSaveFiles(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kSetDebug(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kCheckSaveGame(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kSaveGame(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kRestoreGame(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kFileIO(EngineState *s, int funct_nr, int argc, reg_t *argp); +reg_t kGetTime(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kHaveMouse(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kJoystick(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kGameIsRestarting(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kGetCWD(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kSort(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kStrEnd(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kMemory(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kAvoidPath(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kParse(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kSaid(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kStrCpy(EngineState *s, int funct_nr, int argc, reg_t *argp); +reg_t kStrAt(EngineState *s, int funct_nr, int argc, reg_t *argp); +reg_t kEditControl(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kDrawControl(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kHiliteControl(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kClone(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kDisposeClone(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kCanBeHere(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kSetNowSeen(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kInitBresen(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kDoBresen(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kBaseSetter(EngineState *s, int funct_nr, int argc, reg_t *argp); +reg_t kAddToPic(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kAnimate(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kDisplay(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kGraph(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kFormat(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kDoSound(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kAddMenu(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kSetMenu(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kGetMenu(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kDrawStatus(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kDrawMenuBar(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kMenuSelect(EngineState *s, int funct_nr, int argc, reg_t *argv); + +reg_t kLoad(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kUnLoad(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kScriptID(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kDisposeScript(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kIsObject(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kRespondsTo(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kNewList(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kDisposeList(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kNewNode(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kFirstNode(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kLastNode(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kEmptyList(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kNextNode(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kPrevNode(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kNodeValue(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kAddAfter(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kAddToFront(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kAddToEnd(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kFindKey(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kDeleteKey(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kMemoryInfo(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kGetSaveDir(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kTextSize(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kIsItSkip(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kMessage(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kDoAudio(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t k_Unknown(EngineState *s, int funct_nr, int argc, reg_t *argv); + +// The Unknown/Unnamed kernel function +reg_t kstub(EngineState *s, int funct_nr, int argc, reg_t *argv); +// for unimplemented kernel functions +reg_t kNOP(EngineState *s, int funct_nr, int argc, reg_t *argv); +// for kernel functions that don't do anything +reg_t kFsciEmu(EngineState *s, int funct_nr, int argc, reg_t *argv); +// Emulating "old" kernel functions on the heap + + } // End of namespace Sci #endif // SCI_ENGIENE_KERNEL_H |