# HG changeset patch # User Matti Hamalainen # Date 1432249135 -10800 # Node ID dcec61df1633652209bd85fa5c3d1536eb7c7dc6 # Parent 1b96b102f40161978be596bd2e9734aa8a2756c1 More work. diff -r 1b96b102f401 -r dcec61df1633 demo.c --- a/demo.c Fri May 22 01:39:15 2015 +0300 +++ b/demo.c Fri May 22 01:58:55 2015 +0300 @@ -37,15 +37,59 @@ #define FFT_SIZE 128 DMFFTContext fft; +DMResource *teksti = NULL; +DMBitmapFont *font = NULL; + +typedef struct +{ + int layer; + char *filename; + SDL_Surface *img; +} DMItemDef; + + +DMItemDef items[] = +{ + { 1, "viitta.png", NULL }, + { 1, "puu_pv_1.png", NULL }, + { 0, "puu_pv_2.png", NULL }, +}; + +static const int nitems = sizeof(items) / sizeof(items[0]); + + static int demoInit(DMEngineData *engine) { int i; JSSModule *mod = NULL; + SDL_Color pal[DMFONT_NPALETTE]; + DMResource *tmp; + // FFT init dmInitializeFFT(&fft, FFT_SIZE); + // Skrolliteksti + if ((teksti = engineFindResource(engine, "skrolli.txt")) == NULL) + return DMERR_INIT_FAIL; + + // Skrollerin fontti + if ((tmp = engineFindResource(engine, "fontti.dmf")) == NULL) + return DMERR_INIT_FAIL; + + if ((i = dmLoadBitmapFont(tmp, &font)) != DMERR_OK) + return i; + + for (i = 0; i < DMFONT_NPALETTE; i++) + { + pal[i].r = pal[i].g = pal[i].b = i * 8; + pal[i].unused = i > 0 ? 255 : 0; + } + + dmSetBitmapFontPalette(font, pal, 0, DMFONT_NPALETTE); + + // Musa engineGetResModule(engine, mod, "pas2.xm"); if ((i = jssConvertModuleForPlaying(mod)) != DMERR_OK) @@ -60,6 +104,11 @@ jmpPlayOrder(engine->jssPlr, 0); jvmSetGlobalVol(engine->jssDev, 55); + + // Osa kuvadatasta + for (i = 0; i < nitems; i++) + engineGetResImage(engine, items[i].img, items[i].filename); + // Jne srand(15); @@ -71,6 +120,7 @@ { (void) engine; dmEndFFT(&fft); + dmFreeBitmapFont(font); } @@ -165,11 +215,9 @@ } - static int demoRender(DMEngineData *engine) { float t = engineGetTimeDT(engine); - // // Do FFT @@ -206,8 +254,6 @@ { static SDL_Surface *tausta = NULL, *aurinko = NULL, - *puu1 = NULL, - *puu2 = NULL, *bussi = NULL, *rengas = NULL; @@ -222,8 +268,6 @@ dmLerpInit(&fadeLerp3, 0, 1.2, 3000); engineGetResImage(engine, tausta, "tausta_pv.png"); engineGetResImage(engine, aurinko, "aurinko.png"); - engineGetResImage(engine, puu1, "puu_pv_1.png"); - engineGetResImage(engine, puu2, "puu_pv_2.png"); engineGetResImage(engine, bussi, "auto.png"); engineGetResImage(engine, rengas, "rengas.png"); cblit = dmGetScaledBlitFunc(tausta->format, engine->screen->format, DMD_NONE); @@ -261,10 +305,10 @@ // Bussi ajaa sisään - if (t > 4) + if (t > 14) { float - dt = engineGetTime(engine, 4), + dt = engineGetTime(engine, 14), ajelu = dmLerpSCurveClamp(&fadeLerp3, dt), xc = dmCX(engine, -1 + ajelu), yc = dmCY(engine, 0.35 + sin(t * 10) * 0.005), @@ -274,6 +318,12 @@ 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); } + + + // Puut ym. liikennejutut + if (t > 10) + { + } } // @@ -371,7 +421,7 @@ if (!nollattu) { - engineGetResImage(engine, maski, "maze.png"); + engineGetResImage(engine, maski, "maski.png"); cblit = dmGetScaledBlitFunc(maski->format, engine->screen->format, DMD_TRANSPARENT); } @@ -382,5 +432,8 @@ engine->screen); } - return DMERR_OK; + if (t > 70) + return 1; + else + return DMERR_OK; }