void startUp() { readEeprom(); for(char i = 0; i < 12; i++) { crossfade[i] = save_compbuff[i]; } setFanSpeed(255); _delay_us(100); setFanSpeed(save_fanspeed); crossFade(100); for(char i = 0; i < 12; i++) { crossfade[i] = 0; } }
/** Play FLA movies @param flaName FLA movie name */ void playFlaMovie(int8 *flaName) { int32 i; int32 quit = 0; int32 currentFrame; int16 tmpValue; int8 fileNamePath[256]; stopSamples(); // Play FLA PCX instead of movies if (cfgfile.Movie == CONF_MOVIE_FLAPCX) { fla_pcxList(flaName); return; } stopMusic(); // take extension if movie name has it for (i = 0; i < (int32)strlen(flaName); i++) { if(flaName[i] == '.') { flaName[i] = 0; } } sprintf(fileNamePath, FLA_DIR); strcat(fileNamePath, flaName); strcat(fileNamePath, FLA_EXT); _fadeOut = -1; fadeOutFrames = 0; if (!fropen2(&frFla, fileNamePath, "rb")) return; workVideoBufferCopy = workVideoBuffer; frread(&frFla, &flaHeaderData.version, 6); frread(&frFla, &flaHeaderData.numOfFrames, 4); frread(&frFla, &flaHeaderData.speed, 1); frread(&frFla, &flaHeaderData.var1, 1); frread(&frFla, &flaHeaderData.xsize, 2); frread(&frFla, &flaHeaderData.ysize, 2); frread(&frFla, &samplesInFla, 2); frread(&frFla, &tmpValue, 2); for (i = 0; i < samplesInFla; i++) { int16 var0; int16 var1; frread(&frFla, &var0, 2); frread(&frFla, &var1, 2); flaSampleTable[i] = var0; } if (!strcmp(flaHeaderData.version, "V1.3")) { currentFrame = 0; if (!quit) { do { if (currentFrame == flaHeaderData.numOfFrames) quit = 1; else { processFrame(); scaleFla2x(); copyScreen(workVideoBuffer, frontVideoBuffer); // Only blit to screen if isn't a fade if (_fadeOut == -1) { convertPalToRGBA(palette, paletteRGBACustom); if (!currentFrame) // fade in the first frame fadeIn(paletteRGBACustom); else setPalette(paletteRGBACustom); } // TRICKY: fade in tricky if (fadeOutFrames >= 2) { flip(); convertPalToRGBA(palette, paletteRGBACustom); fadeToPal(paletteRGBACustom); _fadeOut = -1; fadeOutFrames = 0; } currentFrame++; fpsCycles(flaHeaderData.speed + 1); readKeys(); if (skipIntro) break; } } while (!quit); } } if (cfgfile.CrossFade) { crossFade(frontVideoBuffer, paletteRGBACustom); } else { fadeToBlack(paletteRGBACustom); } stopSamples(); }