# HG changeset patch # User Matti Hamalainen # Date 1432360017 -10800 # Node ID cc0a227b77345273fb485dd27e84ec60a1b509f6 # Parent 07316b0cdace4566c0a1cafeb703ac62207f4c57 Jne. diff -r 07316b0cdace -r cc0a227b7734 demo.c --- a/demo.c Sat May 23 05:40:03 2015 +0300 +++ b/demo.c Sat May 23 08:46:57 2015 +0300 @@ -18,7 +18,8 @@ engine->optPackFilename = "bussi.dat"; engine->optDataPath = NULL; - engine->optResFlags = DRF_USE_PACK | DRF_PRELOAD_RES;// | DRF_USE_STDIO; +// engine->optResFlags = DRF_USE_PACK | DRF_PRELOAD_RES; + engine->optResFlags = DRF_USE_PACK | DRF_PRELOAD_RES | DRF_USE_STDIO; engine->optAudioSetup = DM_ASETUP_JSS; @@ -340,32 +341,16 @@ int x1 = - ((int)dmQX(engine, tausta, t * 0.2) % (int) dmQX(engine, tausta, 1)), x2 = x1 + dmQX(engine, tausta, 1); - int fadeVal; - if (t < 3 || t > 64) - { - if (t < 3) - fadeVal = dmLerpSCurveClamp(&fadeLerp, engineGetTime(engine, 0)); - else - fadeVal = dmLerpSCurveClamp(&fadeLerp2, engineGetTime(engine, 64)); - - dmClearSurface(engine->screen, dmMapRGB(engine->screen, 0,0,0)); - dmScaledBlitSurface32to32TransparentGA(tausta, x1, 0, dmQX(engine, tausta, 1), dmQY(engine, tausta, 1), engine->screen, fadeVal); - dmScaledBlitSurface32to32TransparentGA(tausta, x2, 0, dmQX(engine, tausta, 1), dmQY(engine, tausta, 1), engine->screen, fadeVal); - } - else - { - fadeVal = 255; - cblit(tausta, x1, 0, dmQX(engine, tausta, 1), dmQY(engine, tausta, 1), engine->screen); - cblit(tausta, x2, 0, dmQX(engine, tausta, 1), dmQY(engine, tausta, 1), engine->screen); - } + cblit(tausta, x1, 0, dmQX(engine, tausta, 1), dmQY(engine, tausta, 1), engine->screen); + cblit(tausta, x2, 0, dmQX(engine, tausta, 1), dmQY(engine, tausta, 1), engine->screen); float qm = sin(t * 0.1 + fftPow * 5) * 0.05, qm2 = qm * 10; - dmScaledBlitSurface32to32TransparentGA(aurinko, + ablit(aurinko, dmCX(engine, 0.8 - dmLerpSCurveClamp(&fadeLerp3, engineGetTime(engine, 0) * 0.01) * 0.3 - qm), dmCY(engine, 0.05 - qm), dmQX(engine, aurinko, 1 + qm2), dmQY(engine, aurinko, 1 + qm2), - engine->screen, fadeVal); + engine->screen); // Puut ym. liikennejutut #define DM_MAX_MITEMS 16 @@ -426,6 +411,7 @@ ablit(rengas, xc + dmQX(engine, bussi, 0.80), yc2, dmQX(engine, rengas, 1), dmQY(engine, rengas, 1), engine->screen); ablit(bussi, xc, yc, dmQX(engine, bussi, 1), dmQY(engine, bussi, 1), engine->screen); } + dmRenderItems(engine, ablit, mitems, DM_MAX_MITEMS, 1); } @@ -558,23 +544,36 @@ } // - // Loppufeidi + // Alku- ja Loppufeidi // - if (t > 70) { - static DMLerpContext fadeLerp; + static DMLerpContext fadeLerp, fadeLerp2; static SDL_Surface *feidi = NULL; static BOOL nollattu = FALSE; if (!nollattu) { engineGetResImage(engine, feidi, "feidi.png"); - dmLerpInit(&fadeLerp, 0, 255, 5000); + dmLerpInit(&fadeLerp, 255, 0, 3000); + dmLerpInit(&fadeLerp2, 0, 255, 5000); } - int fadeTime = engineGetTime(engine, 70); - dmScaledBlitSurface32to32TransparentGA(feidi, - 0, 0, engine->screen->w, engine->screen->h, engine->screen, - dmLerpSCurveClamp(&fadeLerp, fadeTime)); + int fadeVal = -1; + if (t < 5) + fadeVal = dmLerpSCurveClamp(&fadeLerp, engineGetTime(engine, 0)); + else + if (t > 70) + fadeVal = dmLerpSCurveClamp(&fadeLerp2, engineGetTime(engine, 70)); + + if (fadeVal >= 0) + { + dmScaledBlitSurface32to32TransparentGA(feidi, + 0, + 0, + dmQX(engine, feidi, 1), + dmQY(engine, feidi, 1), + engine->screen, + fadeVal); + } } //