void DreamWebEngine::fadeUpMonFirst() { palToStartPal(); palToEndPal(); memset(_startPal + 231 * 3, 0, 8 * 3); memset(_startPal + 246 * 3, 0, 1 * 3); _fadeDirection = 1; _fadeCount = 63; _colourPos = 0; _numToFade = 128; hangOn(64); playChannel1(26); hangOn(64); }
void DreamWebEngine::fadeUpYellows() { palToEndPal(); memset(_endPal + 231 * 3, 0, 8 * 3); memset(_endPal + 246 * 3, 0, 1 * 3); _fadeDirection = 1; _fadeCount = 63; _colourPos = 0; _numToFade = 128; hangOn(128); }
void DreamWebEngine::fadeDownMon() { palToStartPal(); palToEndPal(); memset(_endPal + 231 * 3, 0, 8 * 3); memset(_endPal + 246 * 3, 0, 1 * 3); _fadeDirection = 1; _fadeCount = 63; _colourPos = 0; _numToFade = 128; hangOn(64); }
void DreamWebEngine::rollEndCreditsGameWon() { _sound->playChannel0(16, 255); _sound->volumeSet(7); _sound->volumeChange(0, -1); multiGet(_mapStore, 75, 20, 160, 160); const uint8 *string = getTextInFile1(3); const int linespacing = _lineSpacing; for (int i = 0; i < 254; ++i) { // Output the text, initially with an offset of 10 pixels, // then move it up one pixel until we shifted it by a complete // line of text. for (int j = 0; j < linespacing; ++j) { waitForVSync(); multiPut(_mapStore, 75, 20, 160, 160); waitForVSync(); // Output up to 18 lines of text uint16 y = 10 - j; const uint8 *tmp_str = string; for (int k = 0; k < 18; ++k) { printDirect(&tmp_str, 75, &y, 160 + 1, true); y += linespacing; } waitForVSync(); multiDump(75, 20, 160, 160); } // Skip to the next text line byte c; do { c = *string++; } while (c != ':' && c != 0); } hangOn(100); panelToMap(); fadeScreenUpHalf(); }