Stretch Effect and Bounce

Cremax

Since I sent bounce.zip to Adok for Hugi #13 for the bonus archive (I dunno why, but what the hell ;) I guess I should post some words about it. Because of the effect you can't read what I wrote. I take no responsibility for any damage or/and if anyone except that bitch gets offended. Don't tell me I didn't warn you. ;)

The bouncing effect was simply made by adding random values to the co-ordinates where the picture is to be displayed on the screen.

The stretch effect is just a simple blur in the x-axis! For each step, you subtract the number of steps from each pixel of the image. This is what I mean:

` c += (unsigned char) *(img+ytab[y]+x+i-count);`

Then you just plot the pixel with the 'c' color divided by the number of steps.

Here is the source of the two routines:

``` void stretch(unsigned char *img, int posx, int posy, int s, unsigned
char *mem)
{
long c=0;
int count=s;
int totpix=count+1;  // add one in case of zero

for(int y=0;y<200;y++)
for(int x=0;x<320;x++)
{
for(int i=0;i<totpix;i++)
c += (unsigned char) *(img+ytab[y]+x+i-count);

mem[ytab[y+posy]+x+posx] = (c/totpix);

c=0;
}
}

void bounce( unsigned char *whereto, unsigned char *buffer)
{
x=rand()*15/64000;
y=ytab[(rand()*15/64000)];
memcpy(whereto, buffer+x+y, 320*200);
}```

Happy coding...
c r e m a x /