changeset 21:cc0a227b7734

Jne.
author Matti Hamalainen <ccr@tnsp.org>
date Sat, 23 May 2015 08:46:57 +0300
parents 07316b0cdace
children f3f7e884db2a
files demo.c
diffstat 1 files changed, 28 insertions(+), 29 deletions(-) [+]
line wrap: on
line diff
--- 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);
+        }
     }
 
     //