Stretch Effect and Bounce


Since I sent 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);


 void bounce( unsigned char *whereto, unsigned char *buffer)
     memcpy(whereto, buffer+x+y, 320*200);

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