SCI: Silence some very chatty warnings

Also, add an example room where kRemapToGray is called
This commit is contained in:
Filippos Karapetis 2012-07-25 12:13:35 +03:00
parent 6ade0e1457
commit e7836beabb
2 changed files with 13 additions and 4 deletions

View File

@ -369,7 +369,8 @@ reg_t kScrollWindow(EngineState *s, int argc, reg_t *argv) {
case 10: // Where, called by ScrollableWindow::where
// TODO
// argv[2] is an unknown integer
kStub(s, argc, argv);
// Silenced the warnings because of the high amount of console spam
//kStub(s, argc, argv);
break;
case 11: // Go, called by ScrollableWindow::scrollTo
// 2 extra parameters here
@ -770,7 +771,8 @@ reg_t kRemapColors32(EngineState *s, int argc, reg_t *argv) {
}
break;
case 3: { // remap to gray
int16 color = argv[1].toSint16(); // this is subtracted from a maximum color value, and can be offset by 10
// Example call: QFG4 room 490 (Baba Yaga's hut) - params are color 253, 75% and 0
int16 color = argv[1].toSint16();
int16 percent = argv[2].toSint16(); // 0 - 100
uint16 unk3 = (argc >= 4) ? argv[3].toUint16() : 0;
warning("kRemapColors: RemapToGray color %d by %d percent (unk3 = %d)", color, percent, unk3);

View File

@ -140,12 +140,14 @@ reg_t kDoAudio(EngineState *s, int argc, reg_t *argv) {
((argv[3].toUint16() & 0xff) << 16) |
((argv[4].toUint16() & 0xff) << 8) |
(argv[5].toUint16() & 0xff);
if (argc == 8) {
// Removed warning because of the high amount of console spam
/*if (argc == 8) {
// TODO: Handle the extra 2 SCI21 params
// argv[6] is always 1
// argv[7] is the contents of global 229 (0xE5)
warning("kDoAudio: Play called with SCI2.1 extra parameters: %04x:%04x and %04x:%04x",
PRINT_REG(argv[6]), PRINT_REG(argv[7]));
}
}*/
} else {
warning("kDoAudio: Play called with an unknown number of parameters (%d)", argc);
return NULL_REG;
@ -244,6 +246,11 @@ reg_t kDoAudio(EngineState *s, int argc, reg_t *argv) {
// Used in Pharkas whenever a speech sample starts (takes no params)
//warning("kDoAudio: Unhandled case 13, %d extra arguments passed", argc - 1);
break;
case 17:
// Seems to be some sort of audio sync, used in SQ6. Silenced the
// warning due to the high level of spam it produces. (takes no params)
//warning("kDoAudio: Unhandled case 17, %d extra arguments passed", argc - 1);
break;
default:
warning("kDoAudio: Unhandled case %d, %d extra arguments passed", argv[0].toUint16(), argc - 1);
}