Mercurial > hg > demos > bussi
comparison demo.c @ 21:cc0a227b7734
Jne.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sat, 23 May 2015 08:46:57 +0300 |
parents | da7ac3f7d014 |
children | feba3bc729a5 |
comparison
equal
deleted
inserted
replaced
20:07316b0cdace | 21:cc0a227b7734 |
---|---|
16 "0", "ENGINE INITTIALISSSIZING!!!!!", NULL); | 16 "0", "ENGINE INITTIALISSSIZING!!!!!", NULL); |
17 | 17 |
18 engine->optPackFilename = "bussi.dat"; | 18 engine->optPackFilename = "bussi.dat"; |
19 engine->optDataPath = NULL; | 19 engine->optDataPath = NULL; |
20 | 20 |
21 engine->optResFlags = DRF_USE_PACK | DRF_PRELOAD_RES;// | DRF_USE_STDIO; | 21 // engine->optResFlags = DRF_USE_PACK | DRF_PRELOAD_RES; |
22 engine->optResFlags = DRF_USE_PACK | DRF_PRELOAD_RES | DRF_USE_STDIO; | |
22 | 23 |
23 engine->optAudioSetup = DM_ASETUP_JSS; | 24 engine->optAudioSetup = DM_ASETUP_JSS; |
24 | 25 |
25 engine->optVidSetup = DM_VSETUP_ASPECT; | 26 engine->optVidSetup = DM_VSETUP_ASPECT; |
26 engine->optVidWidth = 640; | 27 engine->optVidWidth = 640; |
338 } | 339 } |
339 | 340 |
340 int x1 = - ((int)dmQX(engine, tausta, t * 0.2) % (int) dmQX(engine, tausta, 1)), | 341 int x1 = - ((int)dmQX(engine, tausta, t * 0.2) % (int) dmQX(engine, tausta, 1)), |
341 x2 = x1 + dmQX(engine, tausta, 1); | 342 x2 = x1 + dmQX(engine, tausta, 1); |
342 | 343 |
343 int fadeVal; | 344 cblit(tausta, x1, 0, dmQX(engine, tausta, 1), dmQY(engine, tausta, 1), engine->screen); |
344 if (t < 3 || t > 64) | 345 cblit(tausta, x2, 0, dmQX(engine, tausta, 1), dmQY(engine, tausta, 1), engine->screen); |
345 { | |
346 if (t < 3) | |
347 fadeVal = dmLerpSCurveClamp(&fadeLerp, engineGetTime(engine, 0)); | |
348 else | |
349 fadeVal = dmLerpSCurveClamp(&fadeLerp2, engineGetTime(engine, 64)); | |
350 | |
351 dmClearSurface(engine->screen, dmMapRGB(engine->screen, 0,0,0)); | |
352 dmScaledBlitSurface32to32TransparentGA(tausta, x1, 0, dmQX(engine, tausta, 1), dmQY(engine, tausta, 1), engine->screen, fadeVal); | |
353 dmScaledBlitSurface32to32TransparentGA(tausta, x2, 0, dmQX(engine, tausta, 1), dmQY(engine, tausta, 1), engine->screen, fadeVal); | |
354 } | |
355 else | |
356 { | |
357 fadeVal = 255; | |
358 cblit(tausta, x1, 0, dmQX(engine, tausta, 1), dmQY(engine, tausta, 1), engine->screen); | |
359 cblit(tausta, x2, 0, dmQX(engine, tausta, 1), dmQY(engine, tausta, 1), engine->screen); | |
360 } | |
361 | 346 |
362 float qm = sin(t * 0.1 + fftPow * 5) * 0.05, qm2 = qm * 10; | 347 float qm = sin(t * 0.1 + fftPow * 5) * 0.05, qm2 = qm * 10; |
363 dmScaledBlitSurface32to32TransparentGA(aurinko, | 348 ablit(aurinko, |
364 dmCX(engine, 0.8 - dmLerpSCurveClamp(&fadeLerp3, engineGetTime(engine, 0) * 0.01) * 0.3 - qm), | 349 dmCX(engine, 0.8 - dmLerpSCurveClamp(&fadeLerp3, engineGetTime(engine, 0) * 0.01) * 0.3 - qm), |
365 dmCY(engine, 0.05 - qm), | 350 dmCY(engine, 0.05 - qm), |
366 dmQX(engine, aurinko, 1 + qm2), | 351 dmQX(engine, aurinko, 1 + qm2), |
367 dmQY(engine, aurinko, 1 + qm2), | 352 dmQY(engine, aurinko, 1 + qm2), |
368 engine->screen, fadeVal); | 353 engine->screen); |
369 | 354 |
370 // Puut ym. liikennejutut | 355 // Puut ym. liikennejutut |
371 #define DM_MAX_MITEMS 16 | 356 #define DM_MAX_MITEMS 16 |
372 static DMFooItemDef mitems[DM_MAX_MITEMS]; | 357 static DMFooItemDef mitems[DM_MAX_MITEMS]; |
373 if (t > 6) | 358 if (t > 6) |
424 | 409 |
425 ablit(rengas, xc + dmQX(engine, bussi, 0.07), yc2, dmQX(engine, rengas, 1), dmQY(engine, rengas, 1), engine->screen); | 410 ablit(rengas, xc + dmQX(engine, bussi, 0.07), yc2, dmQX(engine, rengas, 1), dmQY(engine, rengas, 1), engine->screen); |
426 ablit(rengas, xc + dmQX(engine, bussi, 0.80), yc2, dmQX(engine, rengas, 1), dmQY(engine, rengas, 1), engine->screen); | 411 ablit(rengas, xc + dmQX(engine, bussi, 0.80), yc2, dmQX(engine, rengas, 1), dmQY(engine, rengas, 1), engine->screen); |
427 ablit(bussi, xc, yc, dmQX(engine, bussi, 1), dmQY(engine, bussi, 1), engine->screen); | 412 ablit(bussi, xc, yc, dmQX(engine, bussi, 1), dmQY(engine, bussi, 1), engine->screen); |
428 } | 413 } |
414 | |
429 | 415 |
430 dmRenderItems(engine, ablit, mitems, DM_MAX_MITEMS, 1); | 416 dmRenderItems(engine, ablit, mitems, DM_MAX_MITEMS, 1); |
431 } | 417 } |
432 | 418 |
433 // | 419 // |
556 xc += fwidth; | 542 xc += fwidth; |
557 } | 543 } |
558 } | 544 } |
559 | 545 |
560 // | 546 // |
561 // Loppufeidi | 547 // Alku- ja Loppufeidi |
562 // | 548 // |
563 if (t > 70) | 549 { |
564 { | 550 static DMLerpContext fadeLerp, fadeLerp2; |
565 static DMLerpContext fadeLerp; | |
566 static SDL_Surface *feidi = NULL; | 551 static SDL_Surface *feidi = NULL; |
567 static BOOL nollattu = FALSE; | 552 static BOOL nollattu = FALSE; |
568 if (!nollattu) | 553 if (!nollattu) |
569 { | 554 { |
570 engineGetResImage(engine, feidi, "feidi.png"); | 555 engineGetResImage(engine, feidi, "feidi.png"); |
571 dmLerpInit(&fadeLerp, 0, 255, 5000); | 556 dmLerpInit(&fadeLerp, 255, 0, 3000); |
572 } | 557 dmLerpInit(&fadeLerp2, 0, 255, 5000); |
573 | 558 } |
574 int fadeTime = engineGetTime(engine, 70); | 559 |
575 dmScaledBlitSurface32to32TransparentGA(feidi, | 560 int fadeVal = -1; |
576 0, 0, engine->screen->w, engine->screen->h, engine->screen, | 561 if (t < 5) |
577 dmLerpSCurveClamp(&fadeLerp, fadeTime)); | 562 fadeVal = dmLerpSCurveClamp(&fadeLerp, engineGetTime(engine, 0)); |
563 else | |
564 if (t > 70) | |
565 fadeVal = dmLerpSCurveClamp(&fadeLerp2, engineGetTime(engine, 70)); | |
566 | |
567 if (fadeVal >= 0) | |
568 { | |
569 dmScaledBlitSurface32to32TransparentGA(feidi, | |
570 0, | |
571 0, | |
572 dmQX(engine, feidi, 1), | |
573 dmQY(engine, feidi, 1), | |
574 engine->screen, | |
575 fadeVal); | |
576 } | |
578 } | 577 } |
579 | 578 |
580 // | 579 // |
581 // Maskaus | 580 // Maskaus |
582 // | 581 // |