SCI32: GK1 adds another optional parameter to kPalVarySetPercent

This commit is contained in:
Filippos Karapetis 2016-03-01 04:12:03 +02:00
parent 1f217e3834
commit 6ba31a88f0
2 changed files with 3 additions and 1 deletions

View file

@ -213,7 +213,7 @@ static const SciKernelMapSubEntry kPalVary_subops[] = {
{ SIG_SCI16, 6, MAP_CALL(PalVaryPauseResume), "i", NULL }, { SIG_SCI16, 6, MAP_CALL(PalVaryPauseResume), "i", NULL },
#ifdef ENABLE_SCI32 #ifdef ENABLE_SCI32
{ SIG_SCI32, 0, MAP_CALL(PalVarySetVary), "i(i)(i)(ii)", NULL }, { SIG_SCI32, 0, MAP_CALL(PalVarySetVary), "i(i)(i)(ii)", NULL },
{ SIG_SCI32, 1, MAP_CALL(PalVarySetPercent), "(i)(i)", NULL }, { SIG_SCI32, 1, MAP_CALL(PalVarySetPercent), "(i)(i)(i)", NULL },
{ SIG_SCI32, 2, MAP_CALL(PalVaryGetPercent), "", NULL }, { SIG_SCI32, 2, MAP_CALL(PalVaryGetPercent), "", NULL },
{ SIG_SCI32, 3, MAP_CALL(PalVaryOff), "", NULL }, { SIG_SCI32, 3, MAP_CALL(PalVaryOff), "", NULL },
{ SIG_SCI32, 4, MAP_CALL(PalVaryMergeTarget), "i", NULL }, { SIG_SCI32, 4, MAP_CALL(PalVaryMergeTarget), "i", NULL },

View file

@ -798,6 +798,8 @@ reg_t kPalVarySetVary(EngineState *s, int argc, reg_t *argv) {
reg_t kPalVarySetPercent(EngineState *s, int argc, reg_t *argv) { reg_t kPalVarySetPercent(EngineState *s, int argc, reg_t *argv) {
int time = argc > 0 ? argv[0].toSint16() * 60 : 0; int time = argc > 0 ? argv[0].toSint16() * 60 : 0;
int16 percent = argc > 1 ? argv[1].toSint16() : 0; int16 percent = argc > 1 ? argv[1].toSint16() : 0;
// TODO: GK1 adds a third optional parameter here, at the end of chapter 1
// (during the sunset/sunrise sequence, the parameter is 1)
g_sci->_gfxPalette32->setVaryPercent(percent, time, -1, -1); g_sci->_gfxPalette32->setVaryPercent(percent, time, -1, -1);
return NULL_REG; return NULL_REG;
} }