SCI2.1: Some stubs used by SQ6
- Added a stub and some info about the (large) kScrollWindow kernel call - Added info about kMovePlaneItems svn-id: r55163
This commit is contained in:
parent
c2acabd710
commit
12b44f2fc0
3 changed files with 107 additions and 3 deletions
|
@ -471,6 +471,7 @@ reg_t kWinHelp(EngineState *s, int argc, reg_t *argv);
|
|||
reg_t kGetConfig(EngineState *s, int argc, reg_t *argv);
|
||||
reg_t kCelInfo(EngineState *s, int argc, reg_t *argv);
|
||||
reg_t kSetLanguage(EngineState *s, int argc, reg_t *argv);
|
||||
reg_t kScrollWindow(EngineState *s, int argc, reg_t *argv);
|
||||
#endif
|
||||
|
||||
reg_t kDoSoundInit(EngineState *s, int argc, reg_t *argv);
|
||||
|
|
|
@ -546,6 +546,7 @@ static SciKernelMapEntry s_kernelMap[] = {
|
|||
{ MAP_CALL(GetConfig), SIG_EVERYWHERE, "ro", NULL, NULL },
|
||||
{ MAP_CALL(CelInfo), SIG_EVERYWHERE, "iiiiii", NULL, NULL },
|
||||
{ MAP_CALL(SetLanguage), SIG_EVERYWHERE, "r", NULL, NULL },
|
||||
{ MAP_CALL(ScrollWindow), SIG_EVERYWHERE, "(.*)", NULL, NULL },
|
||||
|
||||
// SCI2.1 Empty Functions
|
||||
|
||||
|
@ -586,13 +587,11 @@ static SciKernelMapEntry s_kernelMap[] = {
|
|||
|
||||
// SCI2.1 unmapped functions - TODO!
|
||||
// Bitmap
|
||||
// MovePlaneItems - used by SQ6
|
||||
// MovePlaneItems - used by SQ6 to scroll through the inventory via the up/down buttons
|
||||
// Font
|
||||
// ScrollWindow - used by Phantasmagoria 1 and SQ6
|
||||
// AddLine - used by Torin's Passage to highlight the chapter buttons
|
||||
// DeleteLine - used by Torin's Passage to delete the highlight from the chapter buttons
|
||||
// UpdateLine = used by LSL6
|
||||
// GetConfig - used by Phantasmagoria 1
|
||||
// SetPalStyleRange
|
||||
// NewRoom
|
||||
// MorphOn - used by SQ6
|
||||
|
|
|
@ -1517,6 +1517,110 @@ reg_t kCelInfo(EngineState *s, int argc, reg_t *argv) {
|
|||
return s->r_acc;
|
||||
}
|
||||
|
||||
reg_t kScrollWindow(EngineState *s, int argc, reg_t *argv) {
|
||||
// Used by Phantasmagoria 1 and SQ6. In SQ6, it is used for the messages
|
||||
// shown in the scroll window at the bottom of the screen.
|
||||
|
||||
// TODO: This is all a stub/skeleton, thus we're invoking kStub() for now
|
||||
kStub(s, argc, argv);
|
||||
|
||||
switch (argv[0].toUint16()) {
|
||||
case 0: // Init
|
||||
// 2 parameters
|
||||
// argv[1] points to the scroll object (e.g. textScroller in SQ6)
|
||||
// argv[2] is an integer (e.g. 0x32)
|
||||
break;
|
||||
case 1: // Show message
|
||||
// 5 or 6 parameters
|
||||
// Seems to be called with 5 parameters when the narrator speaks, and
|
||||
// with 6 when Roger speaks
|
||||
// argv[1] unknown (usually 0)
|
||||
// argv[2] the text to show
|
||||
// argv[3] a small integer (e.g. 0x32)
|
||||
// argv[4] a small integer (e.g. 0x54)
|
||||
// argv[5] optional, unknown (usually 0)
|
||||
warning("kScrollWindow: '%s'", s->_segMan->getString(argv[2]).c_str());
|
||||
break;
|
||||
case 2: // Clear
|
||||
// 2 parameters
|
||||
// TODO
|
||||
break;
|
||||
case 3: // Page up
|
||||
// 2 parameters
|
||||
// TODO
|
||||
break;
|
||||
case 4: // Page down
|
||||
// 2 parameters
|
||||
// TODO
|
||||
break;
|
||||
case 5: // Up arrow
|
||||
// 2 parameters
|
||||
// TODO
|
||||
break;
|
||||
case 6: // Down arrow
|
||||
// 2 parameters
|
||||
// TODO
|
||||
break;
|
||||
case 7: // Home
|
||||
// 2 parameters
|
||||
// TODO
|
||||
break;
|
||||
case 8: // End
|
||||
// 2 parameters
|
||||
// TODO
|
||||
break;
|
||||
case 9: // Resize
|
||||
// 3 parameters
|
||||
// TODO
|
||||
break;
|
||||
case 10: // Where
|
||||
// 3 parameters
|
||||
// TODO
|
||||
break;
|
||||
case 11: // Go
|
||||
// 4 parameters
|
||||
// TODO
|
||||
break;
|
||||
case 12: // Insert
|
||||
// 7 parameters
|
||||
// TODO
|
||||
break;
|
||||
case 13: // Delete
|
||||
// 3 parameters
|
||||
// TODO
|
||||
break;
|
||||
case 14: // Modify
|
||||
// 7 or 8 parameters
|
||||
// TODO
|
||||
break;
|
||||
case 15: // Hide
|
||||
// 2 parameters
|
||||
// TODO
|
||||
break;
|
||||
case 16: // Show
|
||||
// 2 parameters
|
||||
// TODO
|
||||
break;
|
||||
case 17: // Destroy
|
||||
// 2 parameters
|
||||
// TODO
|
||||
break;
|
||||
case 18: // Text
|
||||
// 2 parameters
|
||||
// TODO
|
||||
break;
|
||||
case 19: // Reconstruct
|
||||
// 3 parameters
|
||||
// TODO
|
||||
break;
|
||||
default:
|
||||
error("kScrollWindow: unknown subop %d", argv[0].toUint16());
|
||||
break;
|
||||
}
|
||||
|
||||
return s->r_acc;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
} // End of namespace Sci
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue