3 // Based on FadeCubeBlowOut.r4 by Gordon Williams
6 float c,tm,td,ftime,fric;
7 float[] c_tx(64),c_ty(64),c_x(64),c_y(64),c_z(64),c_vx(64),c_vy(64),c_vz(64),c_rx(64),c_ry(64);
8 const float dx = 0.125;
9 const float dy = 0.125;
19 c_ty[n]=(n-(n%8))/64.0;
20 c_x[n] = (c_tx[n]-0.5)*2+dx;
21 c_y[n] = (c_ty[n]-0.5)*2+dy;
23 c_vx[n] = (c_x[n]+Rand()-0.5);
24 c_vy[n] = (c_y[n]+Rand());
25 c_vz[n] = (1.0+Rand());
26 c_rx[n] = (1.0+Rand())*160;
27 c_ry[n] = (1.0+Rand())*160;
32 gfxBegin(PRIM_QUADLIST);
34 gfxTexCoord(c_tx[n],c_ty[n]);
36 gfxTexCoord(c_tx[n]+dx,1-(c_ty[n]));
38 gfxTexCoord(c_tx[n]+dx,1-(c_ty[n]+dy));
40 gfxTexCoord(c_tx[n],1-(c_ty[n]+dy));
43 gfxTexCoord(c_tx[n],1-(c_ty[n]));
45 gfxTexCoord(c_tx[n]+dx,1-(c_ty[n]));
47 gfxTexCoord(c_tx[n]+dx,1-(c_ty[n]+dy));
49 gfxTexCoord(c_tx[n],1-(c_ty[n]+dy));
52 gfxTexCoord(c_tx[n],1-(c_ty[n]));
54 gfxTexCoord(c_tx[n]+dx,1-(c_ty[n]));
56 gfxTexCoord(c_tx[n]+dx,1-(c_ty[n]+dy));
58 gfxTexCoord(c_tx[n],1-(c_ty[n]+dy));
61 gfxTexCoord(c_tx[n],1-(c_ty[n]));
63 gfxTexCoord(c_tx[n]+dx,1-(c_ty[n]));
65 gfxTexCoord(c_tx[n]+dx,1-(c_ty[n]+dy));
67 gfxTexCoord(c_tx[n],1-(c_ty[n]+dy));
70 gfxTexCoord(c_tx[n],1-(c_ty[n]));
72 gfxTexCoord(c_tx[n]+dx,1-(c_ty[n]));
74 gfxTexCoord(c_tx[n]+dx,1-(c_ty[n]+dy));
76 gfxTexCoord(c_tx[n],1-(c_ty[n]+dy));
79 gfxTexCoord(c_tx[n],1-(c_ty[n]));
81 gfxTexCoord(c_tx[n]+dx,1-(c_ty[n]));
83 gfxTexCoord(c_tx[n]+dx,1-(c_ty[n]+dy));
85 gfxTexCoord(c_tx[n],1-(c_ty[n]+dy));
104 gfxTranslate(0, 0, 2.414);
106 gfxSetTexture(TEXTURE_NEXTPRESET);
107 gfxColour(1, 1, 1, 1);
108 gfxTexRect(-1, 1, 1, -1);
111 gfxSetTexture(TEXTURE_CURRPRESET);
115 td = TIMEPASS*(ftime*10);
120 ftime = ftime + (TIMEPASS*0.225);
132 gfxTranslate(0,0,2.414);
133 gfxTranslate(0,0,-dx);
134 gfxRotate(180,0,1,0);
140 c_vy[x] = c_vy[x] - (td*2);
141 c_x[x] = c_x[x] + (td*c_vx[x]);
142 c_y[x] = c_y[x] + (td*c_vy[x]);
143 c_z[x] = c_z[x] + (td*c_vz[x]);
144 c_vx[x] = c_vx[x]*fric;
145 c_vy[x] = c_vy[x]*fric;
146 c_vz[x] = c_vz[x]*fric;
149 gfxTranslate(c_x[x],c_y[x],c_z[x]);
150 gfxRotate(c_rx[x]*tm,1,0,0);
151 gfxRotate(c_ry[x]*tm,0,1,0);