Skip to content

Commit

Permalink
SCI: Add subop 9 of kPalVary (used in SCI32, e.g. QFG4 when exiting t…
Browse files Browse the repository at this point in the history
…he caves)
  • Loading branch information
bluegr committed Jan 11, 2013
1 parent 13ec242 commit f2464dc
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 8 deletions.
10 changes: 7 additions & 3 deletions engines/sci/engine/kernel.h
Expand Up @@ -427,18 +427,23 @@ reg_t kUpdatePlane(EngineState *s, int argc, reg_t *argv);
reg_t kSetShowStyle(EngineState *s, int argc, reg_t *argv);
reg_t kGetHighPlanePri(EngineState *s, int argc, reg_t *argv);
reg_t kFrameOut(EngineState *s, int argc, reg_t *argv);

reg_t kIsOnMe(EngineState *s, int argc, reg_t *argv); // kOnMe for SCI2, kIsOnMe for SCI2.1
reg_t kInPolygon(EngineState *s, int argc, reg_t *argv);
reg_t kObjectIntersect(EngineState *s, int argc, reg_t *argv);

reg_t kListIndexOf(EngineState *s, int argc, reg_t *argv);
reg_t kListEachElementDo(EngineState *s, int argc, reg_t *argv);
reg_t kListFirstTrue(EngineState *s, int argc, reg_t *argv);
reg_t kListAllTrue(EngineState *s, int argc, reg_t *argv);
reg_t kInPolygon(EngineState *s, int argc, reg_t *argv);
reg_t kObjectIntersect(EngineState *s, int argc, reg_t *argv);

reg_t kEditText(EngineState *s, int argc, reg_t *argv);
reg_t kMakeSaveCatName(EngineState *s, int argc, reg_t *argv);
reg_t kMakeSaveFileName(EngineState *s, int argc, reg_t *argv);
reg_t kSetScroll(EngineState *s, int argc, reg_t *argv);
reg_t kPalCycle(EngineState *s, int argc, reg_t *argv);
reg_t kPalVaryUnknown(EngineState *s, int argc, reg_t *argv);
reg_t kPalVaryUnknown2(EngineState *s, int argc, reg_t *argv);

// SCI2.1 Kernel Functions
reg_t kText(EngineState *s, int argc, reg_t *argv);
Expand Down Expand Up @@ -513,7 +518,6 @@ reg_t kPalVaryDeinit(EngineState *s, int argc, reg_t *argv);
reg_t kPalVaryChangeTarget(EngineState *s, int argc, reg_t *argv);
reg_t kPalVaryChangeTicks(EngineState *s, int argc, reg_t *argv);
reg_t kPalVaryPauseResume(EngineState *s, int argc, reg_t *argv);
reg_t kPalVaryUnknown(EngineState *s, int argc, reg_t *argv);

reg_t kPaletteSetFromResource(EngineState *s, int argc, reg_t *argv);
reg_t kPaletteSetFlag(EngineState *s, int argc, reg_t *argv);
Expand Down
5 changes: 0 additions & 5 deletions engines/sci/engine/kgraphics.cpp
Expand Up @@ -722,11 +722,6 @@ reg_t kPalVaryPauseResume(EngineState *s, int argc, reg_t *argv) {
return NULL_REG;
}

reg_t kPalVaryUnknown(EngineState *s, int argc, reg_t *argv) {
// Unknown (seems to be SCI32 exclusive)
return NULL_REG;
}

reg_t kAssertPalette(EngineState *s, int argc, reg_t *argv) {
GuiResourceId paletteId = argv[0].toUint16();

Expand Down
10 changes: 10 additions & 0 deletions engines/sci/engine/kgraphics32.cpp
Expand Up @@ -683,6 +683,16 @@ reg_t kSetScroll(EngineState *s, int argc, reg_t *argv) {
return kStub(s, argc, argv);
}

reg_t kPalVaryUnknown(EngineState *s, int argc, reg_t *argv) {
// TODO: Unknown (seems to be SCI32 exclusive)
return kStub(s, argc, argv);
}

reg_t kPalVaryUnknown2(EngineState *s, int argc, reg_t *argv) {
// TODO: Unknown (seems to be SCI32 exclusive)
return kStub(s, argc, argv);
}

reg_t kPalCycle(EngineState *s, int argc, reg_t *argv) {
// Examples: GK1 room 480 (Bayou ritual), LSL6 room 100 (title screen)

Expand Down

0 comments on commit f2464dc

Please sign in to comment.