Merge pull request #3819 from arnova/subtitles_for_stacks
[vuplus_xbmc] / addons / visualization.vortex / resources / Presets / AlbumArtZoomer.vtx
1 // AlbumArtZoomer.vtx
2 // Author - MrC
3
4 float rot;
5 float zoom;
6 float dxx,dxy,dyx,dyy;
7
8 float   t;
9 float   px = 16;
10 float   py = 12;
11 float   pdx = 1.342;
12 float   pdy = 1;
13 float   basstime = 0;
14
15 void Init()
16 {
17         zoom = 0;
18         rot=Rand();
19         px = 16;
20         py = 12;
21         pdx = 1.342;
22         pdy = 1;
23         basstime = 0;
24 }
25
26 void Quad(float rt, float sz)
27 {
28    dxx = Cos(rt)*sz;
29    dxy = Sin(rt)*sz;
30    dyx = Sin(rt)*sz;
31    dyy = 0.0f-Cos(rt)*sz;
32
33    gfxTexCoord((0.0f-dxx)+(0.0f+dyx),(0.0f-dxy)+(0.0f+dyy));
34    gfxVertex(-1 * 2,1 * 2,0);
35    gfxTexCoord((0.0f+dxx)+(0.0f+dyx),(0.0f+dxy)+(0.0f+dyy));
36    gfxVertex(1 * 2,1 * 2,0);
37    gfxTexCoord((0.0f+dxx)+(0.0f-dyx),(0.0f+dxy)+(0.0f-dyy));
38    gfxVertex(1 * 2,-1 * 2,0);
39    gfxTexCoord((0.0f-dxx)+(0.0f-dyx),(0.0f-dxy)+(0.0f-dyy));
40    gfxVertex(-1 * 2,-1 * 2,0);
41 }
42
43 void Render()
44 {
45         zoom += BASS * 2 * TIMEPASS;
46         rot += TREBLE * 4* TIMEPASS;
47
48         t = TIMEPASS*(BASS+0.25) * 20;
49         px = px + (pdx*t);
50         if (px>28) { pdx = -Abs(pdx); px = 28; }
51         if (px<4) { pdx = Abs(pdx); px = 4; }
52         py = py + (pdy*t);
53         if (py>20) { pdy = -Abs(pdy); py=20; }
54         if (py<4) { pdy = Abs(pdy); py = 4; }
55
56         // draw
57         gfxSetTexture(TEXTURE_ALBUMART);
58         gfxSetAspect(0);
59         gfxTranslate(((px / 28.0f) - 0.5f), (py / 20.0f) - 0.5f, 2.414f);
60         gfxBegin(PRIM_QUADLIST);
61
62         gfxColour(1.0f, 1.0f, 1.0f, 1);
63         Quad(Sin(rot),(Fabs(Sin(zoom)) + 0.25)*5);      
64         gfxEnd();
65         
66 }